Code RED Newsletter 40
Hi there,
Last week the whole Dash0 team got together in Dubrovnik, Croatia, for our offsite. With colleagues working remotely all over the world, having everyone in one place doesn't happen often, and it's pretty special when it does. We talked through where the company is heading and what we want to get done, split up into department sessions, and filled the rest with dinners, karaoke and early morning runs.
And then straight back on the road. Earlier this week Adriana Villela and I brought Your Agent Did What? to KCD UK in Edinburgh (check my write-up here). On Thursday, Julia Furst Morgado gave the keynote Uninstrumented at Cloud Native Days Poland in Warsaw, and I gave Rethinking Observability as a Platform Product.
In Focus: Stable, by Default
OpenTelemetry spent the last couple of weeks moving things from experimental to default. The Java agent is about to emit the stable database conventions out of the box, hostmetrics has a way to version its metrics, OTTL (the Collector's transformation language) was promoted to stable for traces, metrics and logs, and OBI (OpenTelemetry eBPF Instrumentation) shipped its first 1.0 release candidates. That's what people running OTel in production have been asking for, but it isn't free: new defaults rename the attributes that dashboards, alerts and integrations depend on, and somebody has to do that migration. Around those: a convention that's only just getting started, a game built on 416.5 billion log records, and an MMO that head-samples everything.
The OpenTelemetry Java agent 3.0 is almost here - preview it today
Database and code semantic conventions are stable, and with Java agent 3.0 they become the default. db.statement becomes db.query.text, db.system becomes db.system.name, messaging jumps from semantic conventions v1.24 to v1.43 (still experimental), and Zipkin exporter support is removed in preview mode. The release candidate is out now, and the post shows how to emit old and new side by side. This is the work hiding behind the word "stable": every dashboard, alert and saved query keyed on the old names has to move, and it's a lot easier to find them while you can still run both.
Versioned metrics: Shipping the first Release Candidate metrics in hostmetrics
The System SIG's answer to the same migration problem is to version the metrics themselves. The hostmetrics process scraper can now emit the release candidate process metrics (process.threads becomes process.thread.count, for example) behind two alpha feature gates, both off by default: one turns on the new names, the other turns off the old. The plan is to wait about six months for a release candidate. If the scraper then meets the stable criteria, the gates move to beta and the old metrics are dropped by default. I like this a lot. Users get a published migration path with a stated timeline, which is more than most conventions have had so far.
Severity Feud
How do people actually use log severity levels? Michele Mancioppi built a game to test whether you know. We took 416.5 billion log records from tens of thousands of services across hundreds of organizations and split them by severity: the six OpenTelemetry levels (FATAL, ERROR, WARN, INFO, DEBUG, TRACE) plus UNKNOWN for records where none was set. You get seven unlabeled slices and have to say which is which. I won't spoil it, but the fact that UNKNOWN gets its own slice is already a hint about how often nobody sets a severity at all. Guesses are anonymous, and the aggregated results might turn up at KubeCon.
Zero-code trace-log correlation with OBI
You get paged, the trace points at a failing service, and the logs that would explain it have no trace context. OBI can now add it without touching the application: it uses eBPF to see which request a thread is serving when it writes to stdout or stderr, and injects trace_id and span_id into the line before your log shipper picks it up. It needs a recent kernel and elevated privileges, and the post is upfront about the gaps. For the services nobody is ever going to re-instrument, correlation becomes something the platform adds.
Carbon as a first-class signal: Bringing software carbon intensity to OpenTelemetry
If the Java agent shows the end of the road for a convention, this is the start of it. Diana Todea wrote up her Observability Summit Europe keynote on bringing the Green Software Foundation's Software Carbon Intensity score into OpenTelemetry. The working group has agreed on scope and priorities, starting with showing engineers the carbon impact of a change, and she's clear these are proposals, not conventions yet. One line is good advice for any new signal: "A forecast should not be presented as equivalent to a directly measured value."
How Eve Online Leverages Head Based Sampling to Observe "Fun"
Eve Online runs 3.4 million lines of Stackless Python 2.7 on a single logical processor, inside a deterministic lockstep simulation. Nicholas Herring from CCP Games explains why tail sampling is off the table: "I can't even get the spans out fast enough to do tail base sampling without killing the rest of the simulation." So everything is head-sampled, with a dynamic moving-average sampler and deterministic sampling for simulation frames. He knows it "makes a lot of people clutch their pearls and gasp." But the sampling strategy has to fit the system you're observing, and EVE's simulation can't spare the cycles for anything else.
Choice Cuts
Most of what's left is about agents, and the same two questions keep coming up: what should an agent be allowed to do, and how do you find out afterwards what it actually did?
Agent-first IDP: how big tech and the clouds are preparing platforms for agents
If your developer portal's usage drops, is the platform failing? Eugene Sergueev from Flo Health argues it may be the opposite once agents call platform capabilities directly: "successful automation looks like a drop in usage." His playbook pulls together what Block, Uber, LinkedIn, Spotify and the big clouds have published, and one of its nine practices is end-to-end traces of every agent scenario on the OTel GenAI conventions. If agents become platform users, their traces are the closest thing you'll have to product analytics.
Redesigning source control at Anthropic
Anthropic now merges over 30,000 changes a day, up from about 2,500 in May, so it built its own version control system for agent clients. The part I'd steal is smaller: "superfan" Claudes, one per component, sitting in a Slack channel with access to that component’s telemetry and logs. A narrow job with a clear boundary is probably the most realistic way to put an agent on watch today.
Zero-Person SOC: From Pipe Dream to Prototype
Mirco Kater used Agent0, which "was never meant to be a security tool," to catch an autonomous pentesting agent probing our dev environment. The detections are simple: a burst of 4xx and 5xx responses above baseline, and a run of 4xx errors followed by a sudden 200. Despite the title, people are still in the loop: alerts land in Slack, and an engineer asks Agent0 to dig in. In Mirco's words, "a simple control running today beats a clever one sitting in the backlog."
Don't give AI agents root. Make them propose the next system state.
Mauro Morales argues for immutable hosts, where agents can inspect the running system but any change goes through the build pipeline as a pull request. "If you give an agent root access and expect a well-written AGENTS.md file to prevent an unrecoverable mistake, you are fooling yourself." It fits what Adriana and I keep arguing: if your telemetry can't tell you afterwards what an agent did, you want the change written down before it happens.
OpenTelemetry Community Awards 2026
Nominations for the third OpenTelemetry Community Awards are open until October 30, and the winners will be announced at KubeCon North America. Code, docs, answering questions on Slack: it all counts. Go nominate someone.
A few things also shipped in Dash0 over the last couple of weeks. AI SDLC Insights now supports GitHub Copilot App and OpenCode, and its Overview tab has recommended actions that turn spend, adoption and pull request data into a few findings worth acting on. And synthetic checks can now run from private locations inside your own network.
If you'd like to build along, Liat Hoffman is running a live workshop on November 5 (11:00 ET / 17:00 CET): From Zero to SLO in Five Prompts. Bring a service you own and your coding agent. In an hour you go from OpenTelemetry instrumentation to an availability SLO defined as code, with deploy markers on the error budget and burn-rate alerts that page on fast burns and open tickets for slow leaks.
Until next time: check which attribute names your dashboards depend on, set your log severities, sample on purpose, and give your agents a pull request instead of root.
Kasper, out!
Hi, my name is Kasper!
I'm Kasper Borg Nissen, Director of Developer Relations at Dash0. I'm passionate about Observability and bridging the gap toward developers through Platform Engineering. I've previously worked 8 years as a platform engineer, I'm a former co-chair of KubeCon+CloudNativeCon, and I'm genuinely obsessed with all things cloud-native and open standards.
Dash0 Inc., 169 Madison Ave STE 38218,
New York, New York,10016, United States,