Sammenlægning af OpenTracing og OpenCensus: The Path to Convergence

Sammenlægning af OpenTracing og OpenCensus: The Path to Convergence

Forfattere: Ted Young, Pritam Shah og Udvalget for Tekniske Specifikationer (Carlos Alberto, Bogdan Drutu, Sergei Kanzhelev og Yuri Shkuro).

Det fælles projekt fik navnet: http://opentelemetry.io

Meget, meget kort:

  • Vi er ved at skabe et nyt samlet sæt af biblioteker og specifikationer for telemetriovervågningsfunktioner. Det vil fusionere OpenTracing- og OpenCensus-projekterne og give en understøttet sti til migrering.
  • Referenceimplementeringen i Java vil være tilgængelig den 24. april, og arbejdet med implementeringer på andre sprog begynder fuldt ud den 8. maj 2019. Se tidsplanen kan være her.
  • I september 2019 er der planlagt paritet med eksisterende projekter for C#, Golang, Java, NodeJS og Python. Der er meget arbejde foran os, men vi kan klare det, hvis vi arbejder sideløbende. Hvis du er interesseret i at deltage i dette projekt, bedes du registrere dig og fortælle os, hvordan du gerne vil bidrage.
  • Når implementeringen på hvert sprog er moden, vil de tilsvarende OpenTracing- og OpenCensus-projekter blive lukket. Det betyder, at de gamle projekter vil blive fastfrosset, og det nye projekt vil fortsætte med at understøtte de eksisterende værktøjer i to år ved hjælp af bagudkompatibilitet.

Projektoversigt

Sammenlægning af OpenTracing og OpenCensus: The Path to Convergence

Vi laver en fusion! Det ultimative mål er at samle OpenTracing- og OpenCensus-projekterne i ét fælles projekt.
Kernen i det nye projekt bliver et sæt rene og gennemtænkte grænseflader, herunder den traditionelle samling af biblioteker, der implementerer disse grænseflader i form af såkaldte. SDK. Prikken over i'et vil være anbefalede standarder for data og ledningsprotokoller, herunder fælles dele af infrastrukturen.
Resultatet vil være et komplet telemetrisystem velegnet til overvågning af mikrotjenester og andre typer moderne distribuerede systemer, kompatibelt med de fleste større OSS og kommerciel backend-software.

Nøglebegivenheder

24.04/XNUMX — Referencekandidat indsendt til gennemgang.
8.05 — Et team dannes og begynder at arbejde på alle sprog.
20.05 — Officiel lancering af projektet på Kubecon Barcelona.
6.09 - Implementeringer i C#, Golang, Java, NodeJS og Python når paritet med deres modstykker.
6.11 - Officiel afslutning af OpenTracing- og OpenCensus-projekterne.
20.11 — Afskedsfest til ære for færdiggørelsen af ​​projekter på Observability Summit, Kubecon San Diego.

Tidslinje for konvergens

Sammenlægning af OpenTracing og OpenCensus: The Path to Convergence

Migrering for hvert sprog inkluderer en produktionsklar SDK-bygning, værktøj til populære biblioteker, dokumentation, CI, bagudkompatibilitetsværktøjer og lukningen af ​​de relaterede OpenCensus- og OpenTracing-projekter ("solnedgang"). Vi satte et ambitiøst mål for september 2019 - at opnå paritet for sprogene C#, Golang, Java, NodeJS og Python. Vi flytter solnedgangsdatoen, indtil alle sprog er klar. Men det er at foretrække at undgå dette.
Når du ser mål, bedes du overveje dit personlige engagement, fortæl os det ved at udfylde tilmeldingsblanket, eller ved at sige hej i projekternes Gitter-chats OpenTracing и OpenCensus. Du kan se grafen som en infografik her.

Mål: Første udkast til specifikationen på tværs af sprog (færdiggjort senest 8. maj)

Det er vigtigt at arbejde sammenhængende, også når man arbejder parallelt på forskellige sprog. Den tværsprogede specifikation giver vejledning til projektet. Det lyder prosaisk, men det garanterer understøttelse af et sammenhængende system, der føles velkendt uanset programmeringssproget.

Obligatoriske krav til det første udkast til specifikation for sprog X:

  • Definitioner af generel terminologi.
  • En model til at beskrive distribuerede transaktioner, statistikker og metrics.
  • Afklaring af vigtige spørgsmål, der opstod under implementeringen.

Dette mål blokerer for resten af ​​arbejdet, det første udkast skal være færdigt senest den 8. maj.

Mål: Første udkast til dataspecifikation (færdig inden 6. juli)

Dataspecifikationen definerer et fælles dataformat for spor og metrikker, så data eksporteret af alle processer kan behandles af den samme telemetriinfrastruktur uanset datagenereringsprocessen. Dette inkluderer dataskemaet for sporingsmodellen beskrevet i tværsprogsspecifikationen. Der er også inkluderet metadatadefinitioner for almindelige operationer, som sporingen bruger til at fange, såsom HTTP-anmodninger, fejl og databaseforespørgsler. Disse semantiske konventioner er et eksempel.

