OSS TanbouSign in with GitHub

Generate traces and metrics from C++ applications through common APIs

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
1,379
Primary language
C++
License
Apache-2.0
Repository last updated
Oct 5, 2026
On this page

Overview

OpenTelemetry C++ implements APIs and SDKs for traces, metrics, and logs in C++ applications. Instrumentation stays separate from selectable stdout, OTLP, and other exporters.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Separate instrumentation APIs from SDK processing

Stable APIs create spans while the SDK configures sampling, processing, and export. The official simple example writes spans through the ostream exporter.

Sources: [1][2]

Best fit

Fit native services and libraries

It fits C++ servers, desktop applications, and embedded processing that need consistent telemetry.

Sources: [1]

Before adoption

Check build and stability requirements

It requires CMake 3.16 or later and a C++14 compiler. Review per-signal stability, dependencies, and shutdown flushing.

Sources: [1][3]

Official sources

  1. [1]OpenTelemetry C++ README at v1.29.0(2026-10-05)
  2. [2]C++ simple example CMake at v1.29.0(2026-10-05)
  3. [3]C++ LICENSE at v1.29.0(2026-10-05)
  4. [4]C++ v1.29.0 release(2026-10-05)
Supplemental curator note

Verify span creation and shutdown flushing with the ostream example before choosing production export and dependency management.

Try it in 3 steps

  1. 1

    Fetch the pinned source

    Install Git, CMake 3.16 or later, Ninja, and a C++14 compiler; fetch v1.29.0 and keep the following commands in otel-cpp-demo.

    git clone --branch v1.29.0 --depth 1 https://github.com/open-telemetry/opentelemetry-cpp.git otel-cpp-demo && cd otel-cpp-demo
  2. 2

    Build the stdout simple example

    Configure without OTLP dependencies or tests and build the example_simple target, which uses the ostream exporter, at build/examples/simple/example_simple.

    cmake -S . -B build -G Ninja -DWITH_EXAMPLES=ON -DWITH_OTLP_GRPC=OFF -DWITH_OTLP_HTTP=OFF -DWITH_TEST=OFF && cmake --build build --target example_simple --parallel 2
  3. 3

    Save and inspect span output

    Run example_simple, save its span output in trace-output.txt, and require the captured file to be nonempty.

    (set -o pipefail; ./build/examples/simple/example_simple | tee trace-output.txt) && test -s trace-output.txt
Check the official README

Growth

Growth trends · Last 30 days

1,379 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
83
Open PRs
54
Issues opened
120
Issues closed
96
PRs opened
334
PRs merged
242

Issues

120 / 96

Jul 8Oct 5
Issues openedIssues closed

Pull requests

334 / 242

Jul 8Oct 5
PRs openedPRs merged

Maintenance

Median first response
7.2 hr
Issue response rate
48.4% (15/31)

Based on up to the 100 newest issues opened by external users in the last 90 days. A first comment from an OWNER, MEMBER, or COLLABORATOR counts as a response; issues whose full comment history cannot be checked are excluded. The median and response rate update weekly.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • distributed-tracing
  • metrics
  • telemetry
  • sdk
  • api
  • opentelemetry
Stars
1,379
Forks
644
Watchers
37
Open issues
233
Contributors
244
Owner type
Organization
Primary language
C++
License
Apache-2.0
Repository last updated
Oct 5, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?