Dengan menambahkan instrumentasi OpenTelemetry kustom ke kode aplikasi, Anda dapat mencatat span trace kustom dan metrik yang mengukur perilaku khusus aplikasi di luar yang dikumpulkan oleh library framework standar. Anda dapat menerapkan konsep dalam dokumen ini ke aplikasi yang ditulis dalam bahasa apa pun yang didukung oleh OpenTelemetry; untuk informasi latar belakang, lihat Kemampuan observasi untuk developer aplikasi dan Memilih pendekatan instrumentasi.
Contoh dalam dokumen ini menggunakan aplikasi contoh Go yang dijelaskan dalam Contoh instrumentasi Go, yang tersedia di GitHub.
Sebelum memulai
Aktifkan Cloud Logging, Cloud Monitoring, dan Cloud Trace API, jika ada yang belum diaktifkan.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda
membuat project, kemungkinan Anda sudah memiliki izin ini melalui
peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui
peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin).
Pelajari cara memberikan peran.
Membuat trace kustom
Untuk membuat trace kustom dari aplikasi, tambahkan kode instrumentasi yang membuat span OpenTelemetry. Di OpenTelemetry, span adalah elemen penyusun untuk trace.
Untuk membuat span, lakukan hal berikut:
Ubah aplikasi Anda untuk mendapatkan
TracerOpenTelemetry. Di OpenTelemetry, tracer adalah pembuat span. Anda dapat memperoleh tracer seperti yang ditunjukkan dalam kode berikut. Untuk melihat contoh lengkap, di toolbar contoh, pilih logo GitHub.Nama tracer, yang diwakili oleh
scopeName, mengidentifikasi cakupan instrumentasi trace yang dihasilkan.Gunakan instance
traceruntuk membuat span. Dalam contoh kode berikut, fungsicomputeSubrequestsmenghasilkan span setiap kali dipanggil:Dalam contoh kode sebelumnya, span yang dihasilkan dari fungsi
computeSubrequestsmewakili pekerjaan yang dilakukan oleh seluruh fungsi. Hal ini karena langkah pertama fungsi adalah memulai span baru menggunakantracer.Startdan kata kuncidefersebelumspan.End()memastikan bahwa span diakhiri tepat sebelum fungsi keluar.
Membuat metrik kustom
Untuk membuat metrik dari aplikasi, Anda menambahkan kode instrumentasi yang mencatat pengukuran yang dilakukan selama eksekusi aplikasi.
Untuk membuat metrik, lakukan tindakan berikut:
Ubah aplikasi Anda untuk mendapatkan
MeterOpenTelemetry. Di OpenTelemetry, meter menyediakan akses ke instrumen metrik untuk mencatat metrik. Anda dapat memperoleh meteran seperti yang ditunjukkan dalam kode berikut:Nama meter, yang diwakili oleh
scopeName, mengidentifikasi cakupan instrumentasi dari metrik yang dihasilkan.Gunakan instance
meteruntuk membuat instrumen yang dapat mencatat metrik. Misalnya, kode berikut menggunakanmeteruntuk membuat Histogram OpenTelemetry:Kode sebelumnya menghasilkan histogram bernama
sleepHistogram.Gunakan instance
sleepHistogramuntuk mencatat waktu tidur, yang ditentukan saat fungsirandomSleepdipanggil:Metrik yang dicatat dari instrumen ini diekspor dari aplikasi Anda berdasarkan konfigurasi pengekspor OpenTelemetry.