Span or Attribute? in OpenTelemetry custom instrumentation
Instead of emitting a log, add attributes to the current span. OpenTelemetry makes this easy, and Honeycomb makes it free. This gets you more data correlation.
Instead of emitting a log, add attributes to the current span. OpenTelemetry makes this easy, and Honeycomb makes it free. This gets you more data correlation.
TL;DR: right now OTel Logs are a little harder to use than span events, but otherwise they are superior. Today I wanted to send OTLP Logs and see them correlated with my traces. First problem: logs aren’t available in the OTel JavaScript SDK. They’re still in development. (It is the end of 2023.) There is … Read moreSending OTLP Logs from JavaScript
When I make a website, even a toy one, I want to get telemetry. Has anyone visited it? Did my JavaScript crash? Little things. I want to send this with OpenTelemetry, because it’s the industry standard and all. Currently (November 2023), that requires a whole JavaScript build chain to package up the libraries etc etc. … Read moreOpenTelemetry in a script tag
I often say that software these days is complex. But is it? In Cynefin terms, it’s more like an airplane than a family: it’s complicated. Given enough expertise, all the code, lots of data, and enough time, we could analyze the causal structure of any particular system behavior. We can reason about complicated systems. When … Read moreSoftware is Complicated, Given Enough Time
Here’s what I know so far, from a lay-developer’s perspective (no AI or ML experience). So you’re a coder, and you’ve been asked to integrate with ChatGPT. What do you need to know? ChatGPT is an example of a Large Language Model (LLM). LLMs are a kind of machine learning (call it AI if you … Read moreA Developer’s Starting Point for Integrating with LLMs
Check this out, I have a chapter in this free mini-book: https://landing.confluxhq.com/optimising-fast-flow This came out of a talk at QCon London… the in-person version was better, but they don’t record them anymore.
For years, I’ve been wishing I had Honeycomb events for pageviews on my web site. But doing that in WordPress is hard, it probably involves PHP, and I don’t have time to dive into that world. Forget diving; I can dip my toe into it with the help of ChatGPT. With its help, I got … Read moreUsing ChatGPT in Anger (not real anger)
Have you ever looked at someone else’s Honeycomb query and thought “what’s up with ‘trace.parent_id does not exist’? Or wondered how Honeycomb’s home screen counts Total Requests? This is totally confusing. Here, I made a video about how to do it and why it works like that.
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
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)