Povezovanje OpenTracing in OpenCensus: pot do konvergence

Povezovanje OpenTracing in OpenCensus: pot do konvergence

Avtorji: Ted Yang, Pritam Shah in 'Komite za tehnične specifikacije' (Carlos Alberto, Bogdan Drutu, Sergey Kanzhalyev in Yuri Shkuro).

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

Zelo, zelo na kratko:

  • Ustvarjamo nov poenoten nabor knjižnic in specifikacij za spremljanje telemetrije. Ta bo združil projekte OpenTracing in OpenCensus ter ponudil podprt način migracije.
  • Referenčna implementacija v Javi bo na voljo 24. aprila, dela na implementacijah v drugih jezikih se bodo začela v polni meri od 8. maja 2019. S seznamom možete ovde.
  • Do septembra 2019 je načrtovan paritet z obstoječimi projekti za C#, Golang, Java, NodeJS in Python. Čaka nas ogromno dela, ampak zmogli bomo, če bomo delali hkrati. Če ste zainteresirani za sodelovanje pri tem projektu, se prosimo registrirajte in nam sporočite, kako bi radi prispevali.
  • Ko bo implementacija v vsakem jeziku zrela, bodo ustrezni projekti OpenTracing in OpenCensus zaprti. To pomeni zamrznitev starih projektov, novi projekt pa bo nadaljeval z zagotavljanjem obstoječih orodij v naslednjih dveh letih, ob uporabi nazadne združljivosti.

Pregled projekta

Povezovanje OpenTracing in OpenCensus: pot do konvergence

Izvajamo združitev! Najvišji cilj je združiti projekte OpenTracing in OpenCensus v en skupen projekt.
Jedro novega projekta bo niz čistih in premišljenih vmesnikov, vključno s tradicionalno zbirko knjižnic, ki implementirajo te vmesnike v obliki t. i. SDK. Češnja na torti bodo priporočeni standardi za podatke in protokole, vključno s skupnimi deli infrastrukture.
Izid bo popoln sistem telemetrije, primeren za spremljanje mikroservisov in drugih vrst sodobnih razporejenih sistemov, združljiv z večino glavnih OSS in komercialnih osnovnih programov.

Ključni dogodki

24.04 — Referenčni kandidat predložen v pregled.
8.05 — Oblikovanje ekipe, ki se bo začela ukvarjati z vsemi jeziki.
20.05 — Uradni zagon projekta na Kubecon Barcelona.
6.09 — Implementacije v C#, Golang, Java, NodeJS in Python dosežejo paritet z enakovredniki.
6.11 — Uradno zaključitev projektov OpenTracing in OpenCensus.
20.11 — Poslovilna zabava ob zaključku projektov na Observability Summit, Kubecon San Diego.

Kronologija konvergencije

Povezovanje OpenTracing in OpenCensus: pot do konvergence

Migracija za svaki jezik uključuje razvoj SDK-a spremnog za industrijsku primenu, alate za popularne biblioteke, dokumentaciju, CI, sredstva za obezbeđivanje unBackwards kompatibilnosti i zatvaranje povezanih projekata OpenCensus i OpenTracing („zalazak sunca“). Postavili smo ambiciozan cilj za septembar 2019. - postizanje pariteta za jezike C#, Golang, Java, NodeJS i Python. Pomišaćemo datum „zalaska sunca“ sve dok svi jezici ne budu spremni. Ali bolje je izbeći to.
Kada razmatrate ciljeve, molimo vas da razmislite o svom ličnom učešću, obavestite nas o tome popunjavanjem registracione forme, ili razgovorom na Gitter chatovima projekata OpenTracing in OpenCensus. Grafikon se može pregledati u formi infografike ovde.

Cilj: prvi nacrt međujezičke specifikacije (završetak do 8. maja)

Važno je raditi usklađeno, čak i kada se paralelno radi na različitim jezicima. Međujezička specifikacija pruža smernice za projekat. Zvuči suhoparno, ali to je garancija podrške celokupnom sistemu koji deluje poznato bez obzira na programski jezik.

Obavezni zahtevi za prvi nacrt specifikacije za jezik X:

  • Definicije zajedničke terminologije.
  • Model za opisivanje raspodeljenih transakcija, statistike i metrika.
  • Objašnjenja važnih pitanja koja su se javila tokom implementacije.

Ovaj cilj blokira ostale poslove, prvi nacrt mora biti završen do 8. maja.

Cilj: prvi nacrt za specifikaciju podataka (završetak do 6. jula)

Specifikacija podataka definiše zajednički format podataka za praćenje i metrike, tako da se podaci koje uvoze svi procesi mogu obrađivati istom telemetrijskom infrastrukturom bez obzira na proces generisanja podataka. Uključuje shemu podataka za model praćenja opisanu u međujezičkoj specifikaciji. Takođe uključuje definicije metapodataka za zajedničke operacije koje praćenje koristi za prikupljanje: na primer, HTTP zahteve, greške i upite u bazi podataka. Ovi semantički dogovori su primer.

Prvi nacrt se oslanja na trenutni format podataka OpenCensus i sadržavaće sledeće:

  • Shema podataka koja implementira međujezičku specifikaciju.
  • Definicije metapodataka za zajedničke operacije.
  • Definicije JSON i Protobuf.
  • Implementacija referentnih klijenata.

Prosimo, da upoštevate, da obstaja tudi žični protokol, ki razširja sledenje znotraj pasovne širine in ga želimo tudi standardizirati. Oblika razširjanja Trace-Context se razvija preko W3C.

Cilj: pariteta v vseh glavnih podprtih jezikih (zaključek do 6. septembra)

Moramo doseči pariteto v trenutnem jezikovnem ekosistemu, da zamenjamo stare projekte z novimi.

  • Definicije vmesnika za sledenje, metrike in razširjanje konteksta na podlagi medjezikovne specifikacije.
  • Delujoči SDK, ki implementira te vmesnike in izvozi Trace-Data. Kjer je to mogoče, bo SDK ustvarjen z migracijo obstoječe implementacije iz OpenCensus.
  • Orodja za priljubljene knjižnice, ki so trenutno pokrita v OpenTracing in OpenCensus.

Prav tako cenimo obratno združljivost in želimo zagotoviti gladek prehod z obstoječih projektov.

  • V novem SDK bodo orodja za obratno združljivost s trenutnimi vmesniki OpenTracing. Ti bodo omogočili, da zastarele orodne rešitve OpenTracing delujejo skupaj z novimi orodnimi rešitvami v istem procesu, kar uporabnikom omogoča postopno prenašanje svojih del.
  • Ob pripravi novega SDK bo pripravljen načrt posodobitve za trenutne uporabnike OpenCensus. Tako kot pri OpenTracing bodo zastarela orodja lahko še naprej delovala skupaj z novimi.
  • Do novembra bosta OpenTracing in OpenCensus zaprta za sprejemanje sprememb. Obratna združljivost z zastarelimi orodji bo podprta še dve leti.

Ustvarjanje najboljšega SDK za vsak jezik zahteva ogromno dela in to je pravzaprav to, kar potrebujemo najbolj.

Cilj: osnovna dokumentacija (zaključek do 6. septembra)

Kritični dejavnik uspeha katerega koli projekta z odprtokodno kodo je dokumentacija. Želimo imeti vrhunsko dokumentacijo in sredstva za usposabljanje, naši tehnični pisci so najbolj aktivni razvijalci na projektu. Usposabljanje razvijalcev za pravilno opazovanje programske opreme je eden najpomembnejših vplivov, ki ga želimo imeti na svet.

Za začetek so potrebni naslednji deli dokumentacije:

  • Usmeritev projekta.
  • Opazovanje 101.
  • Začetek dela.
  • Vodniki po jezikih (posamično za vsak jezik).

Vabimo pisatelje vseh ravni! Naša nova stran temelji na Hugu in uporablja običajno označevanje, zato je zelo enostavno prispevati.

Cilj: Registry v1.0 (zaključek do 6. julija)

Registry – še ena kritična komponenta, izboljšana različica OpenTracing Registry.

  • Enostavno najti knjižnice, vtičnike, namestitvene programe in druge komponente.
  • Enostavno upravljanje komponent Registry.
  • Lahko izveste, katere funkcije SDK so na voljo v vsakem jeziku.

Če vas zanima oblikovanje, uporabniški vmesnik in UX – imamo odličen projekt za osebno sodelovanje.

Cilj: infrastruktura za testiranje in izdajanje programske opreme (zaključek do 6. septembra)

Da bomo še naprej dobavljali varen kodo, na katero se lahko zanesemo, imamo projektno zavezo za vzpostavitev kakovostnih cevi za testiranje in izdajo programske opreme. Prosimo, sporočite nam, če lahko poskrbite za cevi za testiranje, merjenje zmogljivosti in izdajo programske opreme. Jasno opredeljujemo raven pripravljenosti proizvodnje, zrelost testne infrastrukture pa bo ključni odločilni dejavnik za nas.

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

Načrtujemo začetek zaključka starih projektov od 6. septembra, če novi projekt doseže pariteto z njimi. Dva meseca kasneje, pri pariteti vseh jezikov, načrtujemo zaključek projektov OpenTracing in OpenCensus. To pomeni:

  • repozitoriji bodo zamrznjeni, ureditev ne bo več možna.
  • za trenutni niz orodij je načrtovana dvoletnja podpora.
  • uporabniki se bodo lahko nadgradili na novo SDK, z uporabo prejšnjega niza orodij.
  • možno bo postopno nadgrajevanje.

Pridružite se

Veseli bomo kakršnekoli pomoči, saj gre za velik projekt. Če vas zanima opazovanje – zdaj je pravi čas!

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster