Spajanje OpenTracinga i OpenCensusa: Put do konvergencije

Spajanje OpenTracinga i OpenCensusa: Put do konvergencije

Autori: Ted Young, Pritam Shah i Odbor za tehničke specifikacije (Carlos Alberto, Bogdan Drutu, Sergei Kanzhelev i Yuri Shkuro).

Zajednički projekt dobio je naziv: http://opentelemetry.io

Vrlo, vrlo kratko:

  • Stvaramo novi objedinjeni skup biblioteka i specifikacija za mogućnosti nadzora telemetrije. Spojit će projekte OpenTracing i OpenCensus i pružiti podržani put za migraciju.
  • Referentna implementacija u Javi bit će dostupna 24. travnja, a rad na implementacijama na drugim jezicima u potpunosti će započeti 8. svibnja 2019. Pogledajte raspored mogu biti ovdje.
  • Do rujna 2019. planira se paritet s postojećim projektima za C#, Golang, Java, NodeJS i Python. Puno je posla pred nama, ali možemo se nositi ako radimo paralelno. Ako ste zainteresirani za sudjelovanje u ovom projektu, molimo vas da se registrirate i javite nam na koji način želite doprinijeti.
  • Nakon što implementacija na svakom jeziku bude zrela, odgovarajući projekti OpenTracing i OpenCensus bit će zatvoreni. To znači da će stari projekti biti zamrznuti, a novi će projekt nastaviti podržavati postojeće alate dvije godine koristeći kompatibilnost unazad.

Pregled projekta

Spajanje OpenTracinga i OpenCensusa: Put do konvergencije

Radimo spajanje! Konačni cilj je spojiti projekte OpenTracing i OpenCensus u jedan zajednički projekt.
Srž novog projekta bit će skup čistih i promišljenih sučelja, uključujući tradicionalni sklop knjižnica koje ta sučelja implementiraju u obliku tzv. SDK. Šlag na tortu bit će preporučeni standardi za podatkovne i žične protokole, uključujući zajedničke dijelove infrastrukture.
Rezultat će biti kompletan telemetrijski sustav prikladan za nadzor mikroservisa i drugih vrsta modernih distribuiranih sustava, kompatibilan s većinom glavnih OSS i komercijalnih pozadinskih softvera.

Ključni događaji

24.04/XNUMX — Referentni kandidat predan na reviziju.
8.05 — Tim se formira i kreće s radom na svim jezicima.
20.05 — Službeno predstavljanje projekta na Kubeconu u Barceloni.
6.09 - Implementacije u C#, Golangu, Javi, NodeJS i Pythonu dostižu paritet sa svojim kolegama.
6.11 - Službeni završetak projekata OpenTracing i OpenCensus.
20.11 — Oproštajna zabava u čast završetka projekata na Observability Summitu, Kubecon San Diego.

Vremenska crta konvergencije

Spajanje OpenTracinga i OpenCensusa: Put do konvergencije

Migracija za svaki jezik uključuje SDK verziju spremnu za proizvodnju, alate za popularne biblioteke, dokumentaciju, CI, alate za kompatibilnost unazad i zatvaranje povezanih OpenCensus i OpenTracing projekata ("zalazak"). Postavili smo ambiciozan cilj za rujan 2019. - postizanje jednakosti za jezike C#, Golang, Java, NodeJS i Python. Pomaknut ćemo datum zalaska dok svi jezici ne budu spremni. Ali poželjno je to izbjegavati.
Prilikom pregledavanja ciljeva, molimo vas da uzmete u obzir vaš osobni angažman, javite nam ispunjavanjem upisnica, ili pozdravom u Gitter chatovima projekta OpenTracing и OpenCensus. Grafikon možete vidjeti kao infografiku здесь.

Cilj: Prvi nacrt međujezične specifikacije (dovršetak do 8. svibnja)

Važno je raditi kohezivno, čak i kada radite paralelno na različitim jezicima. Međujezična specifikacija pruža smjernice za projekt. Zvuči prozaično, ali jamči podršku za koherentan sustav koji se čini poznatim bez obzira na programski jezik.

Obavezni zahtjevi za prvi nacrt specifikacije za jezik X:

  • Definicije općeg nazivlja.
  • Model za opisivanje distribuiranih transakcija, statistike i metrike.
  • Pojašnjenja važnih pitanja koja su se pojavila tijekom provedbe.

Ovaj cilj blokira ostatak posla, prvi nacrt mora biti dovršen do 8. svibnja.

Cilj: Prvi nacrt za specifikaciju podataka (dovršetak do 6. srpnja)

Specifikacija podataka definira zajednički format podataka za praćenje i metriku tako da podatke koje izvoze svi procesi može obraditi ista telemetrijska infrastruktura bez obzira na proces generiranja podataka. Ovo uključuje podatkovnu shemu za model praćenja opisan u međujezičnoj specifikaciji. Također su uključene definicije metapodataka za uobičajene operacije koje praćenje koristi za hvatanje, kao što su HTTP zahtjevi, pogreške i upiti baze podataka. ove semantičke konvencije su primjer.

Prvi nacrt temelji se na trenutnom formatu podataka OpenCensus i sadržavat će sljedeće:

  • Shema podataka koja implementira međujezičnu specifikaciju.
  • Definicije metapodataka za uobičajene operacije.
  • JSON i Protobuf definicije.
  • Implementacija referentnih klijenata.

Imajte na umu da postoji i žičani protokol koji distribuira tragove unutar pojasa, a koji bismo također željeli standardizirati. Format distribucije Trag-kontekst razvijen kroz W3C.

Cilj: jednakost na svim glavnim podržanim jezicima (dovršetak do 6. rujna)

Moramo postići ravnopravnost trenutnog jezičnog ekosustava zamjenom starih projekata novima.

  • Definicije sučelja za praćenje, metriku i širenje konteksta na temelju međujezične specifikacije.
  • SDK spreman za korištenje koji implementira ova sučelja i izvozi Trace-Data. Gdje je to moguće, SDK će se izraditi prijenosom postojeće implementacije iz OpenCensusa.
  • Alati za popularne biblioteke trenutno pokriveni OpenTracingom i OpenCensusom.

Također cijenimo kompatibilnost sa starijim verzijama i želimo osigurati nesmetan prijelaz s postojećih projekata.

  • Novi SDK bit će unazad kompatibilan s trenutnim OpenTracing sučeljima. Omogućit će naslijeđenim OpenTracing alatima da rade uz nove alate u istom procesu, omogućujući korisnicima da migriraju svoj rad tijekom vremena.
  • Kada novi SDK bude spreman, izradit će se plan nadogradnje za trenutne korisnike OpenCensusa. Kao i kod OpenTracinga, naslijeđeni alati moći će nastaviti raditi uz nove.
  • Do studenog će i OpenTracing i OpenCensus biti zatvoreni za prihvaćanje promjena. Povratna kompatibilnost s naslijeđenim alatima bit će podržana dvije godine.

Stvaranje najboljeg SDK-a za svaki jezik zahtijeva puno rada, a to je ono što nam najviše treba.

Cilj: osnovna dokumentacija (dovršetak do 6. rujna)

Kritični čimbenik uspjeha svakog projekta otvorenog koda je dokumentacija. Želimo vrhunsku dokumentaciju i alate za obuku, a naši tehnički pisci najaktivniji su programeri na projektu. Poučavanje programera kako pravilno pratiti softver jedan je od najvažnijih utjecaja koje želimo imati na svijet.

Sljedeća dokumentacija minimalno je potrebna za početak:

  • Projektna orijentacija.
  • Uočljivost 101.
  • Početak rada.
  • Jezični vodiči (za svaki zasebno).

Pisci svih razina su dobrodošli! Naša nova stranica temelji se na Hugu, koristi redovite oznake, tako da je vrlo jednostavno doprinositi.

Cilj: Registar v1.0 (dovršetak do 6. srpnja)

Registar - još jedna kritična komponenta, poboljšana verzija OpenTracing registar.

  • Lako je pronaći biblioteke, dodatke, programe za instalaciju i druge komponente.
  • Jednostavno upravljanje komponentama registra.
  • Možete saznati koje su značajke SDK-a dostupne na svakom jeziku.

Ako ste zainteresirani za dizajn, sučelje i UX, imamo odličan projekt za osobno sudjelovanje.

Cilj: infrastruktura za testiranje i puštanje softvera (završetak do 6. rujna)

Kako bismo osigurali da ćemo nastaviti isporučivati ​​siguran kod na koji se možete osloniti, imamo obvezu dizajna izraditi kvalitetno testiranje softvera i kanale za izdavanje. Obavijestite nas možete li se pobrinuti za cjevovode za testiranje, karakterizaciju i izdavanje softvera. Jasno označavamo razinu proizvodne spremnosti, a zrelost ispitne infrastrukture bit će glavni odlučujući faktor za nas.

Cilj: zatvaranje projekata OpenTracing i OpenCensus (završetak do 6. studenog)

Planiramo započeti sa zatvaranjem starih projekata 6. rujna, ako novi projekt postigne paritet s njima. 2 mjeseca kasnije, uz paritet svih jezika, planiramo zatvoriti projekte OpenTracing i OpenCensus. To treba shvatiti ovako:

  • spremišta će biti zamrznuta i neće se vršiti daljnje promjene.
  • Trenutačni skup alata ima planirano dvogodišnje razdoblje podrške.
  • korisnici će moći nadograditi na novi SDK koristeći iste alate.
  • Bit će moguće postupno ažuriranje.

Pridružite se sada

Svaka pomoć će nam biti dobrodošla jer je ovo ogroman projekt. Ako ste zainteresirani za učenje o promatranju, sada je pravi trenutak!

Izvor: www.habr.com

Dodajte komentar