Združevanje OpenTracing in OpenCensus: Pot do konvergence

Združevanje OpenTracing in OpenCensus: Pot do konvergence

Avtorji: Ted Young, Pritam Shah in odbor za tehnične specifikacije (Carlos Alberto, Bogdan Drutu, Sergej Kanzhelev in Yuri Shkuro).

Skupni projekt je dobil ime: http://opentelemetry.io

Zelo, zelo na kratko:

  • Ustvarjamo nov poenoten nabor knjižnic in specifikacij za zmožnosti spremljanja telemetrije. Združil bo projekta OpenTracing in OpenCensus ter zagotovil podprto pot za selitev.
  • Referenčna izvedba v Javi bo na voljo 24. aprila, delo na izvedbah v drugih jezikih pa se bo v celoti začelo 8. maja 2019. Oglejte si urnik lahko tukaj.
  • Do septembra 2019 je načrtovana pariteta z obstoječimi projekti za C#, Golang, Javo, NodeJS in Python. Čaka nas veliko dela, vendar smo kos, če bomo delali vzporedno. Če vas zanima sodelovanje pri tem projektu, se registrirajte in nam sporočite, kako želite prispevati.
  • Ko bo implementacija v vsakem jeziku zrela, bosta ustrezna projekta OpenTracing in OpenCensus zaprta. To pomeni, da bodo stari projekti zamrznjeni, novi projekt pa bo še dve leti podpiral obstoječa orodja z uporabo združljivosti za nazaj.

Pregled projekta

Združevanje OpenTracing in OpenCensus: Pot do konvergence

Izvajamo združitev! Končni cilj je združiti projekta OpenTracing in OpenCensus v en skupen projekt.
Jedro novega projekta bo nabor čistih in premišljenih vmesnikov, vključno s tradicionalnim sestavom knjižnic, ki te vmesnike izvajajo v obliki t.i. SDK. Češnja na torti bodo priporočeni standardi za podatkovne in žične protokole, vključno s skupnimi deli infrastrukture.
Rezultat bo popoln telemetrični sistem, primeren za spremljanje mikrostoritev in drugih vrst sodobnih porazdeljenih sistemov, združljiv z večino glavnih OSS in komercialne zaledne programske opreme.

Ključni dogodki

24.04 — Referenčni kandidat oddan v pregled.
8.05 — Oblikovana je ekipa, ki začne delati v vseh jezikih.
20.05 — Uradna predstavitev projekta na Kubecon Barcelona.
6.09 – Implementacije v C#, Golangu, Javi, NodeJS in Pythonu dosegajo enakost s svojimi sorodniki.
6.11 - Uradni zaključek projektov OpenTracing in OpenCensus.
20.11 — Poslovilna zabava ob zaključku projektov na Observability Summit, Kubecon San Diego.

Časovnica konvergence

Združevanje OpenTracing in OpenCensus: Pot do konvergence

Migracija za vsak jezik vključuje gradnjo SDK, pripravljeno za proizvodnjo, orodja za priljubljene knjižnice, dokumentacijo, CI, orodja za združljivost nazaj in zaprtje povezanih projektov OpenCensus in OpenTracing (»zahod«). Za september 2019 smo si zastavili ambiciozen cilj – doseči enakost za jezike C#, Golang, Java, NodeJS in Python. Datum prenehanja bomo premaknili, dokler vsi jeziki ne bodo pripravljeni. Vendar se je temu bolje izogniti.
Pri ogledu ciljev upoštevajte svojo osebno vpletenost, sporočite nam tako, da izpolnite Obrazec za registracijo, ali tako, da se pozdravite v klepetalnicah projekta Gitter OpenTracing и OpenCensus. Graf si lahko ogledate kot infografiko tukaj.

Cilj: Prvi osnutek medjezične specifikacije (dokončanje do 8. maja)

Pomembno je, da delujemo povezano, tudi če delamo vzporedno v različnih jezikih. Medjezična specifikacija zagotavlja smernice za projekt. Sliši se prozaično, vendar zagotavlja podporo za skladen sistem, ki se zdi znan ne glede na programski jezik.

Obvezne zahteve za prvi osnutek specifikacije za jezik X:

  • Definicije splošne terminologije.
  • Model za opis porazdeljenih transakcij, statistike in metrike.
  • Pojasnila o pomembnih vprašanjih, ki so se pojavila med izvajanjem.

Ta cilj blokira ostalo delo, prvi osnutek mora biti končan do 8. maja.

Cilj: Prvi osnutek specifikacije podatkov (dokončanje do 6. julija)

Podatkovna specifikacija opredeljuje skupno obliko podatkov za sledi in metrike, tako da lahko podatke, ki jih izvažajo vsi procesi, obdela ista telemetrična infrastruktura ne glede na postopek generiranja podatkov. To vključuje podatkovno shemo za model sledenja, opisan v medjezikovni specifikaciji. Vključene so tudi definicije metapodatkov za pogoste operacije, ki jih sled uporablja za zajemanje, kot so zahteve HTTP, napake in poizvedbe po bazi podatkov. te pomenske konvencije so primer.

Prvi osnutek temelji na trenutnem formatu podatkov OpenCensus in bo vseboval naslednje:

  • Podatkovna shema, ki izvaja medjezikovno specifikacijo.
  • Definicije metapodatkov za običajne operacije.
  • Definicije JSON in Protobuf.
  • Implementacija referenčnih strank.

Upoštevajte, da obstaja tudi žični protokol, ki distribuira sledi znotraj pasu, kar bi prav tako radi standardizirali. Oblika distribucije Trace-Context razvit prek W3C.

Cilj: enakost v vseh glavnih podprtih jezikih (dokončanje do 6. septembra)

Doseči moramo enakost za trenutni jezikovni ekosistem z zamenjavo starih projektov z novimi.

  • Definicije vmesnika za sledenje, meritve in širjenje konteksta na podlagi medjezične specifikacije.
  • SDK, pripravljen za uporabo, ki izvaja te vmesnike in izvozi Trace-Data. Kjer je mogoče, bo SDK ustvarjen s prenosom obstoječe izvedbe iz OpenCensusa.
  • Komplet orodij za priljubljene knjižnice, ki so trenutno vključene v OpenTracing in OpenCensus.

Cenimo tudi združljivost za nazaj in želimo zagotoviti gladek prehod iz obstoječih projektov.

  • Novi SDK bo nazaj združljiv s trenutnimi vmesniki OpenTracing. Omogočili bodo, da bodo stara orodja OpenTracing delovala skupaj z novimi orodji v istem procesu, kar bo uporabnikom omogočilo, da sčasoma preselijo svoje delo.
  • Ko bo novi SDK pripravljen, bo ustvarjen načrt nadgradnje za trenutne uporabnike OpenCensus. Tako kot pri OpenTracingu bodo starejša orodja lahko še naprej delovala skupaj z novimi.
  • Do novembra bosta OpenTracing in OpenCensus zaprta za sprejemanje sprememb. Povratna združljivost s podedovanimi orodji bo podprta dve leti.

Ustvarjanje najboljšega SDK-ja v svojem razredu za vsak jezik zahteva veliko dela in to je tisto, kar najbolj potrebujemo.

Cilj: osnovna dokumentacija (dokončanje do 6. septembra)

Ključni dejavnik pri uspehu katerega koli odprtokodnega projekta je dokumentacija. Želimo vrhunsko dokumentacijo in orodja za usposabljanje, naši tehnični pisci pa so najbolj aktivni razvijalci pri projektu. Poučevanje razvijalcev, kako pravilno spremljati programsko opremo, je eden najpomembnejših vplivov, ki jih želimo imeti na svet.

Za začetek je potrebna najmanjša dokumentacija:

  • Projektna usmerjenost.
  • Opazljivost 101.
  • Začetek dela.
  • Jezikovni vodniki (za vsakega posebej).

Vabljeni pisci vseh ravni! Naše novo spletno mesto temelji na Hugu in uporablja običajne oznake, zato je prispevanje precej enostavno.

Cilj: Register v1.0 (dokončanje do 6. julija)

Register - še ena pomembna komponenta, izboljšana različica Register OpenTracing.

  • Z lahkoto je najti knjižnice, vtičnike, namestitvene programe in druge komponente.
  • Enostavno upravljanje komponent registra.
  • Ugotovite lahko, katere funkcije SDK so na voljo v posameznem jeziku.

Če vas zanimajo dizajn, vmesnik in UX, imamo odličen projekt za osebno sodelovanje.

Cilj: infrastruktura za testiranje in izdajo programske opreme (dokončanje do 6. septembra)

Da bi zagotovili, da bomo še naprej zagotavljali varno kodo, na katero se lahko zanesete, smo načrtno zavezani graditi kakovostno testiranje programske opreme in cevovode za izdajo. Sporočite nam, če lahko poskrbite za cevovode za testiranje, karakterizacijo in izdajo programske opreme. Jasno nakazujemo stopnjo proizvodne pripravljenosti, pri čemer bo za nas glavni odločilni dejavnik zrelost testne infrastrukture.

Cilj: zaključek projektov OpenTracing in OpenCensus (dokončanje do 6. novembra)

Stare projekte nameravamo začeti zapirati 6. septembra, če bo nov projekt dosegel pariteto z njimi. 2 meseca kasneje, z enakostjo vseh jezikov, nameravamo zapreti projekta OpenTracing in OpenCensus. To je treba razumeti takole:

  • repozitoriji bodo zamrznjeni in ne bodo izvedene nobene nadaljnje spremembe.
  • Trenutni komplet orodij ima načrtovano dveletno obdobje podpore.
  • uporabniki bodo lahko nadgradili na nov SDK z istimi orodji.
  • Možna bo postopna posodobitev.

Pridruži se nam

Veseli bomo vsake pomoči, saj gre za ogromen projekt. Če vas zanima učenje o opazljivosti, je zdaj pravi čas!

Vir: www.habr.com

Dodaj komentar