OpenTracing
La connexion hyperlientérée est visible.
OpenTracing a développé un protocole Trace indépendant de la plateforme et du fournisseur, permettant aux développeurs d’ajouter ou de remplacer facilement des implémentations de systèmes de traçage distribué. En novembre 2016, le Comité technique du CNCF a voté pour accepter OpenTracing comme projet hébergé, qui est le troisième projet du CNCF, le premier est Kubernetes, et le second est Prometheus, ce qui montre que le CNCF accorde une grande importance à l’observabilité derrière OpenTracing. Par exemple, les célèbres Zipkin et Jaeger suivent tous deux le protocole OpenTracing.
OpenCensus
La connexion hyperlientérée est visible.
Vous vous demandez peut-être, maintenant qu’OpenTracing est là, que va faire OpenCensus de ce plaisir ? Désolé, vous devez savoir que l’initiateur d’OpenCensus est Google, qui est la première entreprise à proposer le concept de Tracing, et OpenCensus est la version communautaire de Google Dapper. La plus grande différence entre OpenCensus et OpenTracing est qu’en plus du Tracing, il inclut aussi des métriques, permettant ainsi une surveillance de base des métriques sur OpenCensus. Une autre différence est qu’OpenCensus n’est pas une simple spécification, il s’occupe aussi de tout, y compris les agents de collecte et les collecteurs de données. OpenCensus a également un large public, et la plus grande nouvelle récente est que Microsoft a également annoncé son adhésion, et OpenCensus peut être décrit comme un tigre avec des ailes.
Qu’est-ce que OpenTelemetry ?
La connexion hyperlientérée est visible.
OpenTelemetry fusionne les projets OpenTracing et OpenCensus, fournissant un ensemble d’API et de bibliothèques pour standardiser l’acquisition et la transmission des données de télémétrie. OpenTelemetry fournit un outil sécurisé et neutre vis-à-vis du fournisseur qui permet d’envoyer des données vers différents backends selon les besoins.
Le projet OpenTelemetry se compose des composantes suivantes :
- Favoriser l’utilisation de spécifications cohérentes dans tous les projets
- Basé sur des spécifications, avec des API pour les interfaces et les implémentations
- SDK (implémentations d’API) dans différents langages, tels que Java, Python, Go, Erlang, etc
- Exportateurs : Les données peuvent être envoyées vers un backend de votre choix
- Collecteurs : implémentation neutre envers les fournisseurs pour le traitement et l’exportation des données de télémétrie
Terminologie Opentelemetry :
Traces : enregistre l’activité de la requête via un système distribué, et une trace est un graphe orienté acyclique de portées
Étendues : Une trace représente une opération nommée basée sur le temps. Les travées nichent pour former des arbres traces. Chaque trace contient une étendue racine qui décrit la latence de bout en bout, et ses sous-opérations peuvent également comporter une ou plusieurs sous-portes.
Métriques : Les données brutes de la métrique capturées à l’exécution concernant le service. des instruments métriques définis par Opentelemetry. Observer prend en charge l’acquisition de données via des API asynchrones, avec une donnée à chaque intervalle d’acquisition.
Contexte : Un span contient un contexte span, qui est un identifiant globalement unique représentant la requête unique à laquelle chaque span appartient, ainsi que les données nécessaires pour transférer les informations de trace à travers les frontières du service. OpenTelemetry prend également en charge le contexte de corrélation, qui peut contenir des attributs définis par l’utilisateur. Le contexte de corrélation n’est pas requis, et le composant peut choisir de ne pas transporter et stocker cette information.
Propagation du contexte : Indique le transfert d’informations contextuelles entre différents services, généralement via un en-tête HTTP. La propagation du contexte est l’une des caractéristiques clés du système Opentelemetry. En plus du tracage, il existe des usages intéressants comme la réalisation de tests A/B. OpenTelemetry prend en charge la propagation du contexte pour plusieurs protocoles afin d’éviter d’éventuels problèmes, mais il est important de noter qu’il est préférable d’utiliser une seule approche dans votre propre application.
Avantages d’OpenTelemetry :
En fusionnant OpenTracing et OpenCensus en une seule norme ouverte, OpenTelemetry offre les commodités suivantes :
Facile à choisir : Au lieu de devoir choisir entre les deux standards, OpenTelemetry est compatible à la fois avec OpenTracing et OpenCensus. Multiplateforme : OpenTelemetry prend en charge divers langages et backends. Il représente une manière neutre vis-à-vis du fournisseur pour capturer et transmettre les données de télémétrie au backend sans modifier les outils existants. Observabilité simplifiée : Comme le dit OpenTelemetry, « une télémétrie de haute qualité nécessite une télémétrie de haute qualité ». J’aimerais voir plus de fournisseurs passer à OpenTelemetry car c’est plus pratique et il ne nécessite que de tester une seule norme.
|