Bibliothèque / SDK
open-telemetry/opentelemetry-cpp avatar
open-telemetry/opentelemetry-cpp

OpenTelemetry C++ : la bibliothèque cliente pour C++14 à C++23

Le client OpenTelemetry C++. Pour l'utiliser avec Bazel, ajoutez ce qui suit à votre fichier MODULE.bazel : Pour la dernière version, voir BCR : opentelemetry-cpp.

1 378 étoiles632 forksC++Apache-2.0

En bref

De quoi s’agit-il ?
Le client C++ d'OpenTelemetry indique un statut stable pour les traces, les métriques et les journaux, avec une matrice de plateformes CI définie et des processus de contribution et de publication documentés.
À qui s’adresse-t-il ?
Les jalons de publication du README portent des dates et des fonctionnalités décrites comme des estimations, et la matrice de conformité à la spécification dans le dépôt de la spécification OpenTelemetry est l'endroit où vérifier quelles parties de la spécification ce dépôt implémente.
Puis-je l’utiliser commercialement ?
Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 1 jour.
En quel langage est-il écrit ?
Principalement C++, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 19 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Le client C++ pour OpenTelemetry

Ce dépôt est le client C++ d'OpenTelemetry, écrit en C++, avec la page d'accueil du projet sur opentelemetry.io. Le README déclare le statut du projet stable sur les trois signaux : journaux, métriques et traces. Il renvoie à la matrice de conformité à la spécification dans le dépôt open-telemetry/opentelemetry-specification pour les portions implémentées. Les métadonnées du dépôt enregistrent 1 337 étoiles, 593 forks et 254 problèmes ouverts ; le dépôt n'est pas marqué comme archivé. Le README ne contient pas de références de performance, de résultats de production ni de garanties de sécurité ; celles-ci devraient être vérifiées à partir d'autres sources.

Normes C++ prises en charge et matrice des plateformes CI

Le code prend généralement en charge ISO/IEC 14882:2014 (C++14), ISO/IEC 14882:2017 (C++17), ISO/IEC 14882:2020 (C++20) et ISO/IEC 14882:2024 (C++23), les exceptions étant notées dans les fichiers README.md individuels. La prise en charge du langage C n'est explicitement pas un objectif du projet. Le pipeline CI compile et teste sur Ubuntu 22.04 et 24.04 en x86-64, macOS 14 et 15 en arm64, et Windows Server 2022 et 2025 en x86-64. En lisant le tableau des plateformes ligne par ligne : Ubuntu 22.04 utilise CMake, Ubuntu 24.04 utilise CMake et Bazel, macOS 14 utilise CMake, macOS 15 utilise Bazel, Windows Server 2022 utilise CMake et Bazel, et Windows Server 2025 utilise CMake. Le README indique que le code devrait se compiler sur toutes les plateformes disposant d'un compilateur C++ prenant en charge les normes listées. Il ne nomme pas de compilateurs ou de versions précis.

Installation, Bazel et l'exemple minimal

Les instructions d'installation sont dans INSTALL.md, et les dépendances open source ainsi que les exigences de licence sont dans docs/dependencies.md. Le projet est disponible dans le Bazel Central Registry ; le README montre l'ajout de bazel_dep(name = "opentelemetry-cpp", version = "x.y.z") dans un fichier MODULE.bazel et renvoie au registre pour la dernière version. Le répertoire examples/simple contient un programme minimal qui instrumente une petite bibliothèque avec un processeur simple et un exportateur console, accompagné de fichiers de compilation CMake et Bazel. Cet exemple ne couvre que le flux d'instrumentation minimal ; le README ne décrit pas d'autres types d'exportateurs ou de processeurs et ne donne pas d'exemple d'installation en ligne de commande en dehors de cet extrait Bazel.

Premiers pas et documentation de référence

Le guide de démarrage et la documentation de référence sont hébergés sur opentelemetry-cpp.readthedocs.io, et le README oriente à la fois les propriétaires d'applications et les auteurs de bibliothèques vers ce site plutôt que de reproduire le guide en interne. Le README lui-même ne contient pas de détails d'API, de listes d'exportateurs ni de numéros de version ; ceux-ci doivent être vérifiés sur le site readthedocs ou dans l'arborescence des sources. La première ligne du README pointe vers opentelemetry.io comme site du projet plus large. Cet article ne spécule pas sur des noms de classes ou de fonctions précis, car le README n'en liste aucun.

Contributions, réunions et gouvernance

Les consignes de contribution sont dans CONTRIBUTING.md. Le projet tient des réunions hebdomadaires qui alternent entre le lundi à 13h00 PT et le mercredi à 9h00 PT ; les dates et les liens Zoom figurent dans le calendrier communautaire OpenTelemetry, et les notes de réunion sont un document Google public. Les discussions ont lieu sur le canal #otel-cpp du Slack CNCF, et les nouveaux comptes CNCF Slack peuvent être créés sur slack.cncf.io. Les réunions sont ouvertes à tous, et le README invite explicitement les contributeurs de tout niveau d'expérience. Le README liste cinq mainteneurs (Doug Barker, Ehsan Saei, Lalit Kumar Bhasin chez Microsoft, Marc Alff chez Oracle et Tom Tan chez Microsoft), un approbateur (WenTao Ou) et une liste émérite de neuf personnes couvrant les rôles de mainteneur, approbateur et triager. Le README ne décrit pas de processus formel de décision de gouvernance ; il renvoie au dépôt communautaire pour les définitions de rôles.

Publications, jalons et licence Apache-2.0

Les publications existantes figurent sur la page des versions GitHub, et le travail à venir est suivi dans les jalons du projet ; le README indique que les dates et fonctionnalités décrites dans les problèmes et jalons sont des estimations susceptibles de changer. Le dépôt est sous licence Apache-2.0. L'extrait de licence accorde une licence de droit d'auteur perpétuelle, mondiale, non exclusive, gratuite, sans redevance et irrévocable pour reproduire, préparer des œuvres dérivées, afficher publiquement, exécuter publiquement, sous-licencier et distribuer l'œuvre. Il accorde aussi une licence de brevet qui prend fin si vous engagez une action en contrefaçon de brevet alléguant que l'œuvre ou une contribution contrefait directement ou indirectement un brevet. L'extrait ne dit rien sur la garantie, le support ou la posture de sécurité, et il ne contient ni octroi de marque ni clauses de limitation de responsabilité ; le texte complet de la licence contient l'exclusion de garantie.

Conclusion éditoriale

Les jalons de publication du README portent des dates et des fonctionnalités décrites comme des estimations, et la matrice de conformité à la spécification dans le dépôt de la spécification OpenTelemetry est l'endroit où vérifier quelles parties de la spécification ce dépôt implémente.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté