Menggabungkan OpenTracing dan OpenCensus: Jalan Menuju Konvergensi

Menggabungkan OpenTracing dan OpenCensus: Jalan Menuju Konvergensi

Penulis: Ted Young, Pritam Shah dan Komite Spesifikasi Teknis (Carlos Alberto, Bogdan Drutu, Sergei Kanzhelev dan Yuri Shkuro).

Proyek bersama ini diberi nama: http://opentelemetry.io

Sangat, sangat singkat:

  • Kami membuat kumpulan perpustakaan dan spesifikasi terpadu baru untuk kemampuan pemantauan telemetri. Ini akan menggabungkan proyek OpenTracing dan OpenCensus dan menyediakan jalur yang didukung untuk migrasi.
  • Implementasi referensi di Java akan tersedia pada 24 April, dan pengerjaan implementasi dalam bahasa lain akan dimulai secara penuh pada 8 Mei 2019. Lihat jadwalnya bisa disini.
  • Pada bulan September 2019, kesetaraan dengan proyek yang ada untuk C#, Golang, Java, NodeJS dan Python direncanakan. Ada banyak pekerjaan yang harus kita lakukan, namun kita dapat mengatasinya jika kita bekerja secara paralel. Jika Anda tertarik untuk berpartisipasi dalam proyek ini, silakan mendaftar dan beri tahu kami bagaimana Anda ingin berkontribusi.
  • Setelah implementasi dalam setiap bahasa matang, proyek OpenTracing dan OpenCensus terkait akan ditutup. Artinya, proyek lama akan dibekukan, dan proyek baru akan terus mendukung alat yang ada selama dua tahun dengan menggunakan kompatibilitas ke belakang.

Ikhtisar proyek

Menggabungkan OpenTracing dan OpenCensus: Jalan Menuju Konvergensi

Kami sedang melakukan merger! Tujuan utamanya adalah menyatukan proyek OpenTracing dan OpenCensus menjadi satu proyek bersama.
Inti dari proyek baru ini adalah seperangkat antarmuka yang bersih dan bijaksana, termasuk kumpulan perpustakaan tradisional yang mengimplementasikan antarmuka ini dalam bentuk yang disebut. SDK. Yang paling penting adalah standar yang direkomendasikan untuk protokol data dan kabel, termasuk bagian umum dari infrastruktur.
Hasilnya adalah sistem telemetri lengkap yang cocok untuk memantau layanan mikro dan jenis sistem terdistribusi modern lainnya, kompatibel dengan sebagian besar OSS utama dan perangkat lunak backend komersial.

Peristiwa Penting

24.04/XNUMX β€” Kandidat referensi diajukan untuk ditinjau.
8.05 β€” Sebuah tim dibentuk dan mulai bekerja dalam semua bahasa.
20.05 β€” Peluncuran resmi proyek di Kubecon Barcelona.
6.09 - Implementasi di C#, Golang, Java, NodeJS dan Python setara dengan implementasi lainnya.
6.11 - Penyelesaian resmi proyek OpenTracing dan OpenCensus.
20.11 β€” Pesta perpisahan untuk menghormati penyelesaian proyek di Observability Summit, Kubecon San Diego.

Garis waktu konvergensi

Menggabungkan OpenTracing dan OpenCensus: Jalan Menuju Konvergensi

Migrasi untuk setiap bahasa mencakup build SDK siap produksi, peralatan untuk perpustakaan populer, dokumentasi, CI, alat kompatibilitas mundur, dan penutupan proyek OpenCensus dan OpenTracing terkait (β€œsunset”). Kami menetapkan tujuan ambisius untuk bulan September 2019 - mencapai keseimbangan untuk bahasa C#, Golang, Java, NodeJS, dan Python. Kami akan memindahkan tanggal matahari terbenam hingga semua bahasa siap. Namun lebih baik menghindari hal ini.
Saat melihat sasaran, harap pertimbangkan keterlibatan pribadi Anda, beri tahu kami dengan mengisi formulir pendaftaran, atau dengan menyapa di obrolan Gitter proyek Pelacakan Terbuka ΠΈ Sensus Terbuka. Anda dapat melihat grafik sebagai infografis di sini.

Sasaran: Draf pertama spesifikasi lintas bahasa (selesai pada 8 Mei)

Penting untuk bekerja secara kohesif, bahkan ketika bekerja secara paralel dalam berbagai bahasa. Spesifikasi lintas bahasa memberikan panduan untuk proyek tersebut. Kedengarannya membosankan, namun menjamin dukungan untuk sistem yang koheren yang terasa familier terlepas dari bahasa pemrogramannya.

Persyaratan wajib untuk draf spesifikasi pertama untuk bahasa X:

  • Definisi terminologi umum.
  • Sebuah model untuk menggambarkan transaksi terdistribusi, statistik dan metrik.
  • Klarifikasi terhadap isu-isu penting yang muncul selama implementasi.

Tujuan ini menghalangi sisa pekerjaan, draf pertama harus diselesaikan paling lambat tanggal 8 Mei.

Sasaran: Draf pertama untuk spesifikasi data (selesai pada 6 Juli)

Spesifikasi data menentukan format data umum untuk pelacakan dan metrik sehingga data yang diekspor oleh semua proses dapat diproses oleh infrastruktur telemetri yang sama, apa pun proses pembuatan datanya. Ini mencakup skema data untuk model pelacakan yang dijelaskan dalam spesifikasi lintas bahasa. Juga disertakan definisi metadata untuk operasi umum yang digunakan pelacakan untuk menangkap, seperti permintaan HTTP, kesalahan, dan kueri database. Ini konvensi semantik adalah sebuah contoh.

Draf pertama didasarkan pada format data OpenCensus saat ini dan akan berisi hal-hal berikut:

  • Skema data yang mengimplementasikan spesifikasi lintas bahasa.
  • Definisi metadata untuk operasi umum.
  • Definisi JSON dan Protobuf.
  • Implementasi klien referensi.

Harap dicatat bahwa ada juga protokol kabel yang mendistribusikan jejak secara in-band, yang juga ingin kami standarkan. Format Distribusi Jejak-Konteks dikembangkan melalui W3C.

Sasaran: paritas di semua bahasa utama yang didukung (selesai pada 6 September)

Kita harus mencapai keseimbangan dalam ekosistem bahasa saat ini dengan mengganti proyek lama dengan proyek baru.

  • Definisi antarmuka untuk penelusuran, metrik, dan propagasi konteks berdasarkan spesifikasi lintas bahasa.
  • SDK siap pakai yang mengimplementasikan antarmuka ini dan mengekspor Trace-Data. Jika memungkinkan, SDK akan dibuat dengan mem-porting implementasi yang sudah ada dari OpenCensus.
  • Toolkit untuk perpustakaan populer yang saat ini tercakup dalam OpenTracing dan OpenCensus.

Kami juga menghargai kompatibilitas ke belakang dan ingin memastikan kelancaran transisi dari proyek yang ada.

  • SDK baru akan kompatibel dengan antarmuka OpenTracing saat ini. Mereka akan memungkinkan alat OpenTracing lama untuk berjalan bersama alat baru dalam proses yang sama, sehingga memungkinkan pengguna untuk memigrasikan pekerjaan mereka seiring waktu.
  • Ketika SDK baru sudah siap, rencana peningkatan akan dibuat untuk pengguna OpenCensus saat ini. Seperti halnya OpenTracing, alat lama akan dapat terus bekerja bersama alat baru.
  • Pada bulan November, OpenTracing dan OpenCensus akan ditutup untuk menerima perubahan. Kompatibilitas mundur dengan alat lama akan didukung selama dua tahun.

Membuat SDK terbaik di kelasnya untuk setiap bahasa memerlukan banyak usaha, dan itulah yang paling kami butuhkan.

Sasaran: dokumentasi dasar (selesai pada 6 September)

Faktor penting dalam keberhasilan setiap proyek sumber terbuka adalah dokumentasi. Kami menginginkan dokumentasi dan alat pelatihan terbaik, dan penulis teknis kami adalah pengembang paling aktif dalam proyek ini. Mengajari pengembang cara memantau perangkat lunak dengan benar adalah salah satu dampak terpenting yang ingin kami berikan pada dunia.

Dokumentasi berikut adalah dokumentasi minimum yang diperlukan untuk memulai:

  • Orientasi proyek.
  • Observabilitas 101.
  • Awal kerja.
  • Panduan bahasa (secara terpisah untuk masing-masing).

Penulis dari semua tingkatan dipersilakan! Situs baru kami didasarkan pada Hugo, menggunakan markup reguler, sehingga cukup mudah untuk berkontribusi.

Sasaran: Registry v1.0 (selesai pada 6 Juli)

Registri - komponen penting lainnya, versi yang ditingkatkan Registri OpenTracing.

  • Sangat mudah untuk menemukan perpustakaan, plugin, installer, dan komponen lainnya.
  • Manajemen komponen Registry yang mudah.
  • Anda dapat mengetahui fitur SDK mana yang tersedia dalam setiap bahasa.

Jika Anda tertarik dengan desain, antarmuka, dan UX, kami memiliki proyek luar biasa untuk partisipasi pribadi.

Sasaran: infrastruktur untuk pengujian dan rilis perangkat lunak (selesai pada 6 September)

Untuk memastikan kami terus memberikan kode aman yang dapat Anda andalkan, kami memiliki komitmen desain untuk membangun jalur pengujian dan rilis perangkat lunak yang berkualitas. Harap beri tahu kami jika Anda dapat menangani jalur pipa untuk pengujian, karakterisasi, dan rilis perangkat lunak. Kami dengan jelas menunjukkan tingkat kesiapan produksi, dan kematangan infrastruktur pengujian akan menjadi faktor penentu utama bagi kami.

Sasaran: menutup proyek OpenTracing dan OpenCensus (selesai pada 6 November)

Kami berencana untuk mulai menutup proyek lama pada tanggal 6 September, jika proyek baru mencapai keseimbangan dengan proyek tersebut. 2 bulan kemudian, dengan kesamaan semua bahasa, kami berencana untuk menutup proyek OpenTracing dan OpenCensus. Ini harus dipahami seperti ini:

  • repositori akan dibekukan dan tidak ada perubahan lebih lanjut yang akan dilakukan.
  • Toolkit yang ada saat ini direncanakan memiliki periode dukungan selama dua tahun.
  • pengguna akan dapat meningkatkan ke SDK baru menggunakan alat yang sama.
  • Pembaruan bertahap akan dimungkinkan.

Bergabunglah dengan kami

Kami akan menerima bantuan apa pun karena ini adalah proyek besar. Jika Anda tertarik mempelajari observabilitas, sekaranglah waktunya!

Sumber: www.habr.com

Tambah komentar