À propos du projet

Jaeger est une plateforme open-source de traçage distribué initialement créée chez Uber et hébergée par la Cloud Native Computing Foundation, où elle est devenue le septième projet top-level diplômé en octobre 2019. Elle est sous licence Apache 2.0. Ce qu'elle fait - Collecte les données de traçage depuis des applications instrumentées, recevant des spans via OTLP en gRPC (port par défaut 4317) et HTTP (port 4318). - Stocke les traces dans un backend de stockage amovible via une interface de plugin de stockage. - Fournit un service de requête et une interface web pour rechercher et inspecter les traces ; l'interface peut fonctionner séparément du composant de requête. Architecture telle que décrite - Les SDK OpenTelemetry dans les applications utilisateurs envoient des spans via HTTP ou gRPC au Collecteur Jaeger. - Le Collecteur écrit dans le stockage directement ou via un plugin de stockage gRPC ; il peut également renvoyer des réponses d'échantillonnage au SDK. - Le service Query lit depuis le stockage, éventuellement via la même interface de plugin, et sert l'interface web via HTTP. - La version 2 de la plateforme est construite à partir de composants de l'OpenTelemetry Collector, et le projet s'efforce de maintenir la compatibilité de configuration entre les versions. Démarrage rapide Une seule commande Docker exécute une image tout-en-un contenant l'interface, le collecteur, le service de requête et un stockage en mémoire, exposant l'interface sur le port 16686 et OTLP sur 4317/4318. Le README pointe vers un guide de démarrage pour les déploiements en production et des options supplémentaires. Backends de stockage et politiques pris en charge Le README documente une politique de support pour les versions de backend, liant la couverture de Jaeger au cycle de vie propre de chaque backend: Elasticsearch (politique EOL d'Elastic), OpenSearch (sa politique de sortie et de maintenance), Cassandra (lignes de sortie Apache maintenues) et ClickHouse (versions LTS actuelles et précédentes). Le support signifie qu'une version est dans le périmètre pour des correctifs de compatibilité proactifs ; CI peut ne tester qu'un sous-ensemble des versions prises en charge, et la présence dans CI n'étend pas la politique. Le projet ne prend pas en charge les produits backend eux-mêmes ni les distributions de fournisseurs, et le dépannage peut nécessiter que les utilisateurs effectuent d'abord une mise à niveau. Garanties de compatibilité - Les options de configuration peuvent être dépréciées avec une période de grâce spécifiée d'au moins trois mois ou deux incréments de version mineure, selon la plus tardive, avant suppression. - Le support Go suit les versions supportées par l'équipe Go ; le support d'une ancienne version mineure de Go est abandonné après la sortie d'une nouvelle version mineure et n'est pas considéré comme un changement cassant. Le code importable a été déplacé vers des paquets internes. Communauté, gouvernance et sécurité Le projet bénéficie d'une gouvernance ouverte et est développé en public, avec des contributeurs crédités issus de la communauté plus large. Les mainteneurs sont répertoriés dans le dépôt et peuvent être tagués collectivement sur les problèmes et les pull requests. Des réunions vidéo régulières sont ouvertes aux utilisateurs finaux ainsi qu'aux contributeurs. Les dépôts associés incluent l'interface, le modèle de données/IDL et la source de documentation. Les audits de sécurité tiers sont publiés dans un dépôt jaegertracing distinct, et les badges du README pointent vers OpenSSF Scorecard, OpenSSF Best Practices et le statut CLOMonitor. Le README répertorie également les adoptants et les sponsors du projet. À qui cela s'adresse Aux équipes exploitant des systèmes basés sur des microservices ou autrement distribués qui ont besoin de tracer les flux de requêtes à travers les limites de service, que ce soit en production ou lors du dépannage en développement. Comme l'instrumentation provient des SDK OpenTelemetry, les utilisateurs peuvent adopter le traçage sans dépendre d'un seul backend fournisseur, et ils peuvent choisir un système de stockage qui correspond à leur environnement opérationnel existant.