v0.10.0 is a minor release with new gRPC/HTTP2 context propagation, Go channel span links, Go and JVM runtime metrics, SunRPC and expanded GenAI instrumentation, signal-specific dynamic process selection, configuration v2 groundwork, and extensive reliability and security hardening.
New instrumentation and context propagation
- Added gRPC/HTTP2 context propagation through
sk_msgHPACK injection. (#1832) - Added span links for direct and buffered Go channel handoffs, including runtime offset discovery, event reconstruction, OTLP export, and documentation. (#2239, #2272, #2281, #2417, #2432, #2491)
- Added SunRPC/ONC RPC protocol detection and extraction. (#2210)
- Added a health-check endpoint for monitoring OBI pipeline liveness, with Unix domain socket support for both health checks and OTLP export. (#2136, #2224)
- Added automatic OpenShift cluster-name detection. (#2268)
- Added multi-segment
iovecsupport to the log enricher and split NUL-delimited log lines. (#2078)
Generative AI and extraction coverage
- Aligned GenAI attributes with the OpenTelemetry semantic conventions and normalized OpenAI, Anthropic, Gemini, Qwen, and Bedrock messages into the common parts-based representation. (#2005)
- Added LLM tool-call detection for OpenAI, Anthropic, Gemini, and Qwen. (#2118)
- Added vector retrieval observability for RAG pipelines, including Pinecone, Qdrant, Milvus, Zilliz, Chroma, Weaviate, and generic retrieval endpoints. (#2087)
- Added MCP tool-call argument and result extraction with independent attribute-selection controls for potentially sensitive payloads. (#2408, #2518)
- Added extraction for retrieval
top_k, nested rerank formats, and embedding dimensions derived from response data. (#2409, #2410, #2411) - Added SSE streaming support for OpenAI-compatible, Anthropic, and Qwen responses, increased the accumulated HTTP capture limit to 256 KiB, and improved recovery from truncated TLS and request-body captures. (#2394, #2407, #2505)
- Added JSON-RPC details to span debug output and fixed top-level JSON fallback extraction. (#2385, #2353)
Runtime metrics and dynamic process selection
- Added initial Go runtime metrics for memory limits, completed GC cycles,
GOMAXPROCS, andGOGC. (#2255) - Added HotSpot JVM memory metrics using GCTracer uprobes and USDT probes, together with the generic USDT attachment support needed to collect them. (#2305)
- Expanded the dynamic PID selector into signal-specific views for application traces, application metrics, network metrics, and stats metrics. (#2250, #2279, #2340, #2421, #2442)
- Added per-process service identity and resource attributes to the dynamic selector and gated runtime metrics through its application-metrics view. (#2458, #2461)
Metrics, exporters, and configuration
- Added TCP byte-transfer and retransmission metrics, a network flow packet counter, and a configurable StatsO11y ring-buffer wakeup threshold. (#2157, #2124, #2294, #2198)
- Added internal pipeline queue occupancy metrics to help diagnose backpressure and blocked-node failures. (#2430)
- Added resource-attribute selection for metric and trace target information. (#2403)
- Made TCP RTT histograms respect the configured histogram aggregation. (#2105)
- Added configuration v2 design, schema, migration documentation, typed builders, parity validation, and internal bidirectional conversion for capture rules, telemetry, HTTP settings, network metadata, and enrichment. Configuration v2 remains internal groundwork and is not yet a public runtime configuration interface. (#1351, #2252, #2253, #2288, #2321, #2322, #2462, #2465, #2466, #2467, #2468)
- Added selector-specific route refinements to config v2 export and fixed daemon log-format conversion. (#2523, #2524)
Security hardening
- Bounded protocol and trace-context parsing to fresh, frame-local data, including Go
readMimeHeader, UDP DNS, Kafka request headers, SSL payloads, Java SSL receive packets, and HTTP/2 HPACK traceparent entries. (#2233, #2230, #2235, #2237, #2218, #2359) - Corrected Java proxy stream range handling so reused application buffers cannot contribute stale bytes to telemetry. (#2229)
- Bounded Node.js inspector I/O and fallback JavaScript source scanning to prevent stalled endpoints, special files, or oversized sources from blocking instrumentation. (#2231, #2244)
- Rejected symlinked Java classpath paths below process roots to prevent monitored processes from redirecting route harvesting into host filesystem paths. (#2499)
- Hardened user-space protocol processing against resource exhaustion and panics by bounding SunRPC fragments and safely handling oversized chunked HTTP response lengths and missing MQTT response buffers. (#2516, #2520, #2515)
- Switched Go connection and manual-span helpers to explicit user-memory reads for pointers originating in instrumented processes. (#2192, #2522)
- Restricted privileged VM-test dispatches to users with write access and prevented Docker credentials from being exposed to workflows executing arbitrary dispatched refs. (#2352)
- Added automatic query-parameter redaction for emitted URLs, including legacy AWS signed-URL credentials. (#2415, #2509)
- Prevented raw GenAI provider errors from bypassing attribute selection through span status messages. (#2503)
- Updated security-affected Go, Java, JavaScript, and Python dependencies, including gRPC, pgx, Flask, Werkzeug, Requests, urllib3, and
@grpc/grpc-js. (#2106, #2107, #2308, #2309, #2311, #2316, #2317, #2318, #2319)
Runtime, tracing, and protocol fixes
- Fixed stale trace context across Kafka requests, Go HTTP processing, and gRPC client connections. (#2226, #2232, #2131)
- Fixed Java trace correlation across virtual-thread mounts, added context-aware JVM attachment, and improved attach sequencing. (#2261, #2360, #2388)
- Added support for JDK 26 and 27. (#2287)
- Moved JVM attachment tooling to a hardened internal fork. (#2307, #2326, #2351)
- Fixed route harvesting and matching behavior for Rails, Sinatra, Java, wildcard fallbacks, and cancellation. (#2364, #2440, #2423, #2501)
- Fixed metrics exporter memory growth, stale reporter-pool cache entries, OTEL Collector shutdown hangs, and readiness-check connection and goroutine leaks. (#2184, #2354, #2387, #2436)
- Fixed SQL++ query text extraction, Kafka operation mapping, and JSON-RPC span names. (#2214, #2306, #1967)
- Removed environment-based language detection that could produce false positives from Kubernetes Service Links. (#2271)
- Fixed forwarding of host processes through Kubernetes discovery. (#2490)
- Fixed USDT probe cleanup when links are closed. (#2500)
Behavior changes and compatibility notes
url.queryis now emitted by default for HTTP spans when present, and clienturl.fullincludes the query string. Sensitive values are automatically redacted, the redaction list can be extended withattributes.extra_redact_query_params, andurl.querycan be excluded through trace attribute selection. (#2415)- GraphQL documents are no longer exported by default. (#2240)
- Java route harvesting is disabled by default while JVM-blocking edge cases are investigated. (#2303)
- The
ipcontext-propagation value is deprecated and now warns without enabling propagation. The undocumentedhttpalias has been removed; useheadersinstead. (#2278) - The dynamic selector moved from the AppO11y-specific context to the global context and now exposes signal-specific views. Direct users of the previous internal field will need to migrate to the selector API. (#2250, #2340)
Performance and validation improvements
- Improved Redis, Memcached, and unmatched TCP parsing performance. (#2202, #2197, #2148)
- Improved large-buffer parsing and reduced queue allocation and locking overhead. (#2191, #2397, #2413)
- Expanded verifier testing across RHEL and Amazon Linux 2023 kernels and increased verifier-test coverage and reliability. (#2171, #2386, #2484)
Build, CI, docs, and project maintenance
- Added cosign bundles when signing release artifacts. (#2480)
- Updated the project to Go 1.25.11 and LLVM 22. (#2439, #2172)
- Added the OBI Store Demo example. (#2257)
- Added the OpenTelemetry eBPF Instrumentation Generative AI Policy. (#2152)
- Added
k8s-cachedocumentation and updated developer checklists for adding NetO11y and StatsO11y metrics. (#1886, #2339)
Dependencies
- Update otel/ebpf-instrument Docker tag to v0.9.0 by @renovate[bot] in #2097
- Update otel/opentelemetry-collector-contrib Docker tag to v0.152.0 by @renovate[bot] in #2091
- Update Docker by @renovate[bot] in #2098
- Update Github Actions by @renovate[bot] in #2103
- Update otel/opentelemetry-collector-contrib Docker tag to v0.152.0 by @renovate[bot] in #2109
- Update fluent/fluent-bit Docker tag to v3.2.10 by @renovate[bot] in #2108
- Update nginx Docker tag to v1.31.0 by @renovate[bot] in #2117
- Update fluent/fluent-bit Docker tag to v5 by @renovate[bot] in #2110
- Update module google.golang.org/grpc to v1.79.3 [SECURITY] by @renovate[bot] in #2107
- Update otel/opentelemetry-collector-contrib Docker tag to v0.152.0 by @renovate[bot] in #2121
- Update grpc-dotnet monorepo to 2.80.0 by @renovate[bot] in #2122
- Update dependency io.grpc:grpc-netty-shaded to v1.75.0 [SECURITY] by @renovate[bot] in #2106
- Update grafana/otel-lgtm Docker tag to v0.28.0 by @renovate[bot] in #2133
- Update dependency zizmor to v1.25.2 by @renovate[bot] in #2130
- Update nginx:1.31.0-alpine Docker digest to dc48b7a by @renovate[bot] in #2137
- Lock file maintenance by @renovate[bot] in #2139
- Refresh pip-compile outputs by @renovate[bot] in #2140
- Update dependency zizmor to v1.25.2 by @renovate[bot] in #2141
- Update Docker by @renovate[bot] in #2143
- Update Github Actions by @renovate[bot] in #2150
- Update nginx:1.31.0-alpine Docker digest to 2f07d83 by @renovate[bot] in #2149
- Update Python by @renovate[bot] in #2155
- Update Java - autoclosed by @renovate[bot] in #2154
- Update dependency @grpc/proto-loader to ^0.8.0 by @renovate[bot] in #2153
- Update nginx Docker tag to v1.31.1 by @renovate[bot] in #2160
- Lock file maintenance by @renovate[bot] in #2163
- Refresh pip-compile outputs by @renovate[bot] in #2164
- Update otel/opentelemetry-collector-contrib Docker tag to v0.153.0 by @renovate[bot] in #2169
- Update Docker - autoclosed by @renovate[bot] in #2167
- Update Github Actions by @renovate[bot] in #2173
- Update dependency uvicorn to v0.48.0 by @renovate[bot] in #2180
- Update plugin com.diffplug.spotless to v8.6.0 by @renovate[bot] in #2181
- Update plugin com.gradleup.shadow to v9.4.2 by @renovate[bot] in #2182
- Update grafana/tempo Docker tag to v3 by @renovate[bot] in #2186
- Update quay.io/prometheus/prometheus Docker tag to v3.12.0 by @renovate[bot] in #2190
- Update prom/prometheus Docker tag to v3.12.0 by @renovate[bot] in #2189
- Lock file maintenance by @renovate[bot] in #2205
- Refresh pip-compile outputs by @renovate[bot] in #2206
- Update integration test pinned images by @renovate[bot] in #2220
- Update LVH kernel images by @renovate[bot] in #2221
- Update quay.io/prometheus/prometheus Docker tag to v3 by @renovate[bot] in #2223
- Update Docker by @renovate[bot] in #2219
- Update Github Actions by @renovate[bot] in #2236
- Update Python to v0.49.0 by @renovate[bot] in #2247
- Update Java by @renovate[bot] in #2246
- Refresh pip-compile outputs by @renovate[bot] in #2266
- Lock file maintenance by @renovate[bot] in #2265
- Update LVH kernel images by @renovate[bot] in #2275
- Update httpd Docker tag to v2.4.68 by @renovate[bot] in #2273
- Update quay.io/prometheus/prometheus Docker tag to v3.12.0 by @renovate[bot] in #2270
- Update Docker by @renovate[bot] in #2274
- Update Github Actions to v7 by @renovate[bot] in #2291
- Update otel/opentelemetry-collector-contrib Docker tag to v0.154.0 by @renovate[bot] in #2290
- Update opensearchproject/opensearch Docker tag to v3.7.0 by @renovate[bot] in #2286
- Update Python to v2.15.0 by @renovate[bot] in #2298
- Update Java by @renovate[bot] in #2297
- Update httpd:2.4.68-alpine Docker digest to 23a864d by @renovate[bot] in #2296
- Update httpd:2.4.68-alpine Docker digest to 0dfa341 by @renovate[bot] in #2302
- Update dependency @grpc/grpc-js to v1.14.4 [SECURITY] by @renovate[bot] in #2308
- Update dependency flask to v3.1.3 [SECURITY] by @renovate[bot] in #2309
- Update dependency pytest to v9 [SECURITY] by @renovate[bot] in #2320
- Update dependency uuid to v13.0.1 [SECURITY] by @renovate[bot] in #2310
- Update dependency werkzeug to v3.1.6 [SECURITY] by @renovate[bot] in #2311
- Update dependency idna to v3.15 [SECURITY] by @renovate[bot] in #2312
- Update dependency pyasn1 to v0.6.3 [SECURITY] by @renovate[bot] in #2313
- Update dependency pygments to v2.20.0 [SECURITY] by @renovate[bot] in #2314
- Update dependency python-socketio to v5.14.0 [SECURITY] by @renovate[bot] in #2315
- Update dependency requests to v2.33.0 [SECURITY] by @renovate[bot] in #2316
- Update dependency urllib3 to v2.7.0 [SECURITY] by @renovate[bot] in #2317
- Update module github.com/jackc/pgx/v5 to v5.9.2 [SECURITY] by @renovate[bot] in #2318
- Update module google.golang.org/grpc to v1.79.3 [SECURITY] by @renovate[bot] in #2319
- Update dependency configargparse to v1.7.5 by @renovate[bot] in #2323
- Update dependency flask-cors to v6.0.5 by @renovate[bot] in #2324
- Update dependency geventhttpclient to v2.3.9 by @renovate[bot] in #2325
- Update dependency markupsafe to v2.1.5 by @renovate[bot] in #2327
- Update dependency protobuf to v6.33.6 by @renovate[bot] in #2328
- Update dependency rsa to v4.9.1 by @renovate[bot] in #2329
- Update dependency Werkzeug to v3.1.8 by @renovate[bot] in #2330
- Update dependency cachetools to v5.5.2 by @renovate[bot] in #2331
- Update dependency certifi to v2024.12.14 by @renovate[bot] in #2332
- Update dependency certifi to v2025.11.12 by @renovate[bot] in #2333
- Update dependency charset-normalizer to v3.4.7 by @renovate[bot] in #2334
- Update dependency click to v8.4.1 by @renovate[bot] in #2335
- Update dependency google-api-core to v2.31.0 by @renovate[bot] in #2337
- Update dependency google-auth to v2.53.0 by @renovate[bot] in #2338
- Update dependency faker to v40.23.0 by @renovate[bot] in #2336
- Update dependency googleapis-common-protos to v1.75.0 by @renovate[bot] in #2341
- Update dependency greenlet to v3.5.1 by @renovate[bot] in #2342
- Update dependency grpcio to v1.81.1 by @renovate[bot] in #2343
- Update dependency grpcio-health-checking to v1.81.1 by @renovate[bot] in #2345
- Update dependency idna to v3.18 by @renovate[bot] in #2346
- Update dependency iniconfig to v2.3.0 by @renovate[bot] in #2347
- Update dependency locust to v2.44.3 by @renovate[bot] in #2348
- Update dependency msgpack to v1.2.0 by @renovate[bot] in #2349
- Update dependency proto-plus to v1.28.0 by @renovate[bot] in #2350
- Update dependency google-auth to v2.54.0 by @renovate[bot] in #2355
- Update dependency psutil to v7.2.2 by @renovate[bot] in #2356
- Update dependency pyasn1-modules to v0.4.2 by @renovate[bot] in #2357
- Update dependency python-engineio to v4.13.2 by @renovate[bot] in #2358
- Update dependency python-json-logger to v4.1.0 by @renovate[bot] in #2361
- Update dependency python-socketio to v5.16.2 by @renovate[bot] in #2362
- Update dependency requests to v2.34.2 by @renovate[bot] in #2363
- Update dependency tzdata to v2025.3 by @renovate[bot] in #2366
- Update dependency websocket-client to v1.9.0 by @renovate[bot] in #2367
- Update dependency wsproto to v1.3.2 by @renovate[bot] in #2368
- Update dependency zope-interface to v8.5 by @renovate[bot] in #2370
- Update dependency zope-event to v6.2 by @renovate[bot] in #2369
- Update dependency cachetools to v7 by @renovate[bot] in #2373
- Update dependency gevent to v26 - autoclosed by @renovate[bot] in #2375
- Update dependency MarkupSafe to v3 by @renovate[bot] in #2376
- Update dependency packaging to v26 by @renovate[bot] in #2377
- Update dependency protobuf to v7 by @renovate[bot] in #2378
- Update dependency tzdata to v2026 by @renovate[bot] in #2379
- Update dependency certifi to v2026 by @renovate[bot] in #2374
- Update dependency pytest to v9.1.0 by @renovate[bot] in #2380
- Update dependency python-socketio to v5.16.3 by @renovate[bot] in #2390
- Update dependency google-auth to v2.55.0 by @renovate[bot] in #2391
- Update Docker by @renovate[bot] in #2393
- Update httpd:2.4.68-alpine Docker digest to f259fa1 by @renovate[bot] in #2392
- Update quay.io/prometheus/prometheus Docker tag to v3.12.0 by @renovate[bot] in #2372
- Update otel/opentelemetry-collector-contrib Docker tag to v0.154.0 by @renovate[bot] in #2371
- Update integration test pinned images by @renovate[bot] in #2389
- Lock file maintenance by @renovate[bot] in #2382
- Refresh pip-compile outputs by @renovate[bot] in #2383
- Update Github Actions by @renovate[bot] in #2406
- Update dependency certifi to v2026.6.17 by @renovate[bot] in #2412
- Update dependency greenlet to v3.5.2 by @renovate[bot] in #2419
- Split Go Renovate dependency groups by @MrAlias in #2418
- Update nginx Docker tag to v1.31.2 by @renovate[bot] in #2422
- Update NPM by @renovate[bot] in #2424
- Update Java by @renovate[bot] in #2425
- Update Python to v0.137.1 by @renovate[bot] in #2426
- Update NPM to v14 by @renovate[bot] in #2427
- Update nginx:1.31.2-alpine Docker digest to 81595dd by @renovate[bot] in #2428
- Update nginx:1.31.2-alpine Docker digest to 81595dd by @renovate[bot] in #2429
- Update dependency msgpack to v1.2.1 by @renovate[bot] in #2435
- Update dependency locust to v2.44.4 by @renovate[bot] in #2434
- Update dependency pytest to v9.1.1 by @renovate[bot] in #2441
- Update httpd:2.4.68-alpine Docker digest to 1b766f1 by @renovate[bot] in #2444
- Update nginx:1.31.2-alpine Docker digest to 2031656 by @renovate[bot] in #2446
- Update dependency python-engineio to v4.13.3 by @renovate[bot] in #2448
- Update dependency zizmor to v1.26.1 by @renovate[bot] in #2449
- Update module github.com/vektah/gqlparser/v2 to v2.5.35 by @renovate[bot] in #2452
- Update go toolchain directive to v1.26.4 by @renovate[bot] in #2456
- Update dependency zizmor to v1.26.1 by @renovate[bot] in #2457
- Update Docker Go packages by @renovate[bot] in #2455
- Update module github.com/shirou/gopsutil/v4 to v4.26.5 by @renovate[bot] in #2451
- Update go-playground validator packages by @renovate[bot] in #2450
- Update Docker by @renovate[bot] in #2469
- Update nginx:1.31.2-alpine Docker digest to 1a8724a by @renovate[bot] in #2470
- Update integration test pinned images by @renovate[bot] in #2471
- Update grafana monorepo by @renovate[bot] in #2474
- Update LVH kernel images by @renovate[bot] in #2472
- Update nginx:1.31.2-alpine Docker digest to 54f2a90 by @renovate[bot] in #2481
- Update curlimages/curl Docker tag to v8.21.0 by @renovate[bot] in #2482
- Update Github Actions by @renovate[bot] in #2477
- Update Github Actions (major) by @renovate[bot] in #2476
- Update dependency click to v8.4.2 by @renovate[bot] in #2485
- Bump github.com/quic-go/quic-go from 0.59.0 to 0.59.1 by @dependabot[bot] in #2487
- Bump github.com/quic-go/quic-go from 0.59.0 to 0.59.1 in /configs/offsets/gin by @dependabot[bot] in #2489
- Guard Docker major Renovate updates by @MrAlias in #2463
- Update OpenTelemetry Go contrib packages by @renovate[bot] in #2454
- Update otel/opentelemetry-collector-contrib Docker tag to v0.155.0 by @renovate[bot] in #2488
- Update NPM by @renovate[bot] in #2493
- Update Java to v1.82.1 by @renovate[bot] in #2492
- Update Python by @renovate[bot] in #2494
- Update Rust by @renovate[bot] in #2495
- Update dependency google-auth to v2.55.1 by @renovate[bot] in #2511
- Update dependency greenlet to v3.5.3 by @renovate[bot] in #2521
- Update golang.org/x packages by @renovate[bot] in #2527
- Update Google Cloud Go packages by @renovate[bot] in #2528
- Update integration test pinned images by @renovate[bot] in #2539
- Update LVH kernel images by @renovate[bot] in #2540
New Contributors
- @smehboub made their first contribution in #2095
- @stellhub made their first contribution in #2120
- @apatniv made their first contribution in #1967
- @lucacavenaghi97 made their first contribution in #2226
- @hitkall made their first contribution in #2271
- @miloszivkovic made their first contribution in #2381
- @ozzywalsh made their first contribution in #2268
- @REASY made their first contribution in #2305
Full Changelog: v0.9.0...v0.10.0