Sloučení OpenTracing a OpenCensus: cesta ke konvergenci

Sloučení OpenTracing a OpenCensus: cesta ke konvergenci

Autoři: Ted Young, Pritam Shah a „Výbor technických specifikací“ (Carlos Alberto, Bogdan Drutu, Sergey Kanjalev a Yuri Shkuro).

Společný projekt získal název: http://opentelemetry.io

Velmi, velmi stručně:

  • Vytváříme nový unifikovaný soubor knihoven a specifikací pro sledování telemetrie. Ten spojí projekty OpenTracing a OpenCensus a také poskytne podporovaný způsob migrace.
  • Referenční implementace v Javě bude k dispozici 24. dubna, práce na implementacích v dalších jazycích začne naplno 8. května 2019. Seznamte se s časovým plánem zde.
  • Do září 2019 je naplánována parita s existujícími projekty pro C#, Golang, Java, NodeJS a Python. Čeká nás spousta práce, ale zvládneme to, pokud budeme pracovat paralelně. Pokud máte zájem zúčastnit se tohoto projektu, prosím, zaregistrujte se a dejte nám vědět, jak byste chtěli přispět.
  • Jakmile bude implementace v každém jazyce zralá, příslušné projekty OpenTracing a OpenCensus budou uzavřeny. To znamená zmrazení starých projektů, zatímco nový projekt bude nadále podporovat stávající nástroje po dobu dvou let s využitím zpětné kompatibility.

Přehled projektu

Sloučení OpenTracing a OpenCensus: cesta ke konvergenci

Spojujeme se! Nejvyšším cílem je sloučit projekty OpenTracing a OpenCensus do jednoho společného projektu.
Jádro nového projektu bude soubor čistých a promyšlených rozhraní, včetně tradiční sestavy knihoven, které implementují tato rozhraní ve formě tzv. SDK. Třešničkou na dortu budou doporučené standardy pro data a drátové protokoly, včetně společných částí infrastruktury.
Výsledkem bude plnohodnotný telemetrický systém vhodný k monitorování mikroslužeb a dalších typů moderních distribuovaných systémů, kompatibilní se většinou hlavních OSS a komerčně dostupných základních programů.

Hlavní události

24.04 — Referenční kandidát je předložen k přezkoumání.
8.05 — Tvoří se tým, který začne pracovat ve všech jazycích.
20.05 — Oficiální zahájení projektu na Kubecon Barcelona.
6.09 — Implementace C#, Golang, Java, NodeJS a Python dosahují parity s analogickými projekty.
6.11 — Oficiální ukončení projektů OpenTracing a OpenCensus.
20.11 — Rozlučková párty na oslavu ukončení projektů na Observability Summit, Kubecon San Diego.

Chronologie konvergence

Sloučení OpenTracing a OpenCensus: cesta ke konvergenci

Migrace pro každý jazyk zahrnuje sestavení SDK připraveného k průmyslovému nasazení, nástroje pro populární knihovny, dokumentaci, CI, prostředky zpětné kompatibility a uzavření souvisejících projektů OpenCensus a OpenTracing ("západ slunce"). Stanovili jsme ambiciózní cíl na září 2019 – dosáhnout parity pro jazyky C#, Golang, Java, NodeJS a Python. Budeme posouvat datum "západu slunce" tak dlouho, dokud nebudou všechny jazyky připraveny. Upřednostňujeme však, abychom se tomu vyhnuli.
Při pohledu na cíle, prosím, zvažte svou osobní účast a dejte nám o tom vědět vyplněním registračního formuláře, nebo pozdravem v chatech Gitter projektů OpenTracing a OpenCensus. Graf lze zobrazit ve formě infografiky zde.

Cíl: první návrh mezijazykové specifikace (dokončení do 8. května)

Je důležité pracovat soudržně, i když paralelně na různých jazycích. Mezijazyková specifikace poskytuje vodítko pro projekt. Zní to prozaicky, ale je to záruka podpory celkového systému, který se zdá být známý bez ohledu na programovací jazyk.

Povinné požadavky pro první návrh specifikace pro jazyk X:

  • Definice společné terminologie.
  • Model pro popis distribuovaných transakcí, statistik a metrik.
  • Vysvětlení důležitých otázkách, které vznikly během implementace.

Tento cíl blokuje ostatní práce, první návrh musí být dokončen do 8. května.

Cíl: první návrh pro specifikaci dat (dokončení do 6. července)

Specifikace dat definuje společný datový formát pro trasování a metriky, takže data exportovaná všemi procesy mohou být zpracovávána stejnou telemetrickou infrastrukturou nezávisle na procesu generování dat. Sem patří schéma dat pro model trasování popsané v mezijazykové specifikaci. Zahrnují se také definice metadat pro běžné operace, které trasování využívá pro zachycení: například HTTP požadavky, chyby a databázové dotazy. Tyto semantické dohody jsou příkladem.

První návrh je založen na současném datovém formátu OpenCensus a bude obsahovat následující:

  • Schéma dat implementující mezijazykovou specifikaci.
  • Definice metadat pro běžné operace.
  • Definice JSON a Protobuf.
  • Implementace referenčních klientů.

Vezměte prosím na vědomí, že také existuje drátový protokol, který šíří stopy uvnitř pásma, a který bychom také chtěli standardizovat. Formát šíření Trace-Context se vyvíjí prostřednictvím W3C.

Cíl: parita ve všech hlavních podporovaných jazycích (dokončení do 6. září)

Musíme dosáhnout parity pro aktuální jazykový ekosystém v pořadí nahrazování starých projektů novými.

  • Definice rozhraní pro trasování, metriky a šíření kontextu na základě mezijazykové specifikace.
  • Funkční SDK, implementující tato rozhraní, exportující Trace-Data. Pokud to bude možné, SDK bude vytvořeno přenesením existující implementace z OpenCensus.
  • Nástroje pro populární knihovny aktuálně pokryté v OpenTracing a OpenCensus.

Také si ceníme zpětné kompatibility a chceme zajistit hladký přechod z existujících projektů.

  • Nové SDK bude mít prostředky zpětné kompatibility s aktuálními rozhraními OpenTracing. Umožní to zastaralým nástrojům OpenTracing pracovat spolu s novými nástroji ve stejném procesu, což uživatelům umožní postupně migrovat své vývojové práce.
  • Jakmile bude nové SDK připraveno, bude vytvořen plán aktualizace pro současné uživatele OpenCensus. Stejně jako v případě OpenTracing budou zastaralé nástroje moci nadále fungovat spolu s novými.
  • Do listopadu budou OpenTracing i OpenCensus uzavřeny pro příjem změn. Zpětná kompatibilita se zastaralými nástroji bude podporována po dobu dvou let.

Vytvoření nejlepšího SDK ve své třídě pro každý jazyk vyžaduje obrovské úsilí, a to je přesně to, co nejvíce potřebujeme.

Cíl: hlavní dokumentace (dokončení do 6. září)

Kritickým faktorem úspěchu jakéhokoli projektu s otevřeným zdrojovým kódem je dokumentace. Chceme mít špičkovou dokumentaci a prostředky pro školení, naši technici jsou nejaktivnějšími vývojáři na projektu. Vzdělání vývojářů o správném pozorování softwaru je jedním z nejdůležitějších dopadů, které chceme mít na svět.

Minimálně potřebné dokumentační části k zahájení:

  • Orientace projektu.
  • Pozorovatelnost 101.
  • Jak začít.
  • Příručky pro jazyky (každá zvlášť).

Zveme autory všech úrovní! Náš nový web je postaven na Hugo, používá běžné značkování, takže je velmi snadné přispět.

Cíl: Registry v1.0 (uzavření do 6. července)

Registry — další kriticky důležitá součást, vylepšená verze OpenTracing Registry.

  • Snadno najdete knihovny, pluginy, instalátory a další komponenty.
  • Snadná správa komponent Registry.
  • Můžete zjistit, které funkce SDK jsou k dispozici v každém jazyce.

Pokud máte zájem o design, uživatelské rozhraní a UX — máme skvělý projekt pro osobní účast.

Cíl: infrastruktura pro testování a uvolňování softwaru (uzavření do 6. září)

Abychom mohli nadále dodávat bezpečný kód, na který se můžete spolehnout, máme projektové závazky k vytvoření kvalitních pipeline pro testování a uvolňování softwaru. Dejte nám prosím vědět, zda můžete poskytnout konveje pro testování, měření výkonu a uvolňování softwaru. Jasně vymezujeme úroveň připravenosti k produkci a zralost testovací infrastruktury bude pro nás hlavním rozhodujícím faktorem.

Cíl: uzavření projektů OpenTracing a OpenCensus (uzavření do 6. listopadu)

Plánujeme začít uzavírání starých projektů od 6. září, pokud nový projekt dosáhne parity s nimi. O 2 měsíce později, při paritě všech jazyků, plánujeme uzavření projektů OpenTracing a OpenCensus. To by mělo být chápáno takto:

  • repozitáře budou zmrazeny, úpravy již nebudou prováděny.
  • pro aktuální nástroje je naplánována dvouletá podpora.
  • uživatelé budou moci přejít na nové SDK pomocí starých nástrojů.
  • bude možné postupné aktualizace.

Připojte se

Budeme rádi za jakoukoli pomoc, protože je to obrovský projekt. Pokud máte zájem o sledovatelnost — právě teď je ten správný čas!

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster