Releases: stefanpenner/otel-explorer
Releases · stefanpenner/otel-explorer
Release list
v0.12.0
Changelog
- 17440b2 Add ARC deployment example (Step 5 D1): runner OTel + Collector config
- d0d2b08 Add
ote diff: semantic git-diff for traces (files, GitHub runs, Tempo/Jaeger) - f23a0de Add a per-service Resources (deployment/infra context) section
- 49fe2c0 Add an LLM Usage token-burn summary for GenAI traces
- ca277ca Add gRPC and code-origin samples; verify-sources covers all sources
- 958d0c8 Add rename detection to trace diff (git -M style)
- df89c73 Add scripts/verify-sources.sh to keep the source catalog honest
- b00a549 Add span provenance: colored source hints + inspector Source line
- 9ee33d1 Add step number to step span ID (disambiguate same-named steps)
- 9b4f77e Align job/step span IDs with runner's native OTel contract
- 4d7447c Build the production enricher chain via DefaultEnricher
- c676de2 Dedupe API/runner spans in BuildTreeFromSpans (fix "two build sections")
- 5b8122f Dedupe API/runner spans once at combine, not per-output
- 1a5310c Dedupe only runner-vs-API span pairs, keep distinct colliding steps
- ee694e6 Delete pkg/output's parallel span tree; render via analyzer.BuildTreeFromSpans
- f555990 Delete the legacy plain-text report exporter (contradicted the styled report)
- 5b68eb0 Detect Chrome traces structurally, not by byte-scanning for "ph"
- f09e7a6 Deterministic IDs: SHA-256 (truncated) instead of MD5
- e368517 Enricher: read vcs.ref.head.revision (semconv) with vcs.revision fallback
- 1e69c1d Fix 11 bugs from second code review pass
- b18c3bb Fix 34 bugs found in code review
- 32a6105 Fix 5 medium-priority bugs: timezone, JobsFetched, filter shadowing, perfetto ts=0, store races
- 9580760 Fix Tempo trace ingestion in ote (--tempo)
- bca64d3 Fix bazel build: wire missing instrumentation test dep (gazelle)
- b337c32 Fix lint blindness: uppercase span kind, int attrs reach deprecation checks
- feef7ba Fix panic in trends hourly patterns when no queue data exists
- d929d71 Fix receiver-mode hangs and --clear-cache swallowing work
- 390593a Fix span nesting in --output=stdout/non-TUI timeline
- db39824 Fix span-derived success rates: correct denominators, int attrs reach enricher
- 08b5fd9 Identify runner spans by scope/service.name, not a custom attribute
- f326802 Include Resources & LLM Usage summaries in markdown output
- b9416a5 Inject OTel span status and kind into enrichment attributes
- 325bc8d Inspector: first-class Kubernetes section + "Scheduled by" link label
- f24a221 Land fuzz-harness suite: 24 targets across parse/analysis/emit/render + invariants
- 7e7cc36 Lint deprecated database attributes (stable semconv renames)
- 07f45cd Make --errors-only catch exceptions; fix filter status/int matching
- 895de37 Make ctrl+c work on URL/diff paths; stop silently ignoring flags
- a836e54 Make ranked trend lists deterministic on ties
- 5e75433 Mark gRPC spans failed on non-zero rpc.grpc.status_code
- fae6fd8 Merge ai into main: GenAI/GraphQL trace viz, semconv & resource/LLM summaries, exception & feature-flag surfacing, plus fixes (ote --version os.Exit; --otel zero-ID round-trip idempotency)
- 03a56df Recognize stable v1.30+ database & messaging semconv names
- 7b29c3e Recognize vcs.change.id/base + emit PR context on API spans
- 30e2d55 Remove dead code flagged by staticcheck (10 unused funcs/types/fields)
- 32af005 Repair bazel build + document trace-diff rename detection
- 3dd8a8a Repair two rotted e2e-smoke checks (pre-existing failures on main)
- 571af1d Report 'file not found' for path-shaped args instead of 'Invalid GitHub URL'
- 2740dff Route
ote --versionthrough config instead of os.Exit mid-parse - e4be9c7 Show URL target for HTTP client spans lacking a route
- 2c6885a Show inline semantic detail in the TUI timeline rows
- 28baa96 Show source-code origin for otherwise-undetailed spans
- cc16999 Small verified fixes: UTC listing window, markdown escaping, semconv gaps
- ff2bc3d Stop silently parsing unrecognized input to zero spans
- fed3010 Store integrity: seeded runs can't corrupt sync bounds; retries invalidate stale jobs
- aefaa72 Surface downstream service (peer) + link the source catalog from README
- f339425 Surface exception span events onto the span in the timeline
- ef36aa0 Surface feature-flag evaluations on spans in the timeline
- 65f627e TLA+: model-check 7 subsystems, fix 13 findings, wire specs into CI
- fd4db38 Treat all-zero hex span/trace IDs the same as empty (parse idempotency)
- 242cdf8 UX: announce long rate-limit waits; ctrl+c quits during TUI search input
- c2c5e46 Visualize GenAI/LLM traces + surface semantic detail inline
- 92186e3 Visualize GraphQL + GenAI tool/agent/retrieval spans
- daf7ffe go mod tidy: mark termenv as a direct dependency
- b3f0403 gofmt: normalize pre-existing formatting drift (mechanical, no logic change)
- d8aabd9 proto-JSON fidelity: accept numeric intValue, keep zero-ID spans
v0.11.0
v0.10.0
Changelog
- f106634 Add --output=slack and a configurable Perfetto UI origin
- 8c292cb Add Hourly Patterns section: run volume and queue p50 by UTC hour
- 3c72fc6 Add Typical Run view: per-workflow median Gantt with percentile bands
- 9d2e9d1 Add
ote trends --facet=branch|event|runnercomparison - 5dd5416 Add branch classifier: upstream (trunk/release) vs feature
- 31fd695 Add e2e smoke matrix script; mark shipped roadmap items in VISION
- c4bf73f Add flake scoring: same-SHA divergence and transition-count score
- 981c3e0 Add json/xlsx/doc/html export formats via a shared report IR
- 2b59d4b Add ote sync: incremental run/job mirror in a local SQLite store
- b9fd8ec Add run-vs-typical comparison to single-run analysis
- b138540 Allow sync to backfill deeper history than previously stored
- ce606f8 Analyze trends from the local store when the repo has been synced
- 6d5ad59 Capture branch, event, and runner labels for faceting
- 9bb7c7a Derive header metrics from spans when no GitHub URL results exist
- f0cd90f Fix CLI output routing, color gating, and URL parsing
- b9865a3 Fix GitHub API client correctness and resilience issues
- 44ed97b Fix TUI panics, mis-clicks, and multibyte handling
- 628aed0 Fix analyzer span-tree, counting, and timeline-origin bugs
- 5d19428 Fix empty trace-file reports; make rates honest; golden + consumer tests
- c91258a Fix ingestion and Perfetto export parsing bugs
- 15d3f29 Link typical-view percentiles to exemplar runs
- bce34e4 Make --facet=all job counts reflect reality under sampling
- 364beff Make all four export formats world-class: insights, KPI cards, charts
- 2adea37 Make trend tables self-consistent; fix ambiguous duration format
- 8d1f98a Mark exemplars as shipped in the vision pillars
- 05df6c2 Merge ai into main: export formats (json/xlsx/doc/html/slack), world-class reports, faceting, API meter, configurable Perfetto UI
- 57400de Overhaul trend sampling: per-workflow targets, eval harness, 8-way fetch
- 2efba28 Render queue time as a dim prefix on typical-view bars
- f7258ef Render the full styled report when the OTLP receiver stops
- 29af6df Revalidate stale cache entries with ETag/If-None-Match
- 550f358 Seed the local store with completed runs from normal analysis
- 5bfa2c2 Set service.name on synthesized GHA spans (#53)
- 184c005 Show "–" for unknown success rates instead of a false percentage
- 4341db2 Support crossed/nested facets: --facet=branch,event,runner
- 58a019e Surface GitHub API request count + rate-limit impact in the UI
- 86bfa8e Track run attempts; report retry burn in the summary
v0.9.3
Changelog
- b3ca3b6 Fix artifact size to sum across all workflow runs
v0.9.2
v0.9.1
Changelog
- 490d730 Add --version flag, fix 0ms span filtering
v0.9.0
Changelog
- 2ffd111 Drop log spans below 1% of parent duration
v0.8.1
v0.8.0
v0.7.0
Changelog
- cac23b9 Add log-to-spans: extract sub-step OTel spans from GHA step logs