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 pro technické specifikace (Carlos Alberto, Bogdan Drutu, Sergei Kanzhelev a Yuri Shkuro).

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

Velmi, velmi stručně:

  • Vytváříme novou jednotnou sadu knihoven a specifikací pro možnosti sledování telemetrie. Sloučí projekty OpenTracing a OpenCensus a poskytne podporovanou cestu pro migraci.
  • Referenční implementace v Javě bude k dispozici 24. dubna a práce na implementacích v jiných jazycích začnou naplno 8. května 2019. Zobrazit rozvrh může být tady.
  • Do září 2019 je plánována parita se stávajícími projekty pro C#, Golang, Java, NodeJS a Python. Je před námi spousta práce, ale zvládneme to, když budeme pracovat paralelně. Pokud máte zájem zúčastnit se tohoto projektu, 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á, budou odpovídající projekty OpenTracing a OpenCensus uzavřeny. To znamená, že staré projekty budou zmrazeny a nový projekt bude nadále podporovat stávající nástroje po dobu dvou let pomocí zpětné kompatibility.

projekt Přehled

Sloučení OpenTracing a OpenCensus: Cesta ke konvergenci

Děláme fúzi! Konečným cílem je spojit projekty OpenTracing a OpenCensus do jednoho společného projektu.
Jádrem nového projektu bude sada čistých a promyšlených rozhraní, včetně tradičního sestavení knihoven, které tato rozhraní implementují v podobě tzv. SDK. Třešničkou na dortu budou doporučené standardy pro datové a drátové protokoly včetně společných částí infrastruktury.
Výsledkem bude kompletní telemetrický systém vhodný pro monitorování mikroslužeb a dalších typů moderních distribuovaných systémů, kompatibilní s většinou hlavních OSS a komerčních backendových softwarů.

Klíčové události

24.04/XNUMX — Referenční kandidát předložen ke kontrole.
8.05 — Vytvoří se tým a začne pracovat ve všech jazycích.
20.05 — Oficiální zahájení projektu na Kubecon Barcelona.
6.09 - Implementace v C#, Golang, Java, NodeJS a Python dosahují rovnocennosti se svými protějšky.
6.11 - Oficiální dokončení projektů OpenTracing a OpenCensus.
20.11 — Večírek na rozloučenou na počest dokončení projektů na Summitu pozorovatelnosti, Kubecon San Diego.

Časová osa konvergence

Sloučení OpenTracing a OpenCensus: Cesta ke konvergenci

Migrace pro každý jazyk zahrnuje sestavení SDK připravené pro produkci, nástroje pro oblíbené knihovny, dokumentaci, CI, nástroje zpětné kompatibility a uzavření souvisejících projektů OpenCensus a OpenTracing („sunset“). Na září 2019 jsme si stanovili ambiciózní cíl – dosažení parity pro jazyky C#, Golang, Java, NodeJS a Python. Posouváme datum západu, dokud nebudou připraveny všechny jazyky. Tomu je ale lepší se vyhnout.
Při prohlížení cílů prosím zvažte svou osobní účast, dejte nám vědět vyplněním Registrační formulářnebo pozdravem na Gitter chatech projektů OpenTracing и OpenCensus. Graf si můžete prohlédnout jako infografiku zde.

Cíl: První návrh specifikace pro více jazyků (dokončení do 8. května)

Je důležité pracovat soudržně, i když pracujete paralelně v různých jazycích. Mezijazyková specifikace poskytuje návod k projektu. Zní to prozaicky, ale zaručuje to podporu pro ucelený systém, který je povědomý bez ohledu na programovací jazyk.

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

  • Definice obecné terminologie.
  • Model pro popis distribuovaných transakcí, statistik a metrik.
  • Vyjasnění důležitých otázek, které vyvstaly během implementace.

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

Cíl: První návrh specifikace dat (dokončení do 6. července)

Specifikace dat definuje společný formát dat pro trasování a metriky, takže data exportovaná všemi procesy mohou být zpracována stejnou telemetrickou infrastrukturou bez ohledu na proces generování dat. To zahrnuje datové schéma pro model trasování popsané ve specifikaci pro více jazyků. Zahrnuty jsou také definice metadat pro běžné operace, které trasování používá k zachycení, jako jsou HTTP požadavky, chyby a databázové dotazy. Tyto sémantické konvence jsou příkladem.

První návrh je založen na aktuálním formátu dat OpenCensus a bude obsahovat následující:

  • Datové schéma, které implementuje specifikaci mezi jazyky.
  • Definice metadat pro běžné operace.
  • Definice JSON a Protobuf.
  • Realizace referenčních klientů.

Upozorňujeme, že existuje také drátový protokol, který distribuuje stopy v pásmu, který bychom rádi také standardizovali. Distribuční formát Trace-Context vyvinuté prostřednictvím W3C.

Cíl: rovnost mezi všemi hlavními podporovanými jazyky (dokončení do 6. září)

Musíme dosáhnout parity pro současný jazykový ekosystém nahrazením starých projektů novými.

  • Definice rozhraní pro trasování, metriky a šíření kontextu na základě specifikace mezi jazyky.
  • Sada SDK připravená k použití, která implementuje tato rozhraní a exportuje data trasování. Pokud je to možné, bude SDK vytvořeno portováním existující implementace z OpenCensus.
  • Toolkit pro oblíbené knihovny, které jsou v současnosti pokryty OpenTracing a OpenCensus.

Oceňujeme také zpětnou kompatibilitu a chceme zajistit hladký přechod ze stávajících projektů.

  • Nové SDK bude zpětně kompatibilní se současnými rozhraními OpenTracing. Umožní, aby starší nástroje OpenTracing běžely spolu s novými nástroji ve stejném procesu, což uživatelům umožní migrovat svou práci v průběhu času.
  • Až bude nové SDK připraveno, bude vytvořen plán upgradu pro současné uživatele OpenCensus. Stejně jako u OpenTracing budou moci starší nástroje pokračovat v práci s novými.
  • Do listopadu budou změny OpenTracing i OpenCensus uzavřeny. Zpětná kompatibilita se staršími nástroji bude podporována po dobu dvou let.

Vytvoření sady SDK nejlepší ve své třídě pro každý jazyk vyžaduje hodně práce, a to je to, co potřebujeme nejvíce.

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

Klíčovým faktorem úspěchu každého open source projektu je dokumentace. Chceme špičkovou dokumentaci a školicí nástroje a naši techničtí autoři jsou nejaktivnějšími vývojáři na projektu. Naučit vývojáře, jak správně monitorovat software, je jedním z nejdůležitějších dopadů, které chceme mít na svět.

Následující dokumenty jsou minimem požadovaným pro začátek:

  • Orientace na projekt.
  • Pozorovatelnost 101.
  • Začátek práce.
  • Jazykové příručky (pro každého zvlášť).

Spisovatelé všech úrovní jsou vítáni! Naše nové stránky jsou založeny na Hugo a používají běžné značky, takže je docela snadné přispívat.

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

Registr – další kritická součást, vylepšená verze Registr OpenTracing.

  • Je snadné najít knihovny, pluginy, instalační programy a další komponenty.
  • Snadná správa součástí registru.
  • Můžete zjistit, které funkce SDK jsou dostupné v jednotlivých jazycích.

Pokud vás zajímá design, rozhraní a UX, máme skvělý projekt pro osobní účast.

Cíl: infrastruktura pro testování a vydání softwaru (dokončení do 6. září)

Abychom zajistili, že budeme i nadále dodávat bezpečný kód, na který se můžete spolehnout, zavázali jsme se k vytvoření kvalitního testování softwaru a kanálů pro vydávání. Dejte nám prosím vědět, zda se můžete postarat o kanály pro testování, charakterizaci a vydání softwaru. Jasně označujeme úroveň připravenosti výroby a rozhodující pro nás bude vyspělost testovací infrastruktury.

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

Plánujeme zahájit uzavírání starých projektů 6. září, pokud s nimi nový projekt dosáhne parity. O 2 měsíce později, s paritou všech jazyků, plánujeme uzavřít projekty OpenTracing a OpenCensus. Mělo by to být chápáno takto:

  • úložiště budou zmrazena a nebudou provedeny žádné další změny.
  • Současná sada nástrojů má plánovanou dvouletou dobu podpory.
  • uživatelé budou moci upgradovat na novou sadu SDK pomocí stejných nástrojů.
  • Bude možná postupná aktualizace.

Přidej se teď

Uvítáme jakoukoli pomoc, protože se jedná o obrovský projekt. Pokud máte zájem dozvědět se o pozorovatelnosti, nyní je čas!

Zdroj: www.habr.com

Přidat komentář