Зліццё 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/XNUMX - Афіцыйны запуск праекта на Kubecon Barcelona.
6.09 - Рэалізацыі на C#, Golang, Java, NodeJS і Python дасягаюць парытэту з аналагамі.
6.11 - Афіцыйнае завяршэнне праектаў OpenTracing і OpenCensus.
20.11/XNUMX - Развітальная вечарынка ў гонар завяршэння праектаў на Observability Summit, Kubecon San Diego.

Храналогія канвергенцыі

Зліццё OpenTracing і OpenCensus: шлях да канвергенцыі

Міграцыя для кожнай мовы ўключае зборку SDK, гатовага да прамысловага ўкаранення, інструментар для папулярных бібліятэк, дакументацыю, CI, сродкі зваротнай сумяшчальнасці і зачыненне злучаных праектаў OpenCensus і OpenTracing («заход»). Мы паставілі амбіцыйную мэту на верасень 2019 года - дасягненне парытэту для моў C#, Golang, Java, NodeJS і Python. Мы будзем зрушваць дату заходу датуль, пакуль усе мовы не будуць гатовыя. Але пераважней пазбегнуць гэтага.
Пры праглядзе мэтаў, калі ласка, падумайце аб сваім асабістым удзеле, паведаміце нам аб гэтым, запоўніўшы форму рэгістрацыі, або прывітаўшыся ў чатах Gitter праектаў OpenTracing и OpenCensus. Прагледзець графік у выглядзе інфаграфікі можна тут.

Мэта: першы чарнавы варыянт міжмоўнай спецыфікацыі (завяршэнне да 8 траўня)

Важна працаваць згуртавана, нават пры паралельнай рабоце на розных мовах. Міжмоўная спецыфікацыя забяспечвае кіраўніцтва для праекту. Гучыць празаічна, але гэта гарантыя падтрымкі цэласнай сістэмы, якая падаецца знаёмай незалежна ад мовы праграмавання.

Абавязковыя патрабаванні для першага чарнавіка спецыфікацыі для мовы Х:

  • Азначэнні агульнай тэрміналогіі.
  • Мадэль для апісання размеркаваных транзакцый, статыстыкі і метрык.
  • Растлумачэнні па важных пытаннях, якія ўзніклі ў ходзе рэалізацыі.

Гэтая мэта блакуе астатнія працы, першы чарнавік павінен быць завершаны да 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 верасня, калі новы праект дасягне з імі парытэту. Праз 2 месяцы, пры парытэце ўсіх моў, мы плануем закрыццё праектаў OpenTracing і OpenCensus. Гэта трэба разумець так:

  • рэпазітары будуць замарожаныя, унясенне правак больш праводзіцца не будзе.
  • для бягучага інструментара запланаваны двухгадовы тэрмін падтрымкі.
  • карыстачы змогуць абнавіцца на новы SDK, выкарыстаючы ранейшы інструментар.
  • будзе магчыма паступовае абнаўленне.

далучайцеся

Мы будзем рады любой дапамозе, паколькі гэта вялізны праект. Калі цікава даведацца пра назіральнасць - зараз самы час!

Крыніца: habr.com

Дадаць каментар