Det første udkast er baseret på det nuværende OpenCensus-dataformat og vil indeholde følgende:

  • Et dataskema, der implementerer en tværsprogsspecifikation.
  • Metadatadefinitioner for almindelige operationer.
  • JSON og Protobuf definitioner.
  • Implementering af referencekunder.

Bemærk venligst, at der også er en ledningsprotokol, der distribuerer spor i båndet, som vi også gerne vil standardisere. Distributionsformat Spor-kontekst udviklet gennem W3C.

Mål: paritet på tværs af alle større understøttede sprog (færdiggjort senest den 6. september)

Vi skal opnå paritet for det nuværende sprogøkosystem ved at erstatte gamle projekter med nye.

  • Interfacedefinitioner til sporing, metrikker og kontekstudbredelse baseret på en tværsprogsspecifikation.
  • En klar til brug SDK, der implementerer disse grænseflader og eksporterer Trace-Data. Hvor det er muligt, vil SDK'et blive oprettet ved at portere en eksisterende implementering fra OpenCensus.
  • Værktøjssæt til populære biblioteker, der i øjeblikket er dækket af OpenTracing og OpenCensus.

Vi værdsætter også bagudkompatibilitet og ønsker at sikre en glidende overgang fra eksisterende projekter.

  • Den nye SDK vil være bagudkompatibel med nuværende OpenTracing-grænseflader. De vil tillade ældre OpenTracing-værktøjer at køre sammen med nye værktøjer i samme proces, hvilket giver brugerne mulighed for at migrere deres arbejde over tid.
  • Når den nye SDK er klar, oprettes en opgraderingsplan for nuværende OpenCensus-brugere. Som med OpenTracing vil ældre værktøjer kunne fortsætte med at arbejde sammen med nye.
  • Til november vil både OpenTracing og OpenCensus være lukket for at acceptere ændringer. Bagudkompatibilitet med ældre værktøjer vil blive understøttet i to år.

At skabe et klassens bedste SDK til hvert sprog kræver meget arbejde, og det er det, vi har mest brug for.

Mål: grundlæggende dokumentation (færdiggjort senest 6. september)

En kritisk faktor for succesen af ​​ethvert open source-projekt er dokumentation. Vi ønsker top-notch dokumentation og træningsværktøjer, og vores tekniske skribenter er de mest aktive udviklere på projektet. At lære udviklere, hvordan man overvåger software korrekt, er en af ​​de vigtigste påvirkninger, vi ønsker at have på verden.

Følgende dokumentation er det minimum, der kræves for at komme i gang:

  • Projektorientering.
  • Observerbarhed 101.
  • Begyndelse af arbejdet.
  • Sprogvejledninger (særskilt for hver).

Forfattere på alle niveauer er velkomne! Vores nye side er baseret på Hugo og bruger almindelig markup, så det er ret nemt at bidrage.

Mål: Registry v1.0 (færdiggjort senest 6. juli)

Registry - en anden kritisk komponent, en forbedret version OpenTracing Registry.

  • Det er nemt at finde biblioteker, plugins, installatører og andre komponenter.
  • Nem styring af Registry-komponenter.
  • Du kan finde ud af, hvilke SDK-funktioner der er tilgængelige på hvert sprog.

Er du interesseret i design, interface og UX, har vi et glimrende projekt til personlig deltagelse.

Mål: infrastruktur til softwaretest og frigivelse (færdiggjort senest 6. september)

For at sikre, at vi fortsætter med at levere sikker kode, som du kan stole på, har vi en designforpligtelse til at bygge kvalitetssoftwaretest og frigivelsespipelines. Lad os venligst vide, om du kan tage dig af pipelines til test, karakterisering og softwareudgivelse. Vi angiver klart niveauet af produktionsberedskab, og modenheden af ​​testinfrastrukturen vil være den vigtigste afgørende faktor for os.

Mål: at lukke OpenTracing- og OpenCensus-projekterne (afsluttet senest den 6. november)

Vi planlægger at begynde at lukke gamle projekter den 6. september, hvis det nye projekt når paritet med dem. 2 måneder senere, med paritet mellem alle sprog, planlægger vi at lukke OpenTracing- og OpenCensus-projekterne. Det skal forstås sådan:

  • lagrene vil blive frosset, og der vil ikke blive foretaget yderligere ændringer.
  • Det nuværende værktøjssæt har planlagt en to-årig støtteperiode.
  • brugere vil kunne opgradere til det nye SDK ved hjælp af de samme værktøjer.
  • En gradvis opdatering vil være mulig.

Deltag nu

Vi modtager gerne enhver hjælp, da dette er et kæmpe projekt. Hvis du er interesseret i at lære om observerbarhed, er tiden nu inde!

Kilde: www.habr.com

Tilføj en kommentar