Обединяване на 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/XNUMX — Референтен кандидат, изпратен за преглед.
8.05 — Създава се екип и започва работа на всички езици.
20.05 — Официален старт на проекта в Kubecon Barcelona.
6.09 – Реализациите в C#, Golang, Java, NodeJS и Python достигат равенство с техните колеги.
6.11 - Официално завършване на проектите OpenTracing и OpenCensus.
20.11 — Прощално парти в чест на завършването на проекти на срещата на върха за наблюдаемост, Kubecon Сан Диего.

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

Обединяване на 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, използвайки обичайно маркиране, така че е доста лесно да допринасяте.

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

Регистър - друг критичен компонент, подобрена версия Регистър на OpenTracing.

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

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

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

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

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

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

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

Присъедини се сега

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

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

Добавяне на нов коментар