Grafana & OpenTelemetry
Navigator’s efficiency story is backed by real session telemetry, not estimates. Claude Code can export metrics over OpenTelemetry, and Navigator reads them to report what actually happened in your session.
The principle: measure your own sessions, don’t trust the headline numbers. Any figures below are example output.
Enabling telemetry
Claude Code exports metrics when OpenTelemetry is turned on:
export CLAUDE_CODE_ENABLE_TELEMETRY=1With telemetry enabled, Claude Code emits session metrics that Navigator can read back through nav-stats and surface at session start.
What’s available
Navigator’s stats pipeline (scripts/session-stats.sh) draws on both .agent/ doc sizing and OpenTelemetry data:
- Token usage — documentation loaded vs. the baseline of loading everything
- Cache hit rate — prompt cache efficiency, read from OpenTelemetry
- Cost — session spend, when exported by Claude Code
- Active time — time saved estimates derived from token deltas
- Context availability — how much of the context window remains for work
Surfacing the metrics
Run the efficiency report on demand:
"Show my stats" → nav-statsExample output (your numbers will differ):
💾 CACHE PERFORMANCE
Cache efficiency: 100.0% (perfect)
📈 SESSION METRICS
Context usage: 35% (excellent)
Efficiency score: 94/100 (excellent)nav-stats reads cache efficiency from OpenTelemetry, computes token savings from your actual doc footprint, and turns them into a score with actionable recommendations. nav-start can also surface a quick read at session start.
Visualizing in Grafana (optional)
Because the data is standard OpenTelemetry, you can point Claude Code’s exporter at any OTLP-compatible backend — Grafana, Prometheus, or your own collector — and build dashboards over cache hit rate, token usage, and cost across sessions. Navigator does not require this; it reads the same metrics locally through nav-stats.