Skip to content

Releases: haproxytech/opentelemetry-c-wrapper

Build system hardening and documentation updates

11 Apr 06:43

Choose a tag to compare

What's New

  • Enforced minimum OpenTelemetry C++ SDK version (>= 1.26.0) and ABI version 2 at configure time in both autotools and CMake build systems.
  • Required autoconf-archive as a build dependency with a clear error message when missing.
  • Made the bootstrap script abort on aclocal failure.
  • Commented out aws-lc and curl build steps in build-bundle.sh; users can re-enable them as needed.

Documentation

  • Added build script usage recommendations to README and README.md.
  • Documented default dependency configuration and SSL/curl requirements.
  • Updated AWS-LC paragraph to reflect current defaults.

opentelemetry-c-wrapper 1.0.0

09 Apr 13:35

Choose a tag to compare

opentelemetry-c-wrapper 1.0.0

First public release of the OpenTelemetry C wrapper library -- a pure C API on top of the OpenTelemetry C++ SDK,
developed by HAProxy Technologies.

Signals

All three OpenTelemetry signals are supported:

  • Traces -- span creation and lifecycle, context propagation, baggage, sampling (including ParentBased per-state delegates), events, links, and exception recording.
  • Metrics -- synchronous and observable instruments (counters, histograms, gauges, up-down counters), views, and multiple metric reader/exporter pairs.
  • Logs -- structured log records with severity filtering and span correlation.

Exporters

Exporter Traces Metrics Logs
OTLP/gRPC yes yes yes
OTLP/HTTP yes yes yes
OTLP/File yes yes yes
OStream yes yes yes
In-Memory yes yes --
Zipkin yes -- --
Elasticsearch -- -- yes

Highlights

  • YAML-based configuration for all SDK components (exporters, processors, samplers, providers) via rapidyaml or libfyaml.
  • Thread-safe data-plane operations with a 64-shard span map for low contention under concurrent workloads.
  • Operations vtable design -- each signal instance carries an ops pointer, keeping the C API clean and extensible.
  • Multiple processors and exporters per signal provider.
  • Dropped span/log counting via delegating processors.
  • SDK internal log handler exposed through the C API.
  • Build support via both Autotools and CMake.
  • Bundled dependency build scripts for all required libraries.
  • Test suite covering tracer, meter, logger, and YAML parsing, with Docker Compose integration tests (Elasticsearch/Kibana, OTel Collector).

Tested Platforms (amd64)

Debian 11/12/13, Ubuntu 20.04/22.04/24.04, Tuxedo 24.04, RHEL 8.10/9.5/10.0, Rocky 9.5, openSUSE Leap 15.5/15.6.

License

Apache License 2.0