Informasi versi
Java agent v5.x dibangun di atas OpenTelemetry Java Instrumentation dan konvensi semantik OTel, sebagaimana dijelaskan dalam Catatan Rilis Java Agent.
Peningkatan konvensi semantik
Versi 5.x sepenuhnya mengadopsi konvensi semantik OpenTelemetry (OTel), standar observabilitas de facto. OTel menyediakan format data yang ketat, terbuka, dan terus berkembang yang diadopsi oleh sebagian besar penyedia utama.
Sebagai kontributor utama OTel, Alibaba Cloud mengadopsi standar ini di v5.x untuk memberikan:
-
Data observabilitas terstandarisasi: Format data seragam dengan semantik yang jelas, interoperabel lintas vendor observabilitas.
-
Kompatibilitas ekosistem yang lebih baik: Terintegrasi dengan alat observabilitas open-source dan komersial utama melalui ekosistem OTel.
-
Evolusi berkelanjutan: Dukungan fitur berkelanjutan seiring pertumbuhan komunitas OTel.
-
Troubleshooting yang lebih akurat: Data terstandarisasi memungkinkan pemantauan dan diagnostik yang lebih tepat.
Penting: Karena peningkatan konvensi semantik ini, beberapa atribut rentang (span) dan perilaku telah berubah dari v4.x. Baca dokumen ini dengan cermat sebelum Anda melakukan upgrade.
Perubahan semantik terkait OTel
Perubahan pada atribut span OTel yang sudah tidak digunakan (deprecated)
Versi 5.x menghapus atribut yang telah dinyatakan deprecated oleh OTel. Berikut adalah beberapa atribut HTTP yang deprecated beserta penggantinya.
-
http.method→http.request.method -
http.status_code→http.response.status_code -
http.url→url.full -
http.scheme→url.scheme -
net.peer.name→server.address -
net.peer.port→server.port
Daftar lengkap atribut yang deprecated tersedia dalam dokumen spesifikasi OTel berikut:
Atribut HTTP yang deprecated: HTTP semantic conventions.
Atribut database yang deprecated: Database semantic conventions.
Atribut RPC yang deprecated: RPC semantic conventions.
Atribut messaging yang deprecated: Messaging semantic conventions.
Perubahan semantik terkait Alibaba Cloud
Perubahan umum
Penyesuaian atribut span Aliyun
|
Atribut v4.x |
Atribut v5.x |
Deskripsi |
|
|
|
Diganti nama. Nilai dan fungsi tidak berubah. |
|
|
|
Diganti nama untuk kejelasan. |
|
|
|
Diganti ke camelCase. Nilai dan fungsi tidak berubah. |
|
|
Dihapus |
Tidak lagi didukung. |
Ini adalah atribut kustom Alibaba Cloud yang memperluas standar OTel. Deskripsi atribut asli tersedia di atribut span dan sumber daya agen v4.x.
Perubahan plugin HTTP
1. Perubahan format nama span klien HTTP
Sesuai spesifikasi OTel, Span Name klien HTTP menggunakan format {method} {target}, di mana {target} sesuai dengan atribut url.template. Karena sebagian besar komponen OTel hulu tidak mengumpulkan url.template, agen v5.x menggunakan url.full sebagai url.template secara default, menghasilkan nama span yang lebih deskriptif dibandingkan v4.x yang sering hanya menampilkan {method}.
Contoh perubahan:
-
Format v4.x:
GET /get -
Format v5.x:
GET http://httpbin.org/get
2. Perubahan jumlah span Vert.x-Web
Di v5.x, Vert.x-Web tidak lagi merekam span terpisah. Sebagai gantinya, ia menetapkan http.route pada span server, sehingga mengurangi jumlah span sebanyak satu. Hal ini selaras dengan agen OTel hulu.
3. Perubahan pengumpulan http.route Spring Cloud Gateway
Versi 5.x menginstrumentasi Spring Cloud Gateway. Atribut http.route pada span server diatur ke route.id dari konfigurasi rute, dan nama span mengikuti format {METHOD} {route.id}.
|
Atribut |
Perilaku v4.x |
Perilaku v5.x |
|
Span Name |
|
|
|
http.route |
|
|
Hal ini selaras dengan agen OTel hulu (opentelemetry-java-instrumentation#9597). Agen menggunakan route.id alih-alih pola path karena satu rute gateway dapat memiliki beberapa predikat path. route.id menyediakan pengenal stabil dengan kardinalitas rendah. Agen mengekstraksi Route yang cocok dari ServerWebExchange, memfilter ID yang dihasilkan otomatis (format UUID), dan hanya mengumpulkan ID rute yang dikonfigurasi secara eksplisit.
Perubahan plugin database
1. Penyesuaian atribut umum
|
Atribut v4.x |
Atribut v5.x |
Deskripsi |
|
|
|
Bidang-bidang ini digabung. |
|
|
|
Selaras dengan konvensi OTel. |
|
|
|
Selaras dengan konvensi OTel. |
|
|
|
Contoh: |
|
|
Dihapus |
Sebelumnya hanya dicatat untuk database relasional. Sekarang sudah tercakup dalam atribut |
2. Perubahan plugin Redis dan Lettuce
|
Perubahan |
Deskripsi |
|
Atribut |
Untuk melihat parameter, nonaktifkan sanitizer dengan menyetel:
|
|
Atribut |
Mewakili argumen perintah pertama. Hanya terlihat saat sanitasi data dinonaktifkan. |
3. Penghapusan response.size untuk Redis dan Elasticsearch
Atribut response.size dihapus di v5.x karena overhead pengumpulan yang tinggi.
4. Penangkapan parameter dan sanitasi SQL
-
Jika Anda mengaktifkan penangkapan parameter, sanitasi SQL akan dinonaktifkan. Perubahan ini memerlukan restart aplikasi.
-
Pengaturan pernyataan SQL mentah hanya memengaruhi jejak (trace). Perubahan ini memerlukan restart aplikasi.
5. Perubahan instrumentasi DruidDataSource.getConnection
Versi 4.x menggunakan instrumentasi khusus Druid untuk koneksi database. Versi 5.x menggunakan instrumentasi JDBC terpadu, selaras dengan agen OTel.
6. Aturan pengumpulan atribut endpoint
Atribut endpoint dibuat menggunakan urutan fallback berikut:
-
Menggabungkan
server.addressdanserver.portdari konvensi semantik OTel. -
Jika tidak tersedia, menggabungkan
network.peer.addressdannetwork.peer.port. -
Jika tidak tersedia, fallback ke string koneksi.
-
Jika semua metode gagal, endpoint default menjadi
Unknown.
Batasan yang diketahui:
|
Skenario |
Dampak |
|
Skenario pengecualian tertentu di Elasticsearch |
Ketika tidak ada respons yang diterima (misalnya penolakan koneksi), server.address dan server.port tidak tersedia, sehingga endpoint ditampilkan sebagai |
|
Versi Lettuce sebelum 5.1 dan versi 6.0.0 hingga 6.0.9 |
Keterbatasan plugin mencegah pengumpulan server.address dan server.port, sehingga endpoint ditampilkan sebagai |
Perubahan plugin tugas terjadwal
1. Penyesuaian atribut span ElasticJob
|
Atribut v4.x |
Atribut v5.x |
Alasan perubahan |
|
|
Dihapus |
Dihapus. v5.x menggunakan kembali kode status span OTel. |
|
|
|
Selaras dengan implementasi OTel. |
|
|
|
Selaras dengan implementasi OTel. |
|
|
|
Selaras dengan OTel. Nilai sekarang adalah indeks item saat ini. |
|
|
|
Selaras dengan OTel. Nilai sekarang adalah parameter untuk indeks item saat ini. |
|
|
|
Selaras dengan implementasi OTel. |
|
- |
|
Atribut baru yang selaras dengan implementasi OTel. |
2. Penyesuaian atribut span penjadwalan Spring
|
Atribut v4.x |
Atribut v5.x |
Alasan perubahan |
|
|
Dihapus |
Informasi ini sekarang disediakan oleh atribut |
|
|
Dihapus |
Informasi ini sekarang disediakan oleh atribut |
|
- |
|
Atribut baru yang selaras dengan implementasi OTel. |
3. Penyesuaian atribut span XXL-JOB
|
Atribut v4.x |
Atribut v5.x |
Alasan perubahan |
|
|
Dihapus |
Dihapus. v5.x menggunakan kembali kode status span OTel. |
|
- |
|
Atribut baru yang digunakan untuk membedakan jenis tugas. |
|
- |
|
Atribut baru yang direkam untuk tugas jenis skrip. |
4. Penyesuaian atribut span Quartz
|
Atribut v4.x |
Atribut v5.x |
Alasan perubahan |
|
|
Dihapus |
Dihapus. v5.x menggunakan kembali kode status span OTel. |
|
|
Dihapus |
Informasi ini sekarang termasuk dalam nama span. |
|
|
Dihapus |
Informasi ini sekarang termasuk dalam nama span. |
Perubahan plugin RPC
Penyesuaian definisi error gRPC
Versi 5.x memperbaiki definisi error gRPC.
|
Peran |
Perilaku v4.x |
Perilaku v5.x |
|
Client |
Semua kode respons non-OK ditandai sebagai error. |
Semua kode respons non-OK ditandai sebagai error (tidak berubah). |
|
Server-side |
Semua kode respons non-OK ditandai sebagai error. |
Hanya enam kode status tertentu yang ditandai sebagai error di sisi server. |
Detailnya tersedia di gRPC semantic conventions.
Perubahan plugin messaging
Di v4.x, pengumpulan tag fencing lingkungan otomatis dapat menyebabkan ambiguitas data. Versi 5.x tidak lagi mengumpulkan hal ini secara default. Properti sistem baru, otel.instrumentation.messaging.common.broker_identifier, mengontrol perilaku ini:
|
Perilaku v4.x |
Perilaku v5.x |
Deskripsi |
|
|
producer destId |
Default:
Dengan toggle dimatikan:
Contoh:
|
Default:
Dengan Environment Fencing diaktifkan:
|
Perubahan ini berlaku untuk plugin berikut, yang diinstrumentasi oleh OpenTelemetry:
Perilaku plugin berikut tetap sama seperti di v4.x:
|
|
producer endpoint |
Default:
Dengan toggle dimatikan:
Contoh:
|
Default:
Dengan fencing lingkungan diaktifkan:
|
|
|
consumer destId |
Default:
Dengan toggle dimatikan:
Contoh:
|
Default:
Dengan Environment Fence diaktifkan:
|
|
|
consumer endpoint |
Default:
Dengan toggle dimatikan:
Contoh:
|
Default:
Dengan fencing lingkungan diaktifkan:
|
Perubahan konfigurasi dinamis
1. Toggle atribut spesifikasi OTel
Konfigurasi "Record OpenTelemetry specification convention attributes" diaktifkan secara default.
Peringatan: Di v5.x, toggle ini tidak dapat dinonaktifkan. Menonaktifkan konfigurasi ini mencegah agen mengumpulkan beberapa atribut span dan memengaruhi fitur navigasi halaman.
2. Konfigurasi "Maximum SQL statement length" dihapus
Agen OTel memberlakukan batas panjang SQL bawaan untuk mencegah kebocoran memori: 32 KB dalam mode sanitasi. Dalam mode non-sanitasi, kendalikan batas tersebut dengan parameter otel.attribute.value.length.limit.
Lainnya
Ko-deploy dengan agen lain
Java agent Alibaba Cloud tidak mendukung ko-deploy dengan agen lain, termasuk agen OTel open-source atau agen dari vendor lain seperti SkyWalking.