Traces, Tempo and the LGTM stack
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
Building agents on the JVM with Embabel
·
Part 5
Embabel Agents Being Tracked Through LGTM Observability
I pointed my Embabel agents at a local Grafana LGTM stack and saw nothing. Three configuration gotchas later, every GOAP planning step, LLM call and tool loop shows up as a span in Tempo. Here is the full walkthrough, with screenshots.
26 Jul 2026
·
8 min read
Traces, Tempo and the LGTM stack
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
Traces, Tempo and the LGTM stack
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
Traces, Tempo and the LGTM stack
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