Topik ini menjelaskan cara menggunakan Application Real-Time Monitoring Service (ARMS) SDK untuk mendapatkan ID jejak dan properti jejak secara dinamis dari kode layanan.
Sebelum Anda memulai
Untuk ARMS Agen V4.x, disarankan menggunakan OpenTelemetry SDK untuk Java untuk menginstrumentasikan aplikasi dan menangkap konteks jejak:
Jika peningkatan agen ke V4.x tidak memungkinkan (misalnya, kendala kompatibilitas), ARMS SDK lama dapat digunakan sebagai solusi sementara.
Prasyarat
Aplikasi Java Anda harus terhubung ke ARMS. Agen ARMS untuk pemantauan aplikasi telah diinstal dan dimulai di aplikasi. Untuk informasi lebih lanjut, lihat Instal manual agen ARMS.
arms-sdk-1.7.3.jar diperkenalkan ke aplikasi.
<dependency> <groupId>com.alibaba.arms.apm</groupId> <artifactId>arms-sdk</artifactId> <version>1.7.3</version> </dependency>CatatanJika Anda tidak dapat memperoleh dependensi dari file pom.xml, unduh arms-sdk-1.7.3.jar.
Peroleh ID jejak dan ID RPC
Anda dapat menjalankan kode berikut untuk mendapatkan ID jejak dan ID panggilan prosedur jarak jauh (RPC):
Span span = Tracer.builder().getSpan(); // Rentang tidak dibuat.
String traceId = span.getTraceId();
String rpcId = span.getRpcId();Lewatkan item baggage kustom
Penerusan baggage gagal dalam skenario filter spring-cloud-gateway ketika Anda memperbarui agen ke V4.2.x dengan plugin spring-bean diaktifkan. Untuk mengembalikan fungsionalitas, nonaktifkan plugin atau gunakan agen V4.1.x dan sebelumnya.
Untuk meneruskan item baggage kustom, Anda harus melakukan langkah-langkah berikut untuk menambahkan dan mendapatkan item dari kode layanan:
Tambahkan item baggage ke kode layanan.
Map<String, String> baggage = new HashMap<String, String>(); baggage.put("key-01", "value-01"); baggage.put("key-02", "value-02"); baggage.put("key-03", "value-03"); Span span = Tracer.builder().getSpan(); span.withBaggage(baggage);Dapatkan item baggage dari kode layanan.
Span span = Tracer.builder().getSpan(); Map<String, String> baggage = span.baggageItems();(Opsional) Tambahkan tag kustom ke rentang. Untuk informasi lebih lanjut, lihat Tambahkan tag kustom ke rentang. Dalam agen ARMS V4.x atau lebih baru, item baggage hanya dapat dilewatkan, tetapi tidak dapat ditambahkan ke tag setiap rentang.
Tambahkan tag kustom ke rentang
Anda hanya dapat menambahkan tag kustom ke rentang saat ini. Anda tidak dapat meneruskan tag kustom ke rentang lain. Untuk menambahkan tag kustom ke rentang, ikuti langkah-langkah berikut untuk menambahkan dan mendapatkan tag dari kode layanan:
Tambahkan tag ke rentang di kode layanan. Anda dapat menentukan beberapa tag.
Span span = Tracer.builder().getSpan(); // Tambahkan tag ke Rentang. span.setTag("tag-key1", "tag-value1"); span.setTag("tag-key2", "tag-value2");Dapatkan tag dari kode layanan.
Span span = Tracer.builder().getSpan(); // Periksa tag Rentang. Map<String, String> tags = span.tags();
Kueri jejak berdasarkan item baggage dan tag
Anda dapat menggunakan item baggage dan tag yang ditambahkan ke rentang untuk menanyakan jejak.
Item baggage dapat dilewatkan ke hilir dan umumnya digunakan untuk memberi warna pada data bisnis. Kami tidak menyarankan Anda menentukan sejumlah besar item baggage.
Tag hanya berlaku untuk rentang saat ini. Anda dapat menambahkan beberapa tag ke rentang.
Masuk ke Konsol ARMS. Di panel navigasi kiri, pilih .
Di halaman Trace Query, pilih wilayah di bilah navigasi atas, lalu pilih nilai dari daftar drop-down Parameter type. Masukkan nilai di bidang Parameter value, dan klik Add to query criteria.
Dalam hasil yang dikembalikan, temukan jejak yang ingin Anda tanyakan dan klik ID jejak.
Di tab Traces, gerakkan penunjuk di atas nilai di kolom Service untuk melihat tag dan item baggage dari rentang saat ini.

(Opsional) Untuk menambahkan item baggage ke tag rentang dalam agen ARMS V4.x atau lebih baru, ambil semua item baggage dengan merujuk ke lewati item baggage kustom, dan tambahkan mereka ke rentang dengan merujuk ke tambahkan tag kustom ke rentang.