The C++ OpenTelemetry client.
Signal | Status | Project |
---|---|---|
Traces | Public Release | N/A |
Metrics | Development [1] | N/A |
Logs | Experimental [2] | N/A |
- [1]: The development of the metrics API and SDK based on new stable specification is ongoing. The timelines would be available in release milestone. The earlier implementation (based on old specification) can be included in build by setting
ENABLE_METRICS_PREVIEW
preprocessor macro, and is included under*/_metrics/*
directory. This would be eventually removed once the ongoing implemetation is stable. - [2]: The current Log Signal Implementation is Experimental, and will change as the current OpenTelemetry Log specification matures. The current implementation can be included in build by setting
ENABLE_LOGS_PREVIEW
preprocessor macro.
API Version | Core Version | Contrib Version |
---|---|---|
1.0.0 | 1.0.0-rc4 | N/A [1] |
1.0.0 | 1.0.0 | N/A |
- [1]: We don't have releases for opentelemetry-cpp contrib repo. This may change in future.
Code shipped from this repository generally supports the following versions of C++ standards:
- ISO/IEC 14882:2011 (C++11, C++0x)
- ISO/IEC 14882:2014 (C++14, C++1y)
- ISO/IEC 14882:2017 (C++17, C++1z)
- ISO/IEC 14882:2020 (C++20)
Any exceptions to this are noted in the individual README.md
files.
Please note that supporting the C Programming Language is not a goal of the current project.
Our CI pipeline builds and tests on following x86-64
platforms:
Platform | Build type |
---|---|
ubuntu-20.04 (Default GCC Compiler - 9.3.0) | CMake, Bazel |
ubuntu-18.04 (GCC 4.8 with -std=c++11 flag) | CMake [1] |
ubuntu-20.04 (Default GCC Compiler - 9.3.0 with -std=c++20 flags) | CMake, Bazel |
macOS 10.15 (Xcode 12.2) | Bazel |
Windows Server 2019 (Visual Studio Enterprise 2019) | CMake, Bazel |
[1]: Bazel build is disabled for GCC 4.8, as gRPC library 1.38 and above (required by OTLP expoter) don't build with this compiler. See gRPC official support document. CMake build doesn't build OTLP exporter with GCC 4.8.
In general, the code shipped from this repository should build on all platforms having C++ compiler with supported C++ standards.
Please refer to Dependencies.md for OSS Dependencies and license requirements.
Please refer to INSTALL.md.
As an application owner or the library author, you can find the getting started guide and reference documentation on opentelemetry-cpp.readthedocs.io
The examples/simple
directory contains a minimal program demonstrating how to
instrument a small library using a simple processor
and console exporter
,
along with build files for CMake and Bazel.
See CONTRIBUTING.md
We meet weekly, and the time of the meeting alternates between Monday at 15:00 PT and Wednesday at 10:00 PT. The meeting is subject to change depending on contributors' availability. Check the OpenTelemetry community calendar for specific dates and Zoom meeting links.
Meeting notes are available as a public Google doc. For edit access, get in touch on Slack.
Approvers (@open-telemetry/cpp-approvers):
- Johannes Tax, Microsoft
- Josh Suereth, Google
- Max Golovanov, Microsoft
- Ryan Burn, Lightstep
Find more about the approver role in community repository.
Maintainers (@open-telemetry/cpp-maintainers):
- Emil Mikulic, Google
- Lalit Kumar Bhasin, Microsoft
- Reiley Yang, Microsoft
- Tom Tan, Microsoft
Find more about the maintainer role in community repository.
Triagers (@open-telemetry/cpp-triagers):
- Alolita Sharma, Amazon
- Jodee Varney, New Relic
Find more about the triager role in community repository.
Refer to project status for current status of the project.
See the release notes for existing releases.
See the project milestones for details on upcoming releases. The dates and features described in issues and milestones are estimates, and subject to change.