Dokumen ini memberikan ringkasan singkat tentang cara melengkapi aplikasi Anda untuk Cloud Trace. Untuk petunjuk mendetail tentang cara menyiapkan Cloud Trace, lihat halaman penyiapan untuk bahasa tertentu.
Cloud Trace menyediakan data pelacakan terdistribusi untuk aplikasi Anda. Setelah menginstrumentasikan aplikasi, Anda dapat memeriksa data latensi untuk satu permintaan dan melihat latensi gabungan untuk seluruh aplikasi di konsol Cloud Trace.
Kapan harus menginstrumentasikan aplikasi Anda
Jika data rekaman aktivitas tidak direkam secara otomatis, Anda harus melengkapi aplikasi untuk mengumpulkan data ini.
Anda dapat menginstrumentasikan aplikasi agar mengumpulkan informasi khusus aplikasi. Beberapa framework instrumentasi open source memungkinkan Anda mengumpulkan metrik, log, dan trace dari aplikasi serta mengirim data tersebut ke vendor mana pun, termasuk Google Cloud. Untuk melengkapi aplikasi Anda, sebaiknya gunakan framework instrumentasi netral vendor yang merupakan open source, seperti OpenTelemetry, bukan API atau library klien khusus vendor dan produk.
Untuk mengetahui informasi tentang instrumentasi aplikasi Anda menggunakan framework instrumentasi netral vendor, lihat Instrumentasi dan kemampuan observasi.
Cara menginstrumentasikan aplikasi
Untuk mengetahui rekomendasi mengenai instrumentasi aplikasi guna mengumpulkan log, metrik, dan trace, lihat Memilih pendekatan instrumentasi.
Untuk melengkapi aplikasi guna mengumpulkan data rekaman aktivitas, Anda dapat melakukan salah satu tindakan berikut:
Anda dapat menggunakan OpenTelemetry dan pengekspor Cloud Trace terkait untuk bahasa pemrograman berikut:
SDK OpenTelemetry Contoh SDK C++ Contoh C++ Go SDK Contoh Go SDK Java Contoh Java SDK Node.js Contoh Node.js SDK Python Contoh Python SDK Ruby Lihat dokumentasi OpenTelemetry. Jika Anda menulis aplikasi yang berjalan di Compute Engine, Anda dapat menggunakan Agen Operasional dan penerima OpenTelemetry Protocol (OTLP) untuk mengumpulkan trace dan metrik dari aplikasi Anda. Agen Operasional juga dapat mengumpulkan log, tetapi tidak dengan menggunakan OTLP. Untuk mengetahui informasi selengkapnya, lihat Menggunakan Agen Operasional dan OTLP serta Ringkasan Agen Operasional.
Anda dapat menggunakan library klien atau langsung memanggil Cloud Trace API untuk mengirim data pelacakan ke Cloud Trace. Namun, sebaiknya gunakan OpenTelemetry jika bahasa Anda didukung oleh library tersebut.
Anda dapat mengonfigurasi server Zipkin untuk menerima trace dari klien Zipkin, lalu meneruskan trace tersebut ke Cloud Trace untuk dianalisis. Untuk informasi tentang pendekatan ini, lihat Menggunakan Cloud Trace dengan Zipkin.
Anda dapat mengonfigurasi aplikasi Spring Boot untuk meneruskan data rekaman aktivitas yang dikumpulkannya ke Cloud Trace. Untuk mengetahui informasi tentang prosedur ini, lihat Spring Cloud untuk Google Cloud: Cloud Trace.
Kapan membuat span
Library klien Cloud Trace biasanya mempertahankan konteks rekaman aktivitas global yang menyimpan informasi tentang span saat ini, termasuk ID trace-nya dan apakah trace diambil sampelnya atau tidak. Library ini biasanya membuat span pada batas RPC. Namun, Anda mungkin perlu membuat span jika algoritma pembuatan default tidak memadai untuk kebutuhan Anda.
Span aktif saat ini dapat diakses oleh konteks pelacakan global, yang terkadang digabungkan dalam objek Tracer. Anda dapat menambahkan informasi yang relevan dengan aplikasi menggunakan tag dan anotasi kustom ke span yang ada, atau membuat span turunan baru dengan anotasi dan tagnya sendiri untuk melacak perilaku aplikasi dengan tingkat perincian yang lebih baik. Karena konteksnya bersifat global, aplikasi multi-thread yang memperbarui konteks harus menggunakan isolasi yang sesuai.
Kapan harus memberikan kredensial autentikasi
Biasanya, Anda tidak perlu memberikan kredensial autentikasi ke aplikasi atau menentukan project ID Google Cloud di aplikasi Anda saat menjalankannya di Google Cloud. Untuk beberapa bahasa, Anda harus menentukan project ID Google Cloud meskipun menjalankan aplikasi di Google Cloud. Selain itu, jika menggunakan mode Autopilot untuk Google Kubernetes Engine, atau jika mengaktifkan Workload Identity, Anda harus mengonfigurasi aplikasi untuk menggunakan Workload Identity.
Jika menjalankan di luar Google Cloud, Anda harus memberikan kredensial autentikasi ke aplikasi Anda. Anda juga harus menentukan project ID Google Cloud di aplikasi Anda.
Untuk mengetahui detailnya, buka halaman penyiapan spesifik per bahasa.
Cara memaksa agar permintaan dilacak
Kecuali jika aplikasi Anda selalu mengambil sampel setiap span, secara umum, Anda tidak dapat memaksa permintaan untuk dilacak secara menyeluruh karena setiap komponen dalam permintaan end-to-end membuat keputusan pengambilan sampel sendiri. Namun, Anda dapat memengaruhi
keputusan dengan menambahkan tanda sampled
ke header pelacakan dan
menetapkan tanda ini ke true
. Setelan ini merupakan petunjuk bagi komponen turunan
untuk mengambil sampel permintaan.
Untuk mengetahui informasi selengkapnya tentang header rekaman aktivitas, lihat
Protokol untuk propagasi konteks.
Untuk komponen downstream yang kodenya Anda miliki, Anda harus menentukan apakah
logika instrumentasi Anda mematuhi tanda sampled
.
Misalnya, saat menggunakan OpenTelemetry
untuk instrumentasi, Anda dapat menggunakan sampel ParentBased
untuk memastikan tanda sampel induk dipatuhi.
Layanan Google Cloud yang mencatat informasi pelacakan ke Cloud Trace biasanya menerima flag sampling induk sebagai petunjuk; tetapi, sebagian besar layanan juga dapat membatasi kapasitas pengambilan sampel. Setiap layanan Google Cloud menentukan apakah layanan tersebut mendukung perekaman aktivitas, cara penggunaan tanda pengambilan sampel induk, dan batas kapasitas pengambilan sampel.
Mengaktifkan Cloud Trace API
Untuk menggunakan Cloud Trace, project Google Cloud Anda harus mengaktifkan Cloud Trace API. Setelan ini memungkinkan project Google Cloud Anda menerima data rekaman aktivitas dari sumber yang diautentikasi. Secara default, project Google Cloud mengaktifkan Cloud Trace API dan Anda tidak perlu melakukan tindakan apa pun. Namun, Anda mungkin perlu mengaktifkan Cloud Trace API jika telah mengubah cakupan akses project Google Cloud.
Untuk mengaktifkan Cloud Trace API, lakukan hal berikut:
-
Di panel navigasi Konsol Google Cloud, pilih APIs & Services, klik Enable APIs and Services, lalu aktifkan Cloud Trace API:
Jika API enabled ditampilkan, berarti API sudah diaktifkan. Jika belum, klik tombol Enable.
Langkah selanjutnya
Untuk informasi konfigurasi mendetail, contoh, dan link ke GitHub serta repositori open source lainnya, buka halaman penyiapan untuk bahasa Anda:
Contoh OpenTelemetry:
Contoh library klien: