github open-telemetry/opentelemetry-ebpf-instrumentation v1.0.0-rc.2

pre-releaseone hour ago

Overview

v1.0.0-rc.2 is the second release candidate for OBI's first stable major release. It brings the functionality and fixes shipped in v0.15.2 into the RC line, including the Collector receiver module split, BPF verifier fixes, and telemetry naming updates.

This candidate continues validation for the stable OBI 1.0 milestone. The final v1.0.0 release remains subject to maintainer validation and signoff; proposed compatibility commitments cover the explicitly documented stable surfaces in VERSIONING.md.

Highlights

  • Captures manual spans through the embedded Go Auto SDK, expands .NET route harvesting and CPU/heap metrics, and adds AWS Route53 endpoint name resolution.
  • Fixes BPF program loading after verifier loop widening, trace-context injection into sockets misclassified as HTTP/2, metric-label tuple collisions, duplicate target.info counts, and Collector receiver shutdown after its Start context ends.
  • Adds Config v2 metric-feature selection, correct OTLP http/json trace encoding, ring-buffer write/failure counters, and security dependency updates.

Release-impacting changes

  • Collector upgrades: the receiver is now the separate Go module go.opentelemetry.io/obi/collector, with an independent v0 release line and the same import path. This candidate tags only the core module as v1.0.0-rc.2; there is no collector/v1.0.0-rc.2 tag. Receiver users should use collector/v0.15.2. To test the receiver against RC2, select both module versions explicitly: go get go.opentelemetry.io/obi/collector@v0.15.2 go.opentelemetry.io/obi@v1.0.0-rc.2. RC tags alone do not make the split receiver discoverable through a plain go get -u.
  • Configuration: Config v2 is the proposed v1 configuration contract and has been available with standalone loading, the validation/migration CLI, and Collector receiver support since v0.11.0. Config v1 remains supported for backward compatibility, but is frozen and receives no bug fixes or new features. Follow the Config v1 to v2 migration guide, including unsupported mappings, manual migration cases, and canary comparison. Full per-process declarative configuration parity remains deferred. In v2, a protocol's enabled.metrics: false now also suppresses its span metrics and service graphs in both exporters; Config v1 behavior is unchanged.
  • Telemetry upgrades from RC1: span names, rpc.method values, default metric attributes, and some Prometheus labels change. Examples include gRPC names losing their leading slash, HTTP client server.address dropping the Host header's port, and new database/RPC/messaging labels that split metric series. Review the full v0.15.2 release-impacting changes before upgrading dashboards, alerts, or processors. Those changes also cover conditional attribute renames and removals that a telemetry schema cannot automatically translate.
  • Go embedders: PrometheusConfig.Registry is removed; configure a Prometheus HTTP port instead of supplying a registry.
  • Telemetry schema: RC2 retains the published 0.15.2 schema. Prereleases do not introduce schema identifiers with an RC suffix; the 1.0.0 schema is cut for the final release, preserving transformation history. See TELEMETRY.md for the proposed stable telemetry contract and known emission limitations. Network flow attribute names remain outside that contract pending semantic-convention alignment.

Artifacts and known SBOM limitations

Linux amd64 and arm64 binary archives include obi, LICENSE, NOTICE, and third-party notices. The source-generated archive includes the tagged source, generated BPF bindings/objects, and the embedded Java agent JAR. Archives, CycloneDX SBOMs, and SHA256SUMS each have a Cosign signature bundle. Verify them and the main container images with ./scripts/verify-draft-release.sh v1.0.0-rc.2 from the tagged repository.

The SBOMs have valid signatures and pass CycloneDX 1.6 schema validation, but have these reporting limitations:

  • Both binary SBOMs report the OBI module version as v1.0.0-rc instead of v1.0.0-rc.2. The binaries themselves contain the correct version and tagged revision.
  • The archive SBOMs identify the embedded Java agent with version UNKNOWN and omit its Byte Buddy dependencies. For Java dependency analysis, also consume obi-java-agent-v1.0.0-rc.2.cyclonedx.json and its signature bundle. That companion SBOM identifies the agent as v1.0.0-rc.2 and lists byte-buddy and byte-buddy-agent at 1.18.14-jdk5.

Signature verification establishes the authenticity and integrity of the supplied files; it does not correct these inventory limitations. Consumers requiring an accurate, self-contained archive SBOM should account for these limitations when evaluating this candidate.

Release candidate validation

Evaluate this candidate against the support matrix, Config v2 migration guidance, and telemetry contract. The Config v2 release gate and stable v1.0 epic track the release requirements.

Each candidate must remain available for at least 14 days of maintainer validation. Final acceptance requires green release workflows, verified Linux amd64/arm64 artifacts and container images, validation of configuration and telemetry behavior, and confirmation from at least two maintainers. Known limitations and blocking regressions remain subject to maintainer review before final signoff.

What's Changed

General

Fixed

  • HTTP client server.address and K8s name resolution ignore the Host header port by @NimrodAvni78 in #3722
  • fix(otel): send JSON for OTLP traces when protocol is http/json by @pinoOgni in #3728

Dependencies

New Contributors

Full Changelog: v1.0.0-rc.1...v1.0.0-rc.2

Don't miss a new opentelemetry-ebpf-instrumentation release

NewReleases is sending notifications on new releases.