Caution
This project is in alpha stage. While it is ready for usage and testing, it has not been battle-tested in production environments. Use with caution and expect breaking changes between releases.
This is an implementation of the OpenTelemetry specification for the Zig programming language.
The version of the OpenTelemetry specification targeted here is 1.48.0.
- Provide a Zig library implementing the stable features of an OpenTelemetry SDK
- Provide a reference implementation of the OpenTelemetry API
- Provide examples on how to use the library in real-world use cases
Important
We are currently seeking additional contributors! See help wanted for details.
This repository is organized as multiple self-contained modules, each in its own top-level directory with its own README:
- opentelemetry-sdk - the OpenTelemetry API and SDK: traces, metrics, logs, baggage, OTLP exporters, and C bindings. Start here for installation, features, and usage.
- opentelemetry-proto - Zig protobuf bindings for the OpenTelemetry (OTLP) data model, generated from the official
.protodefinitions. - opentelemetry-semconv - strongly-typed Zig definitions of the OpenTelemetry semantic conventions, generated from the official specification.
We welcome contributions! Please see CONTRIBUTING.md for guidelines on how to contribute to this project, including:
- Running tests locally
- Running benchmarks
- Test and benchmark options
Refer to MAINTAINERS.md if you want to get in touch with the people involved in the Zig SIG.
This project originated from a proposal in the OpenTelemetry community to create a native Zig implementation of the OpenTelemetry SDK.
You can read more about the original proposal and discussion at:
You can find the Zig OTel SDK developers in the CNCF Slack #otel-zig channel.
We are currently resource constrained and are actively seeking new contributors interested in working towards approver / maintainer roles. In addition to the documentation for approver / maintainer roles and the contributing guide, here are some additional notes on engaging:
- Pull request reviews are equally or more helpful than code contributions. Comments and approvals are valuable with or without a formal project role. They're also a great forcing function to explore a fairly complex codebase.
- Attending the Zig SDK Special Interest Group (SIG) is a great way to get to know community members and learn about project priorities.
- Issues labeled help wanted are project priorities. Code contributions (or pull request reviews when a PR is linked) for these issues are particularly important.
- Triaging / responding to new issues and discussions is a great way to engage with the project.
