La spécification OpenTelemetry a été promu à la v1.0.0. Ce jalon comprend une stabilité améliorée et des garanties de compatibilité descendante, ainsi que des versions d'API et de SDK disponibles pour un certain nombre de langages. Avec cette version, l'API de traçage et le SDK de traçage sont considérés comme stables.
OpenTelemetry fournit un ensemble d'API, de bibliothèques, d'agents et de services de collecteur pour capturer des traces et des métriques distribuées. Au niveau le plus élevé, les clients sont organisés en signaux, avec chaque signal représentant une forme d'observabilité. Tracing, metrics et baggage sont trois signaux distincts.
Une trace représente un ensemble d'événements, générés à partir d'une seule opération (comme cliquer sur un bouton sur un site Web), regroupés entre les différents composants de l'application. Dans OpenTelemetry, un baggage représente une paire nom/valeur. Il est destiné à l'indexation d'événements dans un service avec des détails fournis par un service antérieur dans la même transaction. Par exemple, un fournisseur peut inclure un contexte sur l'utilisateur d'API responsable de la requête.
Cette release introduit un nouveau niveau de stabilité pour la partie de traçage des clients OpenTelemetry, comme OpenTelemetry.NET. La version 1.0 a été récemment publiée qui implémente la version 1.0 de la spécification OpenTelemetry. Cette version comprend des API .NET pour le traçage, les baggages, le contexte et les propagateurs, un SDK avec des contrôles pour l'échantillonnage, le traitement et l'exportation. Il existe également des exportateurs vers Jaeger, Zipkin et le OpenTelemetry Protocol (OTLP). Un guide de démarrage et des exemples sont également inclus.
Les futures versions d'OpenTelemetry.NET devraient inclure des versions stables des bibliothèques d'instrumentation pour ASP.NET, ASP.NET core, client HTTP, client SQL et client gRPC. Il est également prévu d'incorporer l'API de métriques dans le runtime .NET lui-même. Ce sera similaire à la façon dont l'API de traçage a été construite, permettant à l'API Activity de .NET d'être utilisée comme API de traçage OpenTelemetry.
Au moment de la publication, il existe également des releases candidates d'API et de SDK pour Erlang, Java et Python. D'autres langages seront ajoutées dans les mois prochains.
Avec cette stabilité supplémentaire pour la partie de traçage d'OpenTelemetry, l'API de traçage et le SDK passent d'expérimental à stable avec cette version. Il y a maintenant un engagement de compatibilité avec les versions mineures futures ainsi qu'une durée de support garantie après la prochaine version majeure. Les API sont prises en charge pendant au moins trois ans et les interfaces de plug-in et les constructeurs ont au moins un an de support.
Selon Ted Young, directeur de la formation des développeurs chez Lightstep, «le traçage n'est que la première partie d'OpenTelemetry à stabiliser : les métriques, les journaux et les conventions sémantiques continueront d'évoluer.» Cependant, le travail sur ces composants n'affectera pas la stabilité introduite dans le traçage. Le plan est que ces versions se feront sous la forme de modifications mineures de la version.
Pour définir la direction sur les métriques, ils recherchent des conseils auprès de projets connexes tels que Prometheus, OpenMetrics et Micrometer. Avec la contribution de Stanza à OpenTelemetry Collector, Ted Young estime qu'OpenTelemetry Collector est «prêt à devenir le meilleur processeur de journaux de sa catégorie». Stanza est un agent de transport et de traitement de journaux similaire à FluentD et Logstash. Il peut fonctionner en tant qu'agent autonome sur tous les principaux systèmes d'exploitation ou être intégré directement dans toutes les applications Golang. Avec cette fusion, le référentiel Stanza sera obsolète et le développement se poursuivra dans le référentiel OpenTelemetry Log Collection.
Une fois le travail sur les métriques déplacé vers stable, le plan est de déclarer le projet OpenTelemetry comme generally available. Dans le cadre de cette version, le chat du projet est transféré vers Slack dans le nouveau canal OpenTelemetry dans le Slack Instance CNCF. Plus de détails et les téléchargements sont disponibles sur la page OpenTelemetry de GitHub.