Sammenlægning af OpenTracing og OpenCensus: vejen til konvergens

Sammenlægning af OpenTracing og OpenCensus: vejen til konvergens

Forfattere: Ted Young, Pritam Shah og 'Technical Specifications Committee' (Carlos Alberto, Bogdan Drutu, Sergey Kanjelev og Yuri Shkuro).

Det fælles projekt har fået navnet: http://opentelemetry.io

Meget, meget kort:

  • Vi skaber et nyt, samlet sæt biblioteker og specifikationer til overvågning af telemetri. Det vil samle projekterne OpenTracing og OpenCensus og give en understøttet måde at migrere på.
  • Referenceimplementeringen i Java vil være tilgængelig den 24. april, og arbejdet med implementeringer på andre sprog vil starte for alvor den 8. maj 2019. Tjek tidsplanen her.
  • Inden september 2019 er der planlagt paritet med eksisterende projekter for C#, Golang, Java, NodeJS og Python. Vi har mange opgaver foran os, men vi kan klare det, hvis vi arbejder parallelt. Hvis du er interesseret i at bidrage til dette projekt, så tilmeld dig og lad os vide, hvordan du gerne vil hjælpe.
  • Når implementeringen på hvert sprog er moden, vil de relevante projekter OpenTracing og OpenCensus blive lukket. Det betyder en fryseperiode for de gamle projekter, mens det nye projekt fortsat vil støtte det eksisterende værktøjsudvalg i to år med bagudkompatibilitet.

Projektoversigt

Sammenlægning af OpenTracing og OpenCensus: vejen til konvergens

Vi fusionerer! Det højeste mål er at samle projekterne OpenTracing og OpenCensus i et fælles projekt.
Kernen i det nye projekt vil være et sæt rene og velovervejede grænseflader, inklusive en traditionel samling af biblioteker, der implementerer disse grænseflader i form af såkaldte SDK'er. Kagen på toppen vil være de anbefalede standarder for data og ledningsprotokoller, inklusive fælles dele af infrastrukturen.
Resultatet vil være et fuldt udbygget telemetrisystem, der er egnet til overvågning af mikrotjenester og andre typer moderne distribuerede systemer, kompatible med de fleste store OSS og kommercielle grundprogrammer.

Vigtige datoer

24.04 — Referencekandidaten præsenteres til gennemgang.
8.05 — Teamet dannes og går i gang med arbejdet på alle sprog.
20.05 — Det officielle projektlaunch på Kubecon Barcelona.
6.09 — Implementeringer på C#, Golang, Java, NodeJS og Python opnår paritet med de tilsvarende.
6.11 — Det officielle afslutning på projekterne OpenTracing og OpenCensus.
20.11 — Afskedsfest i forbindelse med afslutningen af projekterne på Observability Summit, Kubecon San Diego.

Tidslinje for konvergens

Sammenlægning af OpenTracing og OpenCensus: vejen til konvergens

Migration for each language includes the assembly of an SDK ready for industrial deployment, tools for popular libraries, documentation, CI, means of backward compatibility, and the closure of related OpenCensus and OpenTracing projects (the 'sunset'). We set an ambitious target for September 2019 — achieving parity for C#, Golang, Java, NodeJS, and Python. We will push back the 'sunset' date until all languages are ready. However, it is preferable to avoid this.
When reviewing the goals, please consider your personal involvement and let us know by filling out the registration form, or by greeting in the project Gitter chats OpenTracing og OpenCensus. You can view the timeline in infographic form her.

Goal: first draft of the cross-language specification (completion by May 8)

It is important to work cohesively, even when working in parallel on different languages. The cross-language specification provides guidance for the project. It may sound prosaic, but it is a guarantee of support for a cohesive system that feels familiar regardless of the programming language.

Mandatory requirements for the first draft of the specification for language X:

  • Definitions of common terminology.
  • A model for describing distributed transactions, statistics, and metrics.
  • Clarifications on important issues that have arisen during implementation.

This goal blocks other work; the first draft must be completed by May 8.

Goal: first draft for the data specification (completion by July 6)

The data specification defines a common data format for traces and metrics, ensuring that the data exported by all processes can be handled by the same telemetry infrastructure regardless of the data generation process. This includes the data schema for the trace model described in the cross-language specification. It also includes metadata definitions for common operations that tracing uses for capturing: for example, HTTP requests, errors, and database queries. These semantic agreements are examples.

The first draft is based on the current OpenCensus data format and will contain the following:

  • Data schema implementing the cross-language specification.
  • Definitions of metadata for common operations.
  • Definitions for JSON and Protobuf.
  • Implementation of reference clients.

Vi beder om, at der også tages hensyn til, at der findes en kablet protokol, der distribuerer spor indad, og som vi også ønsker at standardisere. Fordelingen Trace-Context udvikles gennem W3C.

Mål: paritet på tværs af alle de vigtigste understøttede sprog (færdiggørelse den 6. september)

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

  • Definitioner af interface til spor, målinger og kontekstdistribution baseret på tvær-sproglige specifikationer.
  • Et funktionsdygtigt SDK, der implementerer disse interfaces, og eksporterer Trace-Data. Hvor det er muligt, vil SDK blive lavet ved at overføre den eksisterende implementering fra OpenCensus.
  • Værktøjer til de populære biblioteker, der i øjeblikket dækkes i OpenTracing og OpenCensus.

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

  • Det nye SDK vil have midler til bagudkompatibilitet med de nuværende OpenTracing interfaces. Det vil tillade ældre OpenTracing værktøjer at arbejde sammen med de nye værktøjer i den samme proces, hvilket giver brugerne mulighed for gradvist at overføre deres arbejde.
  • Når det nye SDK er klar, vil der blive lavet en opdateringsplan for nuværende brugere af OpenCensus. Ligesom med OpenTracing, vil ældre værktøjer kunne fortsætte med at fungere sammen med de nye.
  • I november vil både OpenTracing og OpenCensus være lukket for ændringer. Bagudkompatibilitet med ældre værktøjer vil blive støttet i to år.

At skabe et bedste klassen SDK for hvert sprog kræver en stor indsats, og det er præcist det, vi har mest brug for.

Mål: primær dokumentation (færdiggørelse den 6. september)

En kritisk faktor for succes i ethvert open source-projekt er dokumentationen. Vi ønsker at have dokumentation af højeste kvalitet og værktøjer til undervisning, vores tekniske skribenter er de mest aktive udviklere på projektet. At lære udviklere, hvordan man korrekt observerer software, er en af de vigtigste indflydelser, vi ønsker at have på verden.

De minimal nødvendige dele af dokumentationen for at komme i gang er:

  • Projektorientering.
  • Observabilitet 101.
  • Kom godt i gang.
  • Sprogvejledninger (separat for hver).

Vi inviterer forfattere på alle niveauer! Vores nye hjemmeside er bygget på Hugo med almindelig markup, så det er meget nemt at bidrage.

Mål: Registry v1.0 (færdiggørelse den 6. juli)

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

  • Det er nemt at finde biblioteker, plugins, installer og andre komponenter.
  • Let håndtering af Registry komponenter.
  • Man kan finde ud af, hvilke SDK-funktioner der er tilgængelige på hvert sprog.

Hvis du er interesseret i design, brugerflade og UX — har vi et fantastisk projekt til personlig deltagelse.

Mål: Infrastruktur til test og udgivelse af software (færdiggørelse den 6. september)

For at vi fortsat kan levere sikker kode, som man kan stole på, har vi et projektforpligtelse til at skabe kvalitets pipelines til test og udgivelse af software. Lad os venligst vide, hvis du kan tage dig af pipelines til test, præstationsmåling og udgivelse af software. Vi angiver klart produktionsparat niveau, og modenheden af testinfrastrukturen vil være en afgørende faktor for os.

Mål: Afslutning af projekterne OpenTracing og OpenCensus (færdiggørelse den 6. november)

Vi planlægger at starte afslutningen af gamle projekter den 6. september, hvis det nye projekt når paritet med dem. 2 måneder senere, ved paritet for alle sprog, planlægger vi at afslutte projekterne OpenTracing og OpenCensus. Dette skal forstås som:

  • repositoryerne vil blive fryset, og der vil ikke blive foretaget flere ændringer.
  • For det nuværende værktøjssæt er der planlagt en toårig supportperiode.
  • brugere vil kunne opdatere til det nye SDK ved at bruge det gamle værktøjssæt.
  • det vil være muligt med en trinvis opdatering.

Deltag

Vi værdsætter enhver hjælp, da dette er et stort projekt. Hvis du er interesseret i overvågning — nu er det tid!

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster