
Autoren: Ted Young, Pritam Shah und das Komitee für technische Spezifikationen (Carlos Alberto, Bogdan Drutu, Sergey Kanzhelev und Yuri Shkuro).
Das gemeinsame Projekt erhielt den Namen: http://opentelemetry.io
Sehr, sehr kurz:
- Wir erstellen einen neuen einheitlichen Satz von Bibliotheken und Spezifikationen für die Möglichkeit der Überwachung der Telemetrie. Es wird die OpenTracing- und OpenCensus-Projekte kombinieren und eine unterstützte Möglichkeit für die Migration bieten.
- Die Referenzimplementierung in Java wird am 24. April verfügbar sein. Die Arbeiten an Implementierungen in anderen Sprachen beginnen ab dem 8. Mai 2019 vollständig. Den Zeitplan können Sie hier einsehen.
- Bis September 2019 ist eine Parität mit bestehenden Projekten für C #, Golang, Java, NodeJS und Python geplant. Es erwartet uns viel Arbeit, aber wir können damit umgehen, wenn wir parallel arbeiten. Wenn Sie an diesem Projekt teilnehmen möchten, registrieren Sie sich bitte und teilen Sie uns mit, wie Sie einen Beitrag leisten möchten.
- Wenn die Implementierung in jeder Sprache ausgereift ist, werden die entsprechenden OpenTracing- und OpenCensus-Projekte geschlossen. Dies bedeutet, dass alte Projekte eingefroren werden und das neue Projekt vorhandene Tools zwei Jahre lang unter Verwendung der Abwärtskompatibilität weiterhin unterstützt.
Projektübersicht

Wir verschmelzen! Das höchste Ziel ist es, OpenTracing- und OpenCensus-Projekte in einem gemeinsamen Projekt zusammenzufassen.
Der Kern des neuen Projekts wird eine Reihe sauberer und durchdachter Schnittstellen sein, einschließlich der traditionellen Zusammenstellung von Bibliotheken, die diese Schnittstellen in Form von sogenannten implementieren SDK Die Kirsche auf dem Kuchen wird der empfohlene Standard für Daten- und Kabelprotokolle sein, einschließlich gängiger Infrastrukturteile.
Das Ergebnis wird ein vollständiges Telemetriesystem sein, das zur Überwachung von Mikrodiensten und anderen Arten moderner verteilter Systeme geeignet ist und mit den meisten wichtigen OSS- und kommerziellen Kernprogrammen kompatibel ist.
Schlüsselereignisse
24. April - Ein Referenzkandidat wird zur Überprüfung eingereicht.
8.05 - Ein Team wird gebildet, das in allen Sprachen arbeitet.
05.20 - Der offizielle Start des Projekts auf der Kubecon Barcelona.
6.09 - Implementierungen in C #, Golang, Java, NodeJS und Python erreichen Parität mit Peers.
6.11 - Der offizielle Abschluss der OpenTracing- und OpenCensus-Projekte.
11.20 Uhr - Abschiedsparty zu Ehren des Abschlusses der Projekte auf dem Observability Summit in Kubecon San Diego.
Zeitleiste der Konvergenz

Die Migration für jede Sprache umfasst das Erstellen eines SDK für die industrielle Bereitstellung, Tools für gängige Bibliotheken, Dokumentation, CI, Abwärtskompatibilitätstools und das Schließen verwandter OpenCensus- und OpenTracing-Projekte (Sonnenuntergang). Wir haben uns für September 2019 ein ehrgeiziges Ziel gesetzt - die Parität für die Sprachen C #, Golang, Java, NodeJS und Python zu erreichen. Wir werden das Sonnenuntergangsdatum verschieben, bis alle Sprachen fertig sind. Es ist jedoch vorzuziehen, dies zu vermeiden.
Denken Sie beim Anzeigen von Zielen an Ihre persönliche Teilnahme, teilen Sie uns dies mit, indem Sie das Registrierungsformular ausfüllen oder die Gitter-Chats der OpenTracing- und OpenCensus-Projekte begrüßen . Sehen Sie sich das Diagramm hier als Infografik an .
Ziel: Erster Entwurf einer mehrsprachigen Spezifikation (Fertigstellung bis 8. Mai)
Es ist wichtig, zusammenzuarbeiten, auch wenn parallel in verschiedenen Sprachen gearbeitet wird. Eine mehrsprachige Spezifikation bietet Anleitungen für das Projekt. Es klingt prosaisch, ist aber eine Garantie für die Unterstützung eines ganzheitlichen Systems, das unabhängig von der Programmiersprache vertraut erscheint.
Obligatorische Anforderungen für den ersten Entwurf einer Spezifikation für Sprache X:
- Definitionen der allgemeinen Terminologie.
- Ein Modell zur Beschreibung verteilter Transaktionen, Statistiken und Metriken.
- Klarstellungen zu wichtigen Fragen, die während der Implementierung aufgetreten sind.
Dieses Ziel blockiert den Rest der Arbeit, der erste Entwurf sollte bis zum 8. Mai abgeschlossen sein.
Ziel: erster Entwurf für die Datenspezifikation (Fertigstellung bis 6. Juli)
Die Datenspezifikation definiert ein gemeinsames Datenformat für Traces und Metriken, sodass Daten, die von allen Prozessen exportiert werden, unabhängig vom Datengenerierungsprozess von derselben Telemetrieinfrastruktur verarbeitet werden können. Dies umfasst das Datenschema für das Trace-Modell, das in der sprachübergreifenden Spezifikation beschrieben ist. Ebenfalls enthalten sind Metadatendefinitionen für allgemeine Vorgänge, die der Trace zum Erfassen verwendet: beispielsweise HTTP-Anforderungen, Fehler und Datenbankanforderungen. Diese semantischen Konventionen sind ein Beispiel.
Der erste Entwurf basiert auf dem aktuellen OpenCensus-Datenformat und enthält Folgendes:
- Ein Datenschema, das eine Interlanguage-Spezifikation implementiert.
- Metadatendefinitionen für allgemeine Operationen.
- JSON- und Protobuf-Definitionen.
- Implementierung von Referenzkunden.
Bitte beachten Sie, dass es auch ein kabelgebundenes Protokoll gibt, das In-Band-Traces verteilt und das wir auch standardisieren möchten. Das Trace-Context- Verteilungsformat wird über das W3C entwickelt.
Ziel: Parität für alle wichtigen unterstützten Sprachen (abgeschlossen bis 6. September)
Wir müssen Parität für das aktuelle Sprachökosystem erreichen, um alte Projekte durch neue zu ersetzen.
- Schnittstellendefinitionen für Ablaufverfolgung, Metriken und Kontextverteilung basierend auf einer Interlanguage-Spezifikation.
- Ein gebrauchsfertiges SDK, das diese Schnittstellen implementiert und Trace-Daten exportiert. Wenn möglich, wird ein SDK erstellt, indem eine vorhandene Implementierung von OpenCensus migriert wird.
- Toolkit für beliebte Bibliotheken, die derzeit von OpenTracing und OpenCensus abgedeckt werden.
Wir schätzen auch die Abwärtskompatibilität und möchten einen reibungslosen Übergang von bestehenden Projekten gewährleisten.
- Das neue SDK ist abwärtskompatibel mit aktuellen OpenTracing-Schnittstellen. Sie ermöglichen es älteren OpenTracing-Tools, mit neuen Tools im selben Prozess zusammenzuarbeiten, sodass Benutzer ihre Erfahrungen schrittweise übertragen können.
- Wenn das neue SDK fertig ist, wird ein Aktualisierungsplan für aktuelle OpenCensus-Benutzer erstellt. Wie bei OpenTracing können ältere Tools neben neuen auch weiterhin funktionieren.
- Bis November werden sowohl OpenTracing als auch OpenCensus geschlossen, um Änderungen zu akzeptieren. Die Abwärtskompatibilität mit älteren Tools wird zwei Jahre lang beibehalten.
Das Erstellen des branchenführenden SDK für jede Sprache erfordert viel Arbeit, und das ist es, was wir am meisten brauchen.
Ziel: Kerndokumentation (Fertigstellung bis 6. September)
Ein kritischer Erfolgsfaktor für jedes Open Source-Projekt ist die Dokumentation. Wir wollen erstklassige Dokumentations- und Schulungswerkzeuge. Unsere technischen Redakteure sind die aktivsten Entwickler des Projekts. Die Schulung von Entwicklern zur ordnungsgemäßen Überwachung von Software ist eine der wichtigsten Auswirkungen, die wir auf die Welt haben möchten.
Die folgenden Teile der Dokumentation sind mindestens erforderlich, um zu beginnen:
- Ausrichtung des Projekts.
- Beobachtbarkeit 101.
- Erste Schritte.
- Sprachführer (jeweils separat).
Wir laden Autoren aller Niveaus ein! Unsere neue Website basiert auf Hugo mit allgemeinem Markup, daher ist es sehr einfach, Beiträge zu leisten.
Ziel: Registry v1.0 (Fertigstellung bis 6. Juli)
Die Registrierung ist eine weitere wichtige Komponente, eine verbesserte Version der OpenTracing-Registrierung .
- Finden Sie einfach Bibliotheken, Plugins, Installationsprogramme und andere Komponenten.
- Einfache Verwaltung von Registrierungskomponenten.
- Sie können herausfinden, welche SDK-Funktionen in jeder Sprache verfügbar sind.
Wenn Sie sich für Design, Benutzeroberfläche und UX interessieren, haben wir ein großartiges Projekt für die persönliche Teilnahme.
Ziel: Infrastruktur für Tests und Software-Release (Fertigstellung bis 6. September)
Damit wir weiterhin sicheren Code bereitstellen können, auf den Sie sich verlassen können, haben wir eine Projektverpflichtung zur Erstellung hochwertiger Pipelines zum Testen und Freigeben von Software. Bitte lassen Sie uns wissen, ob Sie sich um die Förderer zum Testen, Messen der Leistung und Freigeben von Software kümmern können. Wir geben deutlich den Grad der Produktionsbereitschaft an, und die Reife der Testinfrastruktur wird für uns der entscheidende Faktor sein.
Zweck: Abschluss der OpenTracing- und OpenCensus-Projekte (Fertigstellung bis 6. November)
Wir planen, alte Projekte ab dem 6. September zu schließen, wenn das neue Projekt mit ihnen übereinstimmt. 2 Monate später planen wir, bei einer Parität aller Sprachen die Projekte OpenTracing und OpenCensus zu schließen. Dies sollte wie folgt verstanden werden:
- Repositorys werden eingefroren, es werden keine Änderungen mehr vorgenommen.
- Für das aktuelle Toolkit ist eine zweijährige Support-Frist geplant.
- Benutzer können mit denselben Tools auf das neue SDK aktualisieren.
- Eine schrittweise Aktualisierung ist möglich.
Jetzt mitmachen
Wir freuen uns über jede Hilfe, da dies ein riesiges Projekt ist. Wenn Sie mehr über Beobachtbarkeit erfahren möchten, ist jetzt die richtige Zeit dafür!