The OpenTelemetry C++ Client
Go to file
Harish Shan 045be9c02b
[BUILD] DLL export interface for Metrics (#2344)
2023-10-23 23:42:28 +02:00
.github Bump peter-evans/create-or-update-comment from 3.0.2 to 3.1.0 (#2381) 2023-10-19 23:01:38 -07:00
.vscode Remove `EmitEvent` to follow https://github.com/open-telemetry/opentelemetry-specification/pull/2941 (#1766) 2022-12-13 02:57:39 +00:00
api [API] Add InstrumentationScope attributes in TracerProvider::GetTracer() (#2371) 2023-10-19 23:34:58 +02:00
bazel [BUILD] Upgrade libcurl to version 8.4.0 (#2358) 2023-10-11 11:17:26 +02:00
buildscripts [SEMANTIC CONVENTION] Upgrade to semconv 1.22.0 (#2368) 2023-10-16 09:38:30 +02:00
ci [BUILD] DLL export interface for Metrics (#2344) 2023-10-23 23:42:28 +02:00
cmake [BUILD] Support to use different cmake package CONFIG of dependencies. (#2263) 2023-10-16 09:00:24 +02:00
docker [REMOVAL] Remove the jaeger exporter (#2031) 2023-07-02 20:16:10 +02:00
docs [RELEASE] Prepare release 1.12.0 (#2359) 2023-10-16 10:38:49 +02:00
examples [BUILD] DLL export interface for Metrics (#2344) 2023-10-23 23:42:28 +02:00
exporters [BUILD] DLL export interface for Metrics (#2344) 2023-10-23 23:42:28 +02:00
ext [BUILD] DLL export interface for Metrics (#2344) 2023-10-23 23:42:28 +02:00
functional [SDK] Header files cleanup, use forward declarations (#2182) 2023-06-21 00:11:31 +02:00
opentracing-shim Fix behavior of opentracing-shim when added as subdirectory of a larger project (#2356) 2023-10-11 19:18:32 +02:00
sdk [BUILD] DLL export interface for Metrics (#2344) 2023-10-23 23:42:28 +02:00
test_common [BUILD] Fixing CMake to build GTest on Windows (#1887) 2023-05-26 13:39:29 +02:00
third_party [BUILD] Upgrade opentelemetry-proto to 1.0.0 (#2216) 2023-07-05 17:08:31 +02:00
tools [REMOVAL] Remove the jaeger exporter (#2031) 2023-07-02 20:16:10 +02:00
.bazelignore Build tools: build configurations, vcpkg support, vcpkg port file for OpenTelemetry, use submodules for CMake deps (#377) 2020-11-30 14:47:41 -08:00
.bazelrc Enforce copyright check in CI (#1965) 2023-02-08 15:04:21 -08:00
.bazelversion Upgrade Bazel and Bazelisk version (#2118) 2023-04-27 15:59:45 -07:00
.clang-format Enforce copyright check in CI (#1965) 2023-02-08 15:04:21 -08:00
.cmake-format.py Enforce copyright check in CI (#1965) 2023-02-08 15:04:21 -08:00
.copyright-ignore [EXPORTER] Add OTLP HTTP SSL support (#1793) 2023-04-05 09:59:15 -07:00
.gitattributes Fix global log handle symbols when using dlopen (#1420) 2022-06-03 21:30:20 -07:00
.gitignore [SEMANTIC CONVENTIONS] Upgrade to 1.21.0 (#2248) 2023-07-28 15:06:57 -07:00
.gitmodules Opentracing shim (#1909) 2023-03-03 15:33:20 -08:00
.markdownlint.json Enable line-length lint for markdown docs (#1268) 2022-03-16 07:17:12 -07:00
.markdownlintignore Populate resource to OTLP proto data (#758) 2021-05-16 11:02:26 +05:30
CHANGELOG.md [API] Add InstrumentationScope attributes in TracerProvider::GetTracer() (#2371) 2023-10-19 23:34:58 +02:00
CMakeLists.txt [BUILD] Make WITH_OTLP_HTTP_SSL_PREVIEW mainstream (#2378) 2023-10-19 09:42:40 +02:00
CMakeSettings.json [BUILD] Remove option WITH_OTLP (#2161) 2023-05-31 21:06:18 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (#773) 2021-05-22 00:20:47 +05:30
CONTRIBUTING.md Fixes #1781 (#1782) 2022-11-16 17:26:03 -08:00
DEPRECATED.md [REMOVAL] Drop C++11 support (#2342) 2023-09-30 16:23:52 +02:00
INSTALL.md [REMOVAL] Drop C++11 support (#2342) 2023-09-30 16:23:52 +02:00
LICENSE Initial commit 2019-06-21 13:27:18 -07:00
README.md [REMOVAL] Drop C++11 support (#2342) 2023-09-30 16:23:52 +02:00
RELEASING.md Add automatically semantic conventions from the spec (#873) (#1497) 2022-07-21 10:57:34 -07:00
Versioning.md Enable line-length lint for markdown docs (#1268) 2022-03-16 07:17:12 -07:00
WORKSPACE Update copyright for the remaining repo (#1963) 2023-02-07 06:08:51 -08:00
third_party_release [CI] Upgrade GoogleTest version from 1.12.1 to 1.13.0 (#2114) 2023-07-12 21:18:18 +02:00

README.md

OpenTelemetry C++

Slack codecov.io BuildStatus Release

The C++ OpenTelemetry client.

Project Status

Stable across all 3 signals i.e. Logs, Metrics, and Traces.

See Spec Compliance Matrix to understand which portions of the specification has been implemented in this repo.

Supported C++ Versions

Code shipped from this repository generally supports the following versions of C++ standards:

  • ISO/IEC 14882:2014 (C++14)
  • ISO/IEC 14882:2017 (C++17)
  • 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.

Supported Development Platforms

Our CI pipeline builds and tests on following x86-64 platforms:

Platform Build type
ubuntu-22.04 (GCC 10, GCC 12, Clang 14) CMake, Bazel
ubuntu-20.04 (GCC 9.4.0 - default compiler) CMake, Bazel
ubuntu-20.04 (GCC 9.4.0 with -std=c++14/17/20 flags) CMake, Bazel
macOS 12.7 (Xcode 14.2) Bazel
Windows Server 2019 (Visual Studio Enterprise 2019) CMake, Bazel
Windows Server 2022 (Visual Studio Enterprise 2022) CMake

In general, the code shipped from this repository should build on all platforms having C++ compiler with supported C++ standards.

Dependencies

Please refer to Dependencies.md for OSS Dependencies and license requirements.

Installation

Please refer to INSTALL.md.

Getting Started

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.

Contributing

See CONTRIBUTING.md

We meet weekly, and the time of the meeting alternates between Monday at 13:00 PT and Wednesday at 9: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.

Maintainers (@open-telemetry/cpp-maintainers):

Approvers (@open-telemetry/cpp-approvers):

Emeritus Maintainer/Approver/Triager:

Thanks to all the people who have contributed

contributors

Release Schedule

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.