All Products
Search
Document Center

ApsaraMQ for RocketMQ:Analisis tracing end-to-end

Last Updated:Mar 12, 2026

Dalam sistem terdistribusi, satu permintaan dapat melewati puluhan layanan sebelum selesai. Ketika sebuah pesan tersangkut, konsumen mengalami timeout, atau latensi melonjak, menemukan akar penyebab di seluruh rantai produsen-broker-konsumen memerlukan visibilitas terhadap alur pesan.

ApsaraMQ for RocketMQ menghasilkan data jejak yang mengikuti konvensi semantik OpenTelemetry untuk messaging. Ekspor data ini ke Simple Log Service atau Application Real-Time Monitoring Service (ARMS) untuk melacak pengiriman pesan, mengukur latensi end-to-end, dan mendiagnosis kegagalan.

Batasan

Sebelum menyiapkan tracing, tinjau batasan berikut:

  • Java SDK only: Hanya klien yang menggunakan SDK Java yang dapat melaporkan data jejak. Untuk detail versi, lihat Catatan rilis.

  • Pesan transaksional: Hanya data yang terkait dengan produksi yang dilacak untuk pesan transaksional.

  • Hanya push consumer: Hanya pesan yang dikonsumsi oleh push consumer yang menghasilkan data jejak. Lihat Jenis konsumen.

Ekspor data jejak

ApsaraMQ for RocketMQ mengekspor data jejak yang sesuai dengan OpenTelemetry ke server analisis tracing. Anda dapat menggunakan layanan terkelola Alibaba Cloud atau membangun backend sendiri.

Simple Log Service

Simple Log Service menyediakan dasbor untuk memantau penundaan pengiriman pesan, tingkat keberhasilan pengiriman, tingkat keberhasilan konsumsi, dan latensi end-to-end. Anda juga dapat menelusuri permintaan individual berdasarkan ID pesan atau ID jejak.

Untuk informasi selengkapnya tentang Simple Log Service, lihat Catatan penggunaan.

ARMS

Application Real-Time Monitoring Service (ARMS) menyediakan distributed tracing melalui komponen Tracing Analysis-nya.

Untuk informasi selengkapnya tentang ARMS Tracing Analysis, lihat Apa itu Tracing Analysis?

Cara kerja tracing

ApsaraMQ for RocketMQ mencatat setiap tahap siklus hidup pesan sebagai span. Setiap span menangkap data waktu, metadata pesan, dan jenis operasi.

Jenis span

Tiga jenis span menangkap siklus hidup pesan:

Jenis span

Apa yang ditangkap

Siklus hidup

send

Pesan meninggalkan produsen.

Dimulai saat produsen mulai mengirim dan berakhir ketika pengiriman berhasil, gagal, atau melempar exception. Jika terjadi retry, setiap percobaan menghasilkan span terpisah.

receive

Permintaan long polling konsumen.

Sesuai dengan siklus hidup operasi long polling. Dinonaktifkan secara default.

process

Konsumen push memproses pesan.

Dimulai saat callback MessageListener dimulai dan berakhir saat callback tersebut mengembalikan nilai.

Aktifkan span receive

Span receive dinonaktifkan secara default. Untuk mengaktifkannya, tambahkan parameter JVM berikut:

-Dotel.instrumentation.messaging.experimental.receive-telemetry.enabled=true

Hubungan antar span

Hubungan antar span bergantung pada apakah span receive diaktifkan:

  • Span receive dinonaktifkan (default): Span process merupakan anak langsung dari span send.

  • Span receive diaktifkan: Span process merupakan anak dari span receive dan ditautkan ke span send.

Span relationships

Atribut messaging

Setiap span mencakup atribut yang didefinisikan oleh konvensi semantik OpenTelemetry untuk span messaging.

Atribut standar

  • messaging.message.id: Pengidentifikasi unik untuk pesan.

  • messaging.destination: Topik atau antrian tempat pesan dikirimkan.

  • messaging.operation: Jenis operasi: send, receive, atau acknowledge.

Atribut khusus RocketMQ

ApsaraMQ for RocketMQ menambahkan atribut berikut. Untuk daftar lengkapnya, lihat Atribut Apache RocketMQ.

Atribut

Tipe

Deskripsi

messaging.rocketmq.client_group

string

Kelompok konsumen yang digunakan untuk load balancing.

messaging.rocketmq.client_id

string

Pengidentifikasi unik untuk instans client.

messaging.rocketmq.message.delivery_timestamp

int

Waktu pengiriman terjadwal untuk pesan terjadwal dan tertunda.

messaging.rocketmq.message.group

string

Grup pesan untuk pesan terurut.

messaging.rocketmq.message.type

string

Jenis pesan: normal, fifo, delay, atau transaction. Lihat Pesan normal, Pesan terurut, Pesan terjadwal dan tertunda, dan Pesan transaksional.

messaging.rocketmq.message.tag

string

Tag yang digunakan untuk memfilter pesan di sisi konsumen.

messaging.rocketmq.message.keys

string[]

Kunci bisnis untuk mencari pesan tertentu.