Changes from grafana/opentelemetry-ebpf-instrumentation:
New features and improvements
- k8s weaver: retry transient first-hop tap exports to stop intermittent suite failures (open-telemetry/opentelemetry-ebpf-instrumentation#2976)
- k8s integration: close Weaver live-check gaps (open-telemetry/opentelemetry-ebpf-instrumentation#2946)
- Improve performance of BPF metrics (open-telemetry/opentelemetry-ebpf-instrumentation#2857)
- Document Config v2 migration (open-telemetry/opentelemetry-ebpf-instrumentation#2799)
- Bound reverse DNS message parsing (open-telemetry/opentelemetry-ebpf-instrumentation#2882)
- Capture
Request.URL.RawQueryfor Go HTTP spans (open-telemetry/opentelemetry-ebpf-instrumentation#2938) - Emit span metrics with OTel dot-notation names over OTLP (open-telemetry/opentelemetry-ebpf-instrumentation#2963)
- Add kernel-side Aerospike protocol detection (open-telemetry/opentelemetry-ebpf-instrumentation#2982)
- grpc: decode huffman encoded traceparent values on ingress (open-telemetry/opentelemetry-ebpf-instrumentation#2924)
- feat(nodejs): event-loop runtime metrics via injected
perf_hooksagent (open-telemetry/opentelemetry-ebpf-instrumentation#2939) - gotracer: publish wrapped TLS client connections (open-telemetry/opentelemetry-ebpf-instrumentation#3037)
- Add protocol- and signal-scoped filter runtime (open-telemetry/opentelemetry-ebpf-instrumentation#2996)
- Support scoped filters in Config V2 (open-telemetry/opentelemetry-ebpf-instrumentation#3066)
- prommgr: serve ports registered after the first StartHTTP call (open-telemetry/opentelemetry-ebpf-instrumentation#3072)
- Node.js manual span capture (open-telemetry/opentelemetry-ebpf-instrumentation#2661)
- Emit
db.server.operation.durationfor server-side DB spans (open-telemetry/opentelemetry-ebpf-instrumentation#3091)
Fixes
- Fix config schema $defs collisions between same-named config types (open-telemetry/opentelemetry-ebpf-instrumentation#2899)
- Harden watcher event decoding and shutdown (open-telemetry/opentelemetry-ebpf-instrumentation#2887)
- fix(otel-detection): don't attribute an ambiguous OTLP export to both signals (open-telemetry/opentelemetry-ebpf-instrumentation#2921)
- fix(genai): normalize OpenAI Responses content (open-telemetry/opentelemetry-ebpf-instrumentation#2927)
- Harden Config v2 migration (open-telemetry/opentelemetry-ebpf-instrumentation#2943)
- Make Collector capture policy explicit (open-telemetry/opentelemetry-ebpf-instrumentation#2945)
- Extend Config v2 parity checks (open-telemetry/opentelemetry-ebpf-instrumentation#2944)
- Fix perapp.MetricsConfig references missed by rename (open-telemetry/opentelemetry-ebpf-instrumentation#2984)
- Avoid Node.js agent injection into Deno processes (open-telemetry/opentelemetry-ebpf-instrumentation#2957)
- Add Go Trace API activation example and guidance (open-telemetry/opentelemetry-ebpf-instrumentation#2962)
- Order container store lifecycle updates (open-telemetry/opentelemetry-ebpf-instrumentation#2893)
- fix: replace undefined perapp.MetricsConfig (open-telemetry/opentelemetry-ebpf-instrumentation#2991)
- integration: netolly GeoIP suite covering src/dst asn+country flow attributes (open-telemetry/opentelemetry-ebpf-instrumentation#2977)
- fix(metrics)!: derive Prometheus metric names from their OTLP definition (open-telemetry/opentelemetry-ebpf-instrumentation#3005)
- Stabilize Java nested trace assertions (open-telemetry/opentelemetry-ebpf-instrumentation#3015)
- feat(metrics): export eBPF probe latency as a pre-aggregated OTLP histogram (open-telemetry/opentelemetry-ebpf-instrumentation#3016)
- Fix stale go trace map data (open-telemetry/opentelemetry-ebpf-instrumentation#3027)
- Stop process metadata observer on shutdown (open-telemetry/opentelemetry-ebpf-instrumentation#3010)
- gotracer: fix duplicate spans on wrapped net.Conn (open-telemetry/opentelemetry-ebpf-instrumentation#3006)
- Strengthen memcached trace merge coverage (open-telemetry/opentelemetry-ebpf-instrumentation#3032)
- Honor context propagation modes in Go clients (open-telemetry/opentelemetry-ebpf-instrumentation#3011)
- Fix java attach setting OBI uid/gid as 0s (open-telemetry/opentelemetry-ebpf-instrumentation#3024)
- Prefer exact Go symbols over vendor aliases (open-telemetry/opentelemetry-ebpf-instrumentation#3020)
- logenricher: open the log destination while the writer is still alive (open-telemetry/opentelemetry-ebpf-instrumentation#3055)
- [OTEP 4719] Add processcontext enrichement (open-telemetry/opentelemetry-ebpf-instrumentation#1914)
- Attach probes to every Go symbol copy (open-telemetry/opentelemetry-ebpf-instrumentation#3065)
- fix: cp: stop answered server requests from parenting later client calls (open-telemetry/opentelemetry-ebpf-instrumentation#3001)
- fionread: disable CP on failed fixup attachment (open-telemetry/opentelemetry-ebpf-instrumentation#3076)
- fix(metrics)!: derive internal metric names and drop Prometheus-isms from the OTLP ones (open-telemetry/opentelemetry-ebpf-instrumentation#3026)
- fix(metrics): sanitize invalid UTF-8 in OTLP attribute values (open-telemetry/opentelemetry-ebpf-instrumentation#3003)
- bpf: guard uprobe programs against preemption on private-stack kernels (open-telemetry/opentelemetry-ebpf-instrumentation#3059)
- Fix instrumentation for executables sharing an inode across filesystems (open-telemetry/opentelemetry-ebpf-instrumentation#2848)