Sammanfoga OpenTracing och OpenCensus: The Path to Convergence

Sammanfoga OpenTracing och OpenCensus: The Path to Convergence

Författare: Ted Young, Pritam Shah och kommittén för tekniska specifikationer (Carlos Alberto, Bogdan Drutu, Sergei Kanzhelev och Yuri Shkuro).

Det gemensamma projektet fick namnet: http://opentelemetry.io

Mycket, mycket kortfattat:

  • Vi skapar en ny enhetlig uppsättning bibliotek och specifikationer för funktioner för telemetriövervakning. Det kommer att slå samman OpenTracing- och OpenCensus-projekten och ge en stödd väg för migrering.
  • Referensimplementeringen i Java kommer att finnas tillgänglig den 24 april och arbetet med implementeringar på andra språk kommer att påbörjas i sin helhet den 8 maj 2019. Se schemat kan vara här.
  • Senast i september 2019 planeras paritet med befintliga projekt för C#, Golang, Java, NodeJS och Python. Det är mycket arbete framför oss, men vi klarar oss om vi jobbar parallellt. Om du är intresserad av att delta i detta projekt, registrera dig och låt oss veta hur du vill bidra.
  • När implementeringen på varje språk är mogen, kommer motsvarande OpenTracing- och OpenCensus-projekt att stängas. Detta innebär att de gamla projekten kommer att frysas, och det nya projektet kommer att fortsätta att stödja de befintliga verktygen i två år med bakåtkompatibilitet.

Projektöversikt

Sammanfoga OpenTracing och OpenCensus: The Path to Convergence

Vi gör en sammanslagning! Det slutliga målet är att sammanföra OpenTracing- och OpenCensus-projekten till ett gemensamt projekt.
Kärnan i det nya projektet kommer att vara en uppsättning rena och genomtänkta gränssnitt, inklusive den traditionella samlingen av bibliotek som implementerar dessa gränssnitt i form av sk. SDK. Som grädde på moset kommer rekommenderade standarder för data och trådprotokoll, inklusive gemensamma delar av infrastrukturen.
Resultatet kommer att bli ett komplett telemetrisystem lämpligt för övervakning av mikrotjänster och andra typer av moderna distribuerade system, kompatibelt med de flesta större OSS och kommersiella backend-mjukvara.

Viktiga händelser

24.04/XNUMX — Referenskandidat inlämnad för granskning.
8.05 — Ett team bildas och börjar arbeta på alla språk.
20.05 — Officiell lansering av projektet på Kubecon Barcelona.
6.09 - Implementationer i C#, Golang, Java, NodeJS och Python når paritet med sina motsvarigheter.
6.11 - Officiellt slutförande av OpenTracing- och OpenCensus-projekten.
20.11 — Avskedsfest för att hedra slutförandet av projekt på Observability Summit, Kubecon San Diego.

Tidslinje för konvergens

Sammanfoga OpenTracing och OpenCensus: The Path to Convergence

Migrering för varje språk inkluderar en produktionsklar SDK-byggnad, verktyg för populära bibliotek, dokumentation, CI, bakåtkompatibilitetsverktyg och stängningen av de relaterade OpenCensus- och OpenTracing-projekten ("solnedgång"). Vi satte ett ambitiöst mål för september 2019 - att uppnå paritet för språken C#, Golang, Java, NodeJS och Python. Vi flyttar solnedgångsdatumet tills alla språk är klara. Men det är bättre att undvika detta.
När du tittar på mål, vänligen överväg ditt personliga engagemang, låt oss veta genom att fylla i anmälningsblankett, eller genom att säga hej i projektens Gitter-chattar OpenTracing и OpenCensus. Du kan se grafen som en infografik här.

Mål: Första utkastet till specifikationen för flera språk (slutfört den 8 maj)

Det är viktigt att arbeta sammanhållet, även när man arbetar parallellt på olika språk. Den tvärspråkiga specifikationen ger vägledning för projektet. Det låter prosaiskt, men det garanterar stöd för ett sammanhängande system som känns bekant oavsett programmeringsspråk.

Obligatoriska krav för det första utkastet till specifikation för språk X:

  • Definitioner av allmän terminologi.
  • En modell för att beskriva distribuerade transaktioner, statistik och mätvärden.
  • Förtydliganden i viktiga frågor som uppstått under genomförandet.

Detta mål blockerar resten av arbetet, det första utkastet måste vara klart senast den 8 maj.

Mål: Första utkastet till dataspecifikation (slutfört senast 6 juli)

Dataspecifikationen definierar ett gemensamt dataformat för spår och mätvärden så att data som exporteras av alla processer kan bearbetas av samma telemetriinfrastruktur oavsett datagenereringsprocessen. Detta inkluderar dataschemat för spårningsmodellen som beskrivs i tvärspråksspecifikationen. Dessutom ingår metadatadefinitioner för vanliga operationer som spårningen använder för att fånga, såsom HTTP-förfrågningar, fel och databasfrågor. Dessa semantiska konventioner är ett exempel.

Det första utkastet är baserat på det nuvarande OpenCensus-dataformatet och kommer att innehålla följande:

  • Ett dataschema som implementerar en specifikation för flera språk.
  • Metadatadefinitioner för vanliga operationer.
  • JSON och Protobuf definitioner.
  • Implementering av referenskunder.

Observera att det också finns ett trådprotokoll som distribuerar spår i bandet, vilket vi också skulle vilja standardisera. Distributionsformat Spår-kontext utvecklat genom W3C.

Mål: paritet mellan alla större språk som stöds (slutfört den 6 september)

Vi måste uppnå paritet för det nuvarande språkekosystemet genom att ersätta gamla projekt med nya.

  • Gränssnittsdefinitioner för spårning, mätvärden och kontextutbredning baserade på en specifikation för flera språk.
  • En färdig att använda SDK som implementerar dessa gränssnitt och exporterar Trace-Data. Om möjligt kommer SDK:n att skapas genom att portera en befintlig implementering från OpenCensus.
  • Verktygssats för populära bibliotek som för närvarande täcks av OpenTracing och OpenCensus.

Vi värdesätter även bakåtkompatibilitet och vill säkerställa en smidig övergång från befintliga projekt.

  • Den nya SDK kommer att vara bakåtkompatibel med nuvarande OpenTracing-gränssnitt. De kommer att tillåta äldre OpenTracing-verktyg att köras tillsammans med nya verktyg i samma process, vilket gör det möjligt för användare att migrera sitt arbete över tid.
  • När den nya SDK:n är klar kommer en uppgraderingsplan att skapas för nuvarande OpenCensus-användare. Precis som med OpenTracing kommer äldre verktyg att kunna fortsätta arbeta tillsammans med nya.
  • I november kommer både OpenTracing och OpenCensus att vara stängda för att acceptera ändringar. Bakåtkompatibilitet med äldre verktyg kommer att stödjas i två år.

Att skapa en klassens bästa SDK för varje språk kräver mycket arbete, och det är det vi behöver mest.

Mål: grundläggande dokumentation (klarerad senast 6 september)

En kritisk faktor för framgången för ett projekt med öppen källkod är dokumentation. Vi vill ha förstklassiga dokumentations- och utbildningsverktyg, och våra tekniska skribenter är de mest aktiva utvecklarna i projektet. Att lära utvecklare hur man korrekt övervakar programvara är en av de viktigaste effekterna vi vill ha på världen.

Följande dokumentation är det minsta som krävs för att komma igång:

  • Projektorientering.
  • Observerbarhet 101.
  • Komma igång.
  • Språkguider (separat för varje).

Författare på alla nivåer är välkomna! Vår nya sida är baserad på Hugo och använder vanlig uppmärkning, så det är ganska enkelt att bidra.

Mål: Registry v1.0 (slutfört den 6 juli)

Registry - en annan viktig komponent, en förbättrad version OpenTracing-registret.

  • Det är lätt att hitta bibliotek, plugins, installatörer och andra komponenter.
  • Enkel hantering av registerkomponenter.
  • Du kan ta reda på vilka SDK-funktioner som är tillgängliga på varje språk.

Om du är intresserad av design, gränssnitt och UX har vi ett utmärkt projekt för personligt deltagande.

Mål: infrastruktur för testning och release av mjukvara (slutförd den 6 september)

För att säkerställa att vi fortsätter att leverera säker kod som du kan lita på, har vi ett designåtagande att bygga kvalitetstestning av mjukvara och releasepipelines. Meddela oss om du kan ta hand om pipelines för testning, karakterisering och programvarusläpp. Vi anger tydligt nivån på produktionsberedskapen, och testinfrastrukturens mognad kommer att vara den viktigaste avgörande faktorn för oss.

Mål: avsluta OpenTracing- och OpenCensus-projekten (slutföra den 6 november)

Vi planerar att börja stänga gamla projekt den 6 september, om det nya projektet når paritet med dem. Två månader senare, med paritet mellan alla språk, planerar vi att stänga OpenTracing- och OpenCensus-projekten. Det ska förstås så här:

  • arkiven kommer att frysas och inga ytterligare ändringar kommer att göras.
  • Den nuvarande verktygslådan har en tvåårig supportperiod planerad.
  • användare kommer att kunna uppgradera till den nya SDK med samma verktyg.
  • En gradvis uppdatering kommer att vara möjlig.

Gå med nu

Vi tar tacksamt emot all hjälp eftersom detta är ett enormt projekt. Om du är intresserad av att lära dig mer om observerbarhet är det dags nu!

Källa: will.com

Lägg en kommentar