Zlúčenie OpenTracing a OpenCensus: Cesta ku konvergencii

Zlúčenie OpenTracing a OpenCensus: Cesta ku konvergencii

Autori: Ted Young, Pritam Shah a Výbor pre technické špecifikácie (Carlos Alberto, Bogdan Drutu, Sergei Kanzhelev a Yuri Shkuro).

Spoločný projekt dostal názov: http://opentelemetry.io

Veľmi, veľmi stručne:

  • Vytvárame nový jednotný súbor knižníc a špecifikácií pre možnosti telemetrického monitorovania. Zlúči projekty OpenTracing a OpenCensus a poskytne podporovanú cestu pre migráciu.
  • Referenčná implementácia v jazyku Java bude k dispozícii 24. apríla a práce na implementáciách v iných jazykoch sa naplno začnú 8. mája 2019. Pozrite si rozvrh môže byť tu.
  • Do septembra 2019 sa plánuje parita s existujúcimi projektmi pre C#, Golang, Java, NodeJS a Python. Je pred nami veľa práce, ale zvládneme to, ak budeme pracovať paralelne. Ak máte záujem zúčastniť sa tohto projektu, zaregistrujte sa a dajte nám vedieť, ako by ste chceli prispieť.
  • Keď bude implementácia v každom jazyku zrelá, príslušné projekty OpenTracing a OpenCensus sa uzavrú. To znamená, že staré projekty budú zmrazené a nový projekt bude dva roky naďalej podporovať existujúce nástroje pomocou spätnej kompatibility.

Prehľad projektu

Zlúčenie OpenTracing a OpenCensus: Cesta ku konvergencii

Robíme fúziu! Konečným cieľom je spojiť projekty OpenTracing a OpenCensus do jedného spoločného projektu.
Jadrom nového projektu bude súbor čistých a premyslených rozhraní, vrátane tradičného zostavovania knižníc, ktoré tieto rozhrania implementujú vo forme tzv. SDK. Čerešničkou na torte budú odporúčané štandardy pre dátové a drôtové protokoly vrátane spoločných častí infraštruktúry.
Výsledkom bude kompletný telemetrický systém vhodný na monitorovanie mikroslužieb a iných typov moderných distribuovaných systémov, kompatibilný s väčšinou hlavných OSS a komerčných backendových softvérov.

Kľúčové udalosti

24.04/XNUMX — Referenčný kandidát predložený na posúdenie.
8.05 — Vytvorí sa tím a začne pracovať vo všetkých jazykoch.
20.05 – Oficiálne spustenie projektu na Kubecon Barcelona.
6.09 - Implementácie v C#, Golang, Java, NodeJS a Python dosahujú paritu so svojimi náprotivkami.
6.11 - Oficiálne ukončenie projektov OpenTracing a OpenCensus.
20.11 – Rozlúčková párty na počesť dokončenia projektov na samite o pozorovateľnosti, Kubecon San Diego.

Časová os konvergencie

Zlúčenie OpenTracing a OpenCensus: Cesta ku konvergencii

Migrácia pre každý jazyk zahŕňa zostavu SDK pripravenú na produkciu, nástroje pre populárne knižnice, dokumentáciu, CI, nástroje spätnej kompatibility a ukončenie súvisiacich projektov OpenCensus a OpenTracing („sunset“). Na september 2019 sme si stanovili ambiciózny cieľ – dosiahnuť paritu pre jazyky C#, Golang, Java, NodeJS a Python. Posúvame dátum západu, kým nebudú pripravené všetky jazyky. Ale je lepšie sa tomu vyhnúť.
Pri prezeraní cieľov zvážte svoju osobnú účasť, dajte nám vedieť vyplnením Registračný formuláralebo pozdravom na Gitter chatoch projektov OpenTracing и OpenCensus. Graf si môžete pozrieť ako infografiku tu.

Cieľ: Prvý návrh špecifikácie viacerých jazykov (dokončenie do 8. mája)

Je dôležité pracovať súdržne, aj keď pracujete paralelne v rôznych jazykoch. Špecifikácia medzi jazykmi poskytuje návod pre projekt. Znie to prozaicky, no zaručuje to podporu pre koherentný systém, ktorý je známy bez ohľadu na programovací jazyk.

Povinné požiadavky na prvý návrh špecifikácie pre jazyk X:

  • Definície všeobecnej terminológie.
  • Model na popis distribuovaných transakcií, štatistík a metrík.
  • Objasnenia dôležitých otázok, ktoré sa vyskytli počas implementácie.

Tento cieľ blokuje zvyšok práce, prvý návrh musí byť dokončený do 8. mája.

Cieľ: Prvý návrh špecifikácie údajov (dokončenie do 6. júla)

Špecifikácia údajov definuje spoločný formát údajov pre stopy a metriky, takže údaje exportované všetkými procesmi môžu byť spracované rovnakou infraštruktúrou telemetrie bez ohľadu na proces generovania údajov. To zahŕňa dátovú schému pre model sledovania opísanú v špecifikácii medzi jazykmi. Zahrnuté sú aj definície metaúdajov pre bežné operácie, ktoré sledovanie používa na zachytenie, ako sú HTTP požiadavky, chyby a databázové dotazy. Títo sémantické konvencie sú príkladom.

Prvý návrh je založený na aktuálnom formáte údajov OpenCensus a bude obsahovať nasledovné:

  • Schéma údajov, ktorá implementuje špecifikáciu viacerých jazykov.
  • Definície metadát pre bežné operácie.
  • Definície JSON a Protobuf.
  • Realizácia referenčných klientov.

Upozorňujeme, že existuje aj drôtový protokol, ktorý distribuuje stopy v pásme, ktorý by sme chceli tiež štandardizovať. Distribučný formát Trace-Context vyvinuté prostredníctvom W3C.

Cieľ: rovnosť medzi všetkými hlavnými podporovanými jazykmi (dokončenie do 6. septembra)

Musíme dosiahnuť paritu pre súčasný jazykový ekosystém nahradením starých projektov novými.

  • Definície rozhrania pre sledovanie, metriky a šírenie kontextu založené na špecifikácii viacerých jazykov.
  • Súprava SDK pripravená na použitie, ktorá implementuje tieto rozhrania a exportuje údaje sledovania. Ak je to možné, SDK sa vytvorí portovaním existujúcej implementácie z OpenCensus.
  • Sada nástrojov pre populárne knižnice, ktoré sú v súčasnosti zahrnuté v OpenTracing a OpenCensus.

Oceňujeme aj spätnú kompatibilitu a chceme zabezpečiť hladký prechod z existujúcich projektov.

  • Nová súprava SDK bude spätne kompatibilná so súčasnými rozhraniami OpenTracing. Umožnia, aby staré nástroje OpenTracing fungovali spolu s novými nástrojmi v rovnakom procese, čo používateľom umožní migrovať svoju prácu v priebehu času.
  • Keď bude nová súprava SDK pripravená, pre súčasných používateľov OpenCensus sa vytvorí plán aktualizácie. Rovnako ako v prípade OpenTracing, staršie nástroje budú môcť pokračovať v práci spolu s novými.
  • Do novembra budú zmeny OpenTracing aj OpenCensus uzavreté. Spätná kompatibilita so staršími nástrojmi bude podporovaná dva roky.

Vytvorenie najlepšej súpravy SDK pre každý jazyk si vyžaduje veľa práce, a to je to, čo potrebujeme najviac.

Cieľ: základná dokumentácia (dokončenie do 6. septembra)

Rozhodujúcim faktorom úspechu každého open source projektu je dokumentácia. Chceme špičkovú dokumentáciu a školiace nástroje a naši technickí autori sú najaktívnejšími vývojármi projektu. Naučiť vývojárov, ako správne monitorovať softvér, je jedným z najdôležitejších dopadov, ktoré chceme mať na svet.

Na začatie práce sú minimálne potrebné tieto časti dokumentácie:

  • Projektová orientácia.
  • Pozorovateľnosť 101.
  • Začíname.
  • Jazykové príručky (pre každého zvlášť).

Spisovatelia všetkých úrovní sú vítaní! Naša nová stránka je založená na Hugovi a používa bežné značky, takže je celkom jednoduché prispievať.

Cieľ: Register v1.0 (dokončenie do 6. júla)

Register – ďalší dôležitý komponent, vylepšená verzia Register OpenTracing.

  • Je ľahké nájsť knižnice, pluginy, inštalátory a ďalšie komponenty.
  • Jednoduchá správa komponentov databázy Registry.
  • Môžete zistiť, ktoré funkcie súpravy SDK sú dostupné v jednotlivých jazykoch.

Ak máte záujem o dizajn, rozhranie a UX, máme vynikajúci projekt pre osobnú účasť.

Cieľ: infraštruktúra na testovanie a vydanie softvéru (dokončenie do 6. septembra)

Aby sme zaistili, že budeme aj naďalej poskytovať bezpečný kód, na ktorý sa môžete spoľahnúť, zaviazali sme sa k budovaniu kvalitného testovania softvéru a vydávania kanálov. Dajte nám vedieť, či sa môžete postarať o kanály na testovanie, charakterizáciu a vydanie softvéru. Jasne označujeme úroveň pripravenosti výroby a rozhodujúcim faktorom pre nás bude najmä vyspelosť testovacej infraštruktúry.

Cieľ: ukončenie projektov OpenTracing a OpenCensus (ukončenie do 6. novembra)

Staré projekty plánujeme začať zatvárať 6. septembra, ak s nimi nový projekt dosiahne rovnakú úroveň. O 2 mesiace neskôr, s paritou všetkých jazykov, plánujeme ukončiť projekty OpenTracing a OpenCensus. Treba to chápať takto:

  • úložiská budú zmrazené a nebudú sa robiť žiadne ďalšie zmeny.
  • Súčasný súbor nástrojov má naplánované dvojročné obdobie podpory.
  • používatelia budú môcť inovovať na novú súpravu SDK pomocou rovnakých nástrojov.
  • Bude možná postupná aktualizácia.

Pripoj sa k nám

Uvítame akúkoľvek pomoc, keďže ide o obrovský projekt. Ak máte záujem dozvedieť sa o pozorovateľnosti, teraz je ten správny čas!

Zdroj: hab.com

Pridať komentár