Anda dapat menggunakan ARMS SDK untuk memperoleh ID jejak dan properti jejak terkait secara dinamis dalam kode aplikasi Anda.
Usage
Untuk Agen versi 4.x dan yang lebih baru, kami merekomendasikan penggunaan OpenTelemetry Java SDK untuk instrumentasi kustom dan memperoleh konteks jejak:
-
Instrumentasi aplikasi secara manual dengan OpenTelemetry Java SDK
-
Sebarkan konteks dalam skenario asinkron intra-proses menggunakan OpenTelemetry Java SDK
-
Sebarkan konteks lintas proses menggunakan OpenTelemetry Java SDK
Penggunaan ARMS SDK untuk instrumentasi kustom atau memperoleh konteks jejak tidak direkomendasikan kecuali Anda belum dapat melakukan upgrade ke Agen versi 4.x.
Prasyarat
-
Anda telah mengaktifkan Pemantauan Aplikasi untuk aplikasi Anda di Konsol ARMS dan menjalankan Agen di aplikasi Java Anda. Untuk informasi selengkapnya, lihat Instal Agen secara manual.
-
Aplikasi Anda menyertakan dependensi arms-sdk-1.7.3.jar.
<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.
Dapatkan trace ID dan RPC ID
Gunakan kode berikut untuk mendapatkan trace ID dan RPC ID.
Span span = Tracer.builder().getSpan(); // Ini tidak membuat span baru.
String traceId = span.getTraceId();
String rpcId = span.getRpcId();
Sebarkan baggage kustom
Saat menambahkan baggage dengan filter Spring Cloud Gateway, penyebaran gagal jika Anda melakukan upgrade Agen ke versi 4.2.x dan mengaktifkan Plugin spring-bean dalam konfigurasi kustom. Untuk memperbaikinya, nonaktifkan Plugin spring-bean atau turunkan versi Agen ke 4.1.x atau lebih lama.
Untuk menyebarkan baggage kustom, tambahkan kode untuk mengatur dan mengambil item-item tersebut sebagai berikut:
-
Tambahkan baggage kustom dalam kode aplikasi Anda.
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); -
Ambil baggage kustom dari kode aplikasi Anda.
Span span = Tracer.builder().getSpan(); Map<String, String> baggage = span.baggageItems(); -
Untuk Agen versi 4.x dan yang lebih baru, baggage hanya disebarkan. Agen tidak secara otomatis menambahkan konten ini ke tag setiap span. Jika Anda memerlukan data ini dalam tag, Anda harus secara manual mengatur tag kustom untuk suatu span.
Atur tag kustom untuk suatu span
Tag hanya berlaku untuk span tertentu tempat tag tersebut diatur dan tidak disebarkan ke span lain. Untuk mengatur dan mengambil tag kustom, ikuti langkah-langkah berikut:
-
Tambahkan tag kustom ke suatu span dalam kode aplikasi Anda. Anda dapat menambahkan beberapa tag.
Span span = Tracer.builder().getSpan(); // Tambahkan tag ke Span. span.setTag("tag-key1", "tag-value1"); span.setTag("tag-key2", "tag-value2"); -
Ambil tag kustom dari suatu span.
Span span = Tracer.builder().getSpan(); // Periksa tag pada Span. Map<String, String> tags = span.tags();
Kueri jejak berdasarkan baggage dan tag kustom
Gunakan baggage dan tag kustom yang diatur pada suatu span untuk melakukan kueri jejak.
-
Baggage disebarkan ke layanan downstream dan biasanya digunakan untuk penyebaran konteks bisnis. Hindari mengatur jumlah item baggage yang berlebihan.
-
Tag hanya berlaku untuk span saat ini. Anda dapat mengatur beberapa tag untuk data bisnis.
-
Login ke Konsol ARMS. Di panel navigasi sebelah kiri, pilih .
-
Di halaman tersebut, pilih wilayah target di bagian atas, lalu pilih [Nama Opsi], masukkan nilai tag kustom di bidang [Nama Bidang], dan klik [Nama Tombol].
-
Pada daftar jejak, klik Trace ID dari jejak target.
-
Pada halaman detail Traces, arahkan kursor ke kolom untuk melihat tag pada span saat ini.
Misalnya, tag kustom
tag-userid(dengan nilai123456789) dantag-bu(dengan nilaitaobao) ditambahkan ke tag span tersebut. -
Untuk Agen versi 4.x dan yang lebih baru, untuk menulis konten baggage ke suatu span, pertama-tama ambil semua item baggage seperti yang dijelaskan dalam Sebarkan baggage kustom. Kemudian, tulis ke span tersebut menggunakan metode yang dijelaskan dalam Atur tag kustom untuk suatu span.