Memulai • Terlibat • Menghubungi
Berkontribusi • Ruang Lingkup
Proyek ini menyediakan agen Java JAR yang dapat dilampirkan ke aplikasi Java 8+ apa pun dan secara dinamis memasukkan bytecode untuk menangkap telemetri dari sejumlah perpustakaan dan kerangka kerja populer. Anda dapat mengekspor data telemetri dalam berbagai format. Anda juga dapat mengonfigurasi agen dan eksportir melalui argumen baris perintah atau variabel lingkungan. Hasil akhirnya adalah kemampuan mengumpulkan data telemetri dari aplikasi Java tanpa perubahan kode.
Repositori ini juga menerbitkan instrumentasi mandiri untuk beberapa perpustakaan (dan terus bertambah) yang dapat digunakan jika Anda lebih suka daripada menggunakan agen Java. Silakan lihat kolom instrumentasi perpustakaan mandiri di Perpustakaan yang Didukung. Jika Anda mencari dokumentasi tentang penggunaannya.
Unduh versi terbaru.
Paket ini mencakup agen instrumentasi serta instrumentasi untuk semua perpustakaan yang didukung dan semua pengekspor data yang tersedia. Paket ini memberikan pengalaman yang sepenuhnya otomatis dan out-of-the-box.
Catatan: Ada rilis 2.x dan rilis 1.x. Rilis 2.0 mencakup perubahan besar yang signifikan, rinciannya dapat ditemukan di catatan rilis. Disarankan untuk menggunakan rilis 2.x terbaru yang memiliki fitur dan peningkatan terbaru. 1.x akan menerima patch keamanan untuk waktu terbatas dan tidak akan mencakup perbaikan bug dan peningkatan lainnya.
Aktifkan agen instrumentasi menggunakan tanda -javaagent
ke JVM.
java -javaagent:path/to/opentelemetry-javaagent.jar
-jar myapp.jar
Secara default, agen OpenTelemetry Java menggunakan eksportir OTLP yang dikonfigurasi untuk mengirim data ke kolektor OpenTelemetry di http://localhost:4318
.
Parameter konfigurasi diteruskan sebagai properti sistem Java (tanda -D
) atau sebagai variabel lingkungan. Lihat dokumentasi konfigurasi untuk daftar lengkap item konfigurasi. Misalnya:
java -javaagent:path/to/opentelemetry-javaagent.jar
-Dotel.resource.attributes=service.name=your-service-name
-Dotel.traces.exporter=zipkin
-jar myapp.jar
Agen ini sangat dapat dikonfigurasi! Banyak aspek perilaku agen yang dapat dikonfigurasi sesuai kebutuhan Anda, seperti pilihan eksportir, konfigurasi eksportir (seperti ke mana data dikirim), header propagasi konteks pelacakan, dan banyak lagi.
Untuk daftar detail opsi konfigurasi agen, lihat dokumen konfigurasi agen.
Untuk daftar detail variabel lingkungan konfigurasi SDK tambahan dan properti sistem, lihat dokumen konfigurasi SDK.
Catatan: Nama parameter konfigurasi kemungkinan besar akan berubah seiring berjalannya waktu, jadi harap periksa kembali di sini saat mencoba versi baru! Silakan laporkan bug atau perilaku tak terduga yang Anda temukan.
Kami mendukung sejumlah besar perpustakaan dan kerangka kerja serta sebagian besar server aplikasi paling populer... langsung dari kotaknya! Klik di sini untuk melihat daftar lengkap dan mempelajari lebih lanjut tentang instrumentasi yang dinonaktifkan dan cara menyembunyikan instrumentasi yang tidak diinginkan.
Ekstensi menambahkan fitur dan kemampuan baru ke agen tanpa harus membuat distribusi terpisah atau membagi repositori ini. Misalnya, Anda dapat membuat sampler khusus atau eksportir span, menetapkan default baru, dan menyematkan semuanya di agen untuk mendapatkan satu file jar.
Bagi sebagian besar pengguna, instrumentasi siap pakai sudah cukup dan tidak ada lagi yang perlu dilakukan. Namun terkadang, pengguna ingin menambahkan atribut ke rentang otomatis, atau mereka mungkin ingin membuat rentang secara manual untuk kode kustom mereka sendiri.
Untuk petunjuk rinci, lihat Instrumentasi manual.
Dimungkinkan untuk memasukkan informasi jejak seperti ID jejak dan ID rentang ke dalam log aplikasi kustom Anda. Untuk detailnya, lihat Instrumentasi otomatis Logger MDC.
Untuk mengaktifkan pencatatan debug internal agen:
-Dotel.javaagent.debug=true
Catatan : Log ini sangat bertele-tele. Aktifkan pencatatan debug hanya bila diperlukan. Debug logging berdampak negatif terhadap kinerja aplikasi Anda.
Lihat KONTRIBUSI.md.
Triager (@open-telemetri/java-instrumentation-triagers):
Penyetuju (@open-telemetri/java-instrumentation-approvers):
Pemelihara (@open-telemetri/java-instrumentation-maintainers):
Pemelihara emeritus:
Pelajari lebih lanjut tentang peran dalam repositori komunitas.
Terima kasih kepada semua orang yang telah berkontribusi!