Releases: haproxytech/opentelemetry-c-wrapper
Releases · haproxytech/opentelemetry-c-wrapper
Build system hardening and documentation updates
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
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
opspointer, 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.