The Viable Systems Model, and where my team fits

A viable system continues to function in a changing environment. We want our companies—and some teams—to be sustainable this way. How does your team contribute? Does your team have all the components of a viable system… and should it? Stafford Beer (1926-2002) coined the Viable Systems Model to describe what it takes. A Viable System …

Read moreThe Viable Systems Model, and where my team fits

Run the OpenTelemetry Collector in Kubernetes for Front-End Tracing

TL;DR: Run the OpenTelemetry Collector helm chart with –values=values.yaml pointing to the values.yaml in this gist. Use kubectl get services to find the collector’s URL. The rest of this blog post walks through the whole process of setting this up. This will teach you the why and how of each step, so that you can adjust it to your needs. There’s also …

Read moreRun the OpenTelemetry Collector in Kubernetes for Front-End Tracing

Five Measurements You Should Make and Then Ignore (Plus One to Watch Intently)

Are we succeeding as a software team?Well, if our job were feature delivery, we could look at the parade of JIRA tickets in our “complete” column. That is only part of our job, though.The purpose of a software team is to provide valued capabilities to customers, internal or external. To do that, our software has …

Read moreFive Measurements You Should Make and Then Ignore (Plus One to Watch Intently)

Every SaaS Integration needs an Upstream Point of Contact

Can you see a pattern in these examples? SendGrid sends emails for you. You provide it with a webhook URL.  It uses the webhook to “call you back” about what happens with those emails, like when they are dropped because your request was invalid. On AWS, you need to listen to an event bus if …

Read moreEvery SaaS Integration needs an Upstream Point of Contact

startSpan vs startActiveSpan in OpenTelemetry JS

TL;DR: startSpan is easier and measures a duration. Use it if your work won’t create any subspans. startActiveSpan requires that you pass a callback for the work in the span, and then any spans created during that work will be children of this active span. I’m instrumenting a Node.js app with OpenTelemetry, and adding some …

Read morestartSpan vs startActiveSpan in OpenTelemetry JS