Обединение на OpenTracing и OpenCensus: пътят към конвергенцията

Обединение на OpenTracing и OpenCensus: пътят към конвергенцията

Авторите: Тед Янг, Притам Шах и «Комитет за технически спецификации» (Карлос Алберто, Богдан Друту, Сергей Канжелев и Юрий Шкуро).

Съвместният проект получи името: http://opentelemetry.io

Много, много накратко:

  • Създаваме нов унифициран набор от библиотеки и спецификации за наблюдение на телеметрия. Той ще обедини проектите OpenTracing и OpenCensus, както и ще предостави поддържан начин за миграция.
  • Референтната реализация на Java ще бъде налична на 24 април, а работата по реализациите на други езици ще започне в пълна сила от 8 май 2019 година. Запознайте се с графика тук.
  • До септември 2019 година е планирано постигане на паритет с настоящите проекти за C#, Golang, Java, NodeJS и Python. Чака ни много работа, но ще се справим, ако работим паралелно. Ако имате интерес да участвате в този проект, моля, регистрирайте се и ни уведомете как бихте искали да помогнете.
  • Когато реализацията на всеки език достигне зрялост, съответните проекти OpenTracing и OpenCensus ще бъдат затворени. Това означава замразяване на старите проекти, а новият проект ще продължи да поддържа съществуващия инструментариум в продължение на две години, използвайки обратна съвместимост.

Преглед на проекта

Обединение на OpenTracing и OpenCensus: пътят към конвергенцията

Правим сливане! Най-висшата цел е да обединим проектите OpenTracing и OpenCensus в един споделен проект.
Ядрото на новия проект ще бъде набор от чисти и обмислени интерфейси, включително традиционна сборка на библиотеки, реализиращи тези интерфейси под формата на т.н. SDK. Вишенката на тортата ще бъдат препоръчителните стандарти за данни и проводящи протоколи, включително общи части на инфраструктурата.
Резултатът ще бъде напълно функционална телеметрична система, подходяща за мониторинг на микросервизи и други типове съвременни разпределени системи, съвместима с повечето основни OSS и търговски бази.

Основни събития

24.04 — Референтният кандидат е предоставен за преглед.
8.05 — Формира се екип, който поема работа на всички езици.
20.05 — Официален старт на проекта на Kubecon Barcelona.
6.09 — Реализациите на C#, Golang, Java, NodeJS и Python достигат паритет с аналогични.
6.11 — Официално приключване на проектите OpenTracing и OpenCensus.
20.11 — Прощална партия в чест на завършването на проектите на Observability Summit, Kubecon San Diego.

Хроника на конвергенцията

Обединение на OpenTracing и OpenCensus: пътят към конвергенцията

Миграцията за всеки език включва изграждането на SDK, готово за индустриално внедряване, инструменти за популярни библиотеки, документация, CI, средства за съвместимост и приключване на свързаните проекти OpenCensus и OpenTracing ("залез"). Поставихме амбициозна цел за септември 2019 година – постигане на паритет за езиците C#, Golang, Java, NodeJS и Python. Ще отлагаме датата на "залеза", докато всички езици не са готови. По-добре е да избегнем това.
При прегледа на целите моля, помислете за личното си участие и ни уведомете за това, като попълните регистрационната форма, или чрез поздрав в Gitter чатове на проектите OpenTracing и OpenCensus. Можете да видите графика под формата на инфографика тук..

Цел: първи чернови вариант на междуезиковата спецификация (завършване до 8 май)

Важно е да работим съвместно, дори при паралелна работа на различни езици. Междуезиковата спецификация осигурява ръководство за проекта. Звучи прозаично, но това е гаранция за поддръжка на цялостната система, която изглежда позната, независимо от езика за програмиране.

Задължителни изисквания за първия чернови вариант на спецификацията за език X:

  • Определения на общата терминология.
  • Модел за описание на разпределените транзакции, статистики и метрики.
  • Разяснения по важни въпроси, възникнали по време на реализирането.

Тази цел блокира останалите работи, първият чернови вариант трябва да бъде завършен до 8 май.

Цел: първи чернови вариант за спецификация на данните (завършване до 6 юли)

Спецификацията на данните определя общия формат на данните за трасировки и метрики, така че данните, експортирани от всички процеси, могат да се обработват от една и съща телеметрична инфраструктура, независимо от процеса на генериране на данни. Включена е схема на данните за модела на трасировката, описана в междуезиковата спецификация. Също така са включени определения на метаданни за общи операции, които трасировката използва за улавяне: например, HTTP заявки, грешки и заявки към базата данни. Тези семантични споразумения са пример.

Първият чернови вариант е основан на текущия формат на данните OpenCensus и ще съдържа следното:

  • Схема на данните, реализираща междуезиковата спецификация.
  • Определения на метаданни за общи операции.
  • Определения на JSON и Protobuf.
  • Реализация на стандартни клиенти.

Моля, имайте предвид, че съществува и проводен протокол, който разпространява трасировки вътре в лентата и който също бихме искали да стандартизираме. Форматът на разпространение Trace-Context се разработва от W3C.

Цел: паритет по всички основни поддържани езици (завършване до 6 септември)

Трябва да постигнем паритет за текущата езикова екосистема, заместявайки старите проекти с нови.

  • Определения за интерфейси за трасировка, метрики и разпространение на контекста на базата на междудисциплинарната спецификация.
  • Готов SDK, реализиращ тези интерфейси, който експортира Trace-Data. При възможност SDK ще бъде създаден чрез пренос на съществуваща реализация от OpenCensus.
  • Инструменти за популярни библиотеки, обхванати в момента в OpenTracing и OpenCensus.

Също така ценим обратно съвместимостта и искаме да осигурим плавно преминаване от съществуващите проекти.

  • В новия SDK ще бъдат включени средства за обратно съвместимост с текущите интерфейси на OpenTracing. Те ще позволят на остарелите инструменти на OpenTracing да работят заедно с новите инструменти в един и същи процес, което ще позволи на потребителите постепенно да прехвърлят своите разработки.
  • При готовност на новия SDK ще бъде разработен план за актуализация за настоящите потребители на OpenCensus. Както и в случая с OpenTracing, остарелите инструменти ще могат да продължат да работят заедно с новите.
  • До ноември и OpenTracing, и OpenCensus ще бъдат закрити за приемане на промени. Обратната съвместимост с остарелите инструменти ще бъде поддържана в продължение на две години.

Създаването на най-добрия в своя клас SDK за всеки език изисква огромно усилие, и именно в това се нуждаем най-много.

Цел: основна документация (завършване до 6 септември)

Критичен фактор за успеха на всеки проект с отворен код е документацията. Искаме да имаме първокласна документация и средства за обучение, нашите технически писатели са най-активните разработчици в проекта. Обучението на разработчиците как правилно да наблюдават софтуера е едно от най-важните въздействия, които искаме да има в света.

Минимално необходимите части на документацията, за да започнете, са:

  • Ориентация на проекта.
  • Наблюдаемост 101.
  • Започване на работа.
  • Ръководства за езиците (поотделно за всеки).

Каним писатели на всяко ниво! Нашият нов сайт е базиран на Hugo, използвайки стандартна маркировка, така че е много лесно да се включите.

Цел: Registry v1.0 (завършване до 6 юли)

Registry — още една критично важна компонента, подобрена версия. OpenTracing Registry.

  • Лесно е да намерите библиотеки, плъгини, инсталатори и други компоненти.
  • Лесно управление на компонентите на Registry.
  • Можете да разберете какви функции на SDK са налични на всеки език.

Ако се интересувате от дизайн, интерфейсната част и UX — имаме страхотен проект за лично участие.

Цел: инфраструктура за тестване и пускане на софтуер (завършване до 6 септември)

За да продължим да предоставяме безопасен код, на който може да се разчита, имаме проектно задължение за изграждане на качествени конвейери за тестване и пускане на софтуер. Моля, уведомете ни, ако можете да се погрижите за конвейерите за тестване, измерване на характеристики и пускане на софтуер. Ясно обозначаваме нивото на готовност за производство, а зрелостта на тестовата инфраструктура ще бъде основен решаващ фактор за нас.

Цел: затваряне на проектите OpenTracing и OpenCensus (завършване до 6 ноември)

Планираме начало на затварянето на стари проекти от 6 септември, ако новият проект достигне паритет с тях. Два месеца по-късно, при паритет на всички езици, планираме затваряне на проектите OpenTracing и OpenCensus. Това трябва да се разбира така:

  • репозиториите ще бъдат замразени, корекции вече няма да се правят.
  • за текущия инструментариум е предвиден двугодишен срок на поддръжка.
  • потребителите ще могат да актуализират до нов SDK, използвайки предишния инструментариум.
  • ще бъде възможно постепенното обновление.

Присъединете се

Ще се радваме на всяка помощ, тъй като това е огромен проект. Ако се интересувате от наблюдаемост — сега е моментът!

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster