Auto-instrumenting Spring Batch 6 with OpenTelemetry — four silent failures
Wiring Spring Boot 4 + Spring Batch 6 to emit job/step traces into Tempo and spring_batch_* metrics into Prometheus — and the four config traps that each failed the same way: green build, zero errors, nothing exported.
26 Aug 2026
·
5 min read
Metering the agent fleet: cost & metrics for Claude Code subagents
If you distribute a Claude Code agent to a marketplace, every developer who runs it spends your reasoning budget and yours to answer for. Here is how I wired Claude Code's built-in OpenTelemetry into a Grafana/LGTM stack to watch cost, tokens and tool decisions — per run.
19 Jul 2026
·
12 min read
An intro to TraceQL: how to actually query traces in Grafana Tempo
TraceQL has a tiny surface area but a few sharp edges. Here is the mental model — span scopes, the spanset, aggregates, and structural operators — that makes it click and stops the silent zero-result queries.
24 Jun 2026
·
6 min read
Manual tracing in Spring Boot with OpenTelemetry: @WithSpan, hand-built spans, and the traps in between
Wiring OpenTelemetry into Spring Boot 4 — the annotation way and the manual Tracer way — plus the context model that ties them together and the gotchas that cost me time (a silent @WithSpan, http/protobuf vs gRPC, and Docker's 'is a directory').
23 Jun 2026
·
6 min read