Skip to content

OpenTelemetry Zig

Zig docs   •   Modules   •   Contributing   •   Community

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.

Goals

  1. Provide a Zig library implementing the stable features of an OpenTelemetry SDK
  2. Provide a reference implementation of the OpenTelemetry API
  3. 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.

Modules

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 .proto definitions.
  • opentelemetry-semconv - strongly-typed Zig definitions of the OpenTelemetry semantic conventions, generated from the official specification.

Contributing

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.

Origins

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:

open-telemetry/community#2514

Join the community

You can find the Zig OTel SDK developers in the CNCF Slack #otel-zig channel.

Help Wanted

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.

About

Resources

Code of conduct

Contributing

Security policy

Stars

19 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages