OpenTracing va OpenCensusni birlashtirish: Konvergentsiyaga yo'l

OpenTracing va OpenCensusni birlashtirish: Konvergentsiyaga yo'l

Mualliflar: Ted Young, Pritam Shah va Texnik spetsifikatsiyalar qo'mitasi (Karlos Alberto, Bogdan Drutu, Sergey Kanzhelev va Yuriy Shkuro).

Qo'shma loyiha nomini oldi: http://opentelemetry.io

Juda, juda qisqacha:

  • Biz telemetriya monitoringi imkoniyatlari uchun yangi yagona kutubxonalar va texnik xususiyatlarni yaratmoqdamiz. U OpenTracing va OpenCensus loyihalarini birlashtiradi va migratsiya uchun qo'llab-quvvatlanadigan yo'lni taqdim etadi.
  • Java-da ma'lumotnomani amalga oshirish 24 aprelda taqdim etiladi va boshqa tillarda amalga oshirish bo'yicha ishlar to'liq 8 yil 2019 mayda boshlanadi. Jadvalni ko'ring bu erda mumkin.
  • 2019-yil sentabrigacha C#, Golang, Java, NodeJS va Python uchun mavjud loyihalar bilan paritet qilish rejalashtirilgan. Oldinda juda ko'p ishlar turibdi, lekin parallel ravishda ishlasak, uddasidan chiqa olamiz. Agar siz ushbu loyihada ishtirok etishni xohlasangiz, ro'yxatdan o'ting va bizga qanday hissa qo'shishni xohlayotganingizni bildiring.
  • Har bir tilda amalga oshirish etuk bo'lgach, tegishli OpenTracing va OpenCensus loyihalari yopiladi. Bu shuni anglatadiki, eski loyihalar muzlatiladi va yangi loyiha ikki yil davomida orqaga qarab muvofiqlikdan foydalangan holda mavjud vositalarni qo'llab-quvvatlashda davom etadi.

Loyihaning umumiy ko'rinishi

OpenTracing va OpenCensusni birlashtirish: Konvergentsiyaga yo'l

Biz birlashyapmiz! Yakuniy maqsad OpenTracing va OpenCensus loyihalarini bir umumiy loyihaga birlashtirishdir.
Yangi loyihaning yadrosi toza va puxta o'ylangan interfeyslar to'plami bo'ladi, shu jumladan, ushbu interfeyslarni deb ataladigan shaklda amalga oshiradigan kutubxonalarning an'anaviy yig'ilishi. SDK. Kek ustidagi krem ​​ma'lumotlar va sim protokollari, jumladan, infratuzilmaning umumiy qismlari uchun tavsiya etilgan standartlar bo'ladi.
Natijada mikroservislar va boshqa turdagi zamonaviy taqsimlangan tizimlar monitoringi uchun mos bo'lgan, aksariyat asosiy OSS va tijorat dasturlari bilan mos keladigan to'liq telemetriya tizimi bo'ladi.

Asosiy voqealar

24.04/XNUMX - ko'rib chiqish uchun taqdim etilgan nomzod.
8.05 — Jamoa tuzilib, barcha tillarda ish boshlaydi.
20.05 — Kubecon Barselonada loyihaning rasmiy ochilishi.
6.09 - C#, Golang, Java, NodeJS va Python dasturlari o'zlarining hamkasblari bilan paritetga erishadilar.
6.11 - OpenTracing va OpenCensus loyihalarini rasmiy yakunlash.
20.11 — Kubekon San-Diegodagi Observability sammitidagi loyihalarning yakunlanishi sharafiga xayrlashuv kechasi.

Konvergentsiya vaqt jadvali

OpenTracing va OpenCensusni birlashtirish: Konvergentsiyaga yo'l

Har bir til uchun migratsiya ishlab chiqarishga tayyor SDK tuzilishini, mashhur kutubxonalar uchun asboblarni, hujjatlarni, CI, orqaga qarab muvofiqlik vositalarini va tegishli OpenCensus va OpenTracing loyihalarini (“quyosh botishi”) yopishni oʻz ichiga oladi. Biz 2019-yil sentabr oyi uchun ulkan maqsadni qo‘ydik – C#, Golang, Java, NodeJS va Python tillari uchun paritetga erishish. Biz barcha tillar tayyor bo'lgunga qadar quyosh botishi sanasini o'zgartiramiz. Ammo bundan qochish afzalroqdir.
Maqsadlarni ko'rishda, iltimos, shaxsiy ishtirokingizni hisobga oling, to'ldirish orqali bizga xabar bering ro'yxatga olish shakli, yoki loyihalarning Gitter chatlarida salom aytish orqali OpenTracing и OpenCensus. Grafikni infografika sifatida ko'rishingiz mumkin shu yerda.

Maqsad: O'zaro tillar spetsifikatsiyasining birinchi loyihasi (8-maygacha yakunlanadi)

Turli tillarda parallel ishlaganda ham, birgalikda ishlash muhim. O'zaro tillar spetsifikatsiyasi loyiha uchun ko'rsatmalar beradi. Bu prozaik ko'rinadi, lekin u dasturlash tilidan qat'i nazar, tanish bo'lgan izchil tizimni qo'llab-quvvatlashni kafolatlaydi.

X tili uchun birinchi spetsifikatsiya loyihasi uchun majburiy talablar:

  • Umumiy terminologiyaning ta'riflari.
  • Taqsimlangan tranzaktsiyalar, statistika va ko'rsatkichlarni tavsiflash modeli.
  • Amalga oshirish jarayonida yuzaga kelgan muhim masalalar bo'yicha tushuntirishlar.

Bu maqsad qolgan ishlarni to'sib qo'yadi, birinchi loyiha 8 maygacha bajarilishi kerak.

Maqsad: Ma'lumotlar spetsifikatsiyasi uchun birinchi loyiha (6-iyulgacha yakunlash)

Ma'lumotlar spetsifikatsiyasi izlar va ko'rsatkichlar uchun umumiy ma'lumotlar formatini belgilaydi, shuning uchun barcha jarayonlar tomonidan eksport qilinadigan ma'lumotlar ma'lumotlarni yaratish jarayonidan qat'i nazar, bir xil telemetriya infratuzilmasi tomonidan qayta ishlanishi mumkin. Bunga tillararo spetsifikatsiyada tasvirlangan kuzatuv modeli uchun ma'lumotlar sxemasi kiradi. Shuningdek, HTTP so'rovlari, xatolar va ma'lumotlar bazasi so'rovlari kabi iz qo'lga kiritish uchun foydalanadigan umumiy operatsiyalar uchun metadata ta'riflari ham kiritilgan. Bular semantik konventsiyalar misoldir.

Birinchi qoralama joriy OpenCensus ma'lumotlar formatiga asoslangan va quyidagilarni o'z ichiga oladi:

  • O'zaro til spetsifikatsiyasini amalga oshiradigan ma'lumotlar sxemasi.
  • Umumiy operatsiyalar uchun metadata ta'riflari.
  • JSON va Protobuf ta'riflari.
  • Yo'naltiruvchi mijozlarni amalga oshirish.

Iltimos, shuni yodda tutingki, biz ham standartlashtirishni xohlaymiz, tarmoq ichidagi izlarni tarqatuvchi sim protokoli ham mavjud. Tarqatish formati Trace-kontekst W3C orqali ishlab chiqilgan.

Maqsad: barcha asosiy qoʻllab-quvvatlanadigan tillar boʻyicha tenglik (6-sentabrgacha yakunlanadi)

Biz eski loyihalarni yangilari bilan almashtirish orqali hozirgi til ekotizimining tengligiga erishishimiz kerak.

  • Oʻzaro til spetsifikatsiyasi asosida kuzatish, oʻlchovlar va kontekstni koʻpaytirish uchun interfeys taʼriflari.
  • Ushbu interfeyslarni amalga oshiradigan va Trace-Ma'lumotlarni eksport qiluvchi foydalanishga tayyor SDK. Iloji bo'lsa, SDK mavjud dasturni OpenCensus'dan ko'chirish orqali yaratiladi.
  • Hozirda OpenTracing va OpenCensus-da qamrab olingan mashhur kutubxonalar uchun asboblar to'plami.

Biz, shuningdek, orqaga qarab muvofiqlikni qadrlaymiz va mavjud loyihalardan silliq o'tishni ta'minlashni xohlaymiz.

  • Yangi SDK joriy OpenTracing interfeyslari bilan orqaga qarab mos keladi. Ular eski OpenTracing vositalarini yangi vositalar bilan bir xil jarayonda ishlashga imkon beradi, bu esa foydalanuvchilarga vaqt o'tishi bilan o'z ishlarini ko'chirishga imkon beradi.
  • Yangi SDK tayyor bo'lgach, joriy OpenCensus foydalanuvchilari uchun yangilanish rejasi tuziladi. OpenTracing-da bo'lgani kabi, eski vositalar yangilari bilan birga ishlashni davom ettirishi mumkin.
  • Noyabrgacha OpenTracing va OpenCensus o'zgarishlarni qabul qilish uchun yopiq bo'ladi. Eski vositalar bilan orqaga qarab muvofiqlik ikki yil davomida qo'llab-quvvatlanadi.

Har bir til uchun eng yaxshi SDK yaratish juda ko‘p mehnat talab qiladi va bu bizga eng kerak bo‘lgan narsadir.

Maqsad: asosiy hujjatlar (6 sentyabrgacha yakunlash)

Har qanday ochiq kodli loyiha muvaffaqiyatining hal qiluvchi omili hujjatlardir. Biz yuqori darajadagi hujjatlar va o'quv vositalarini xohlaymiz va bizning texnik yozuvchilarimiz loyihaning eng faol ishlab chiquvchilari. Ishlab chiquvchilarga dasturiy ta'minotni to'g'ri kuzatishni o'rgatish biz dunyoga ko'rsatmoqchi bo'lgan eng muhim ta'sirlardan biridir.

Ishni boshlash uchun quyidagi hujjatlar minimal talab qilinadi:

  • Loyiha yo'nalishi.
  • Kuzatish imkoniyati 101.
  • Ishning boshlanishi.
  • Til qo'llanmalari (har biri uchun alohida).

Barcha darajadagi yozuvchilar xush kelibsiz! Bizning yangi saytimiz Hugo-ga asoslangan bo'lib, muntazam belgilashdan foydalanadi, shuning uchun hissa qo'shish juda oson.

Maqsad: Registry v1.0 (6-iyulgacha yakunlanadi)

Ro'yxatga olish kitobi - yana bir muhim komponent, takomillashtirilgan versiya OpenTracing registri.

  • Kutubxonalar, plaginlar, o'rnatuvchilar va boshqa komponentlarni topish oson.
  • Registry komponentlarini oson boshqarish.
  • Har bir tilda qaysi SDK funksiyalari mavjudligini bilib olishingiz mumkin.

Agar siz dizayn, interfeys va UXga qiziqsangiz, bizda shaxsiy ishtirok etish uchun ajoyib loyihamiz bor.

Maqsad: dasturiy ta'minotni sinovdan o'tkazish va chiqarish uchun infratuzilma (6 sentyabrgacha yakunlash)

Siz ishonishingiz mumkin bo'lgan xavfsiz kodni yetkazib berishda davom etishimizni ta'minlash uchun biz sifatli dasturiy ta'minotni sinovdan o'tkazish va chiqarish quvurlarini yaratish bo'yicha loyihaviy majburiyatga egamiz. Iltimos, sinov, xarakteristikalar va dasturiy ta'minotni chiqarish uchun quvurlarga g'amxo'rlik qila olasizmi, bizga xabar bering. Biz ishlab chiqarishga tayyorlik darajasini aniq ko'rsatamiz va sinov infratuzilmasining etukligi biz uchun asosiy hal qiluvchi omil bo'ladi.

Maqsad: OpenTracing va OpenCensus loyihalarini yopish (6-noyabrgacha yakunlanadi)

Agar yangi loyiha ular bilan paritetga erishsa, biz 6-sentabrdan eski loyihalarni yopishni boshlashni rejalashtirmoqdamiz. 2 oy o'tgach, barcha tillar tengligi bilan biz OpenTracing va OpenCensus loyihalarini yopishni rejalashtirmoqdamiz. Buni quyidagicha tushunish kerak:

  • omborlar muzlatiladi va boshqa o'zgarishlar kiritilmaydi.
  • Joriy asboblar to'plamida ikki yillik qo'llab-quvvatlash muddati rejalashtirilgan.
  • foydalanuvchilar xuddi shu vositalar yordamida yangi SDK ga yangilashlari mumkin.
  • Sekin-asta yangilash mumkin bo'ladi.

Endi qo'shiling

Biz har qanday yordamni mamnuniyat bilan qabul qilamiz, chunki bu juda katta loyiha. Agar siz kuzatuvchanlikni o'rganishga qiziqsangiz, hozir ayni vaqti!

Manba: www.habr.com

a Izoh qo'shish