Dokumen ini memberikan ringkasan singkat tentang cara melengkapi aplikasi Anda untuk Cloud Trace. Untuk mengetahui petunjuk mendetail tentang cara menyiapkan Cloud Trace, lihat halaman penyiapan khusus bahasa.
Cloud Trace menyediakan data pelacakan terdistribusi untuk aplikasi Anda. Setelah menginstrumentasi aplikasi, Anda dapat memeriksa data latensi untuk satu permintaan dan melihat latensi agregat untuk seluruh aplikasi di konsol Cloud Trace.
Kapan harus menginstrumentasikan aplikasi Anda
Jika data rekaman aktivitas tidak diambil secara otomatis, Anda harus menginstrumentasi aplikasi untuk mengumpulkan data ini.
Anda dapat menginstrumentasi aplikasi agar mengumpulkan informasi khusus aplikasi. Beberapa framework instrumentasi open source memungkinkan Anda mengumpulkan metrik, log, dan rekaman aktivitas dari aplikasi Anda serta mengirim data tersebut ke vendor mana pun, termasuk Google Cloud. Untuk menginstrumentasi aplikasi, sebaiknya gunakan framework instrumentasi netral vendor yang bersifat open source, seperti OpenTelemetry, bukan API atau library klien khusus produk dan vendor.
Untuk mengetahui informasi tentang cara melengkapi aplikasi Anda menggunakan framework instrumentasi netral vendor, lihat Instrumentasi dan kemampuan observasi.
Cara mengukur aplikasi
Untuk menginstrumentasi aplikasi Anda guna mengumpulkan data rekaman aktivitas, Anda dapat melakukan salah satu hal berikut:
Anda dapat menggunakan OpenTelemetry dan pengekspor Cloud Trace terkait untuk bahasa pemrograman berikut:
OpenTelemetry SDK Contoh Go SDK Coba Java SDK Contoh Java Node.js SDK Contoh Node.js Python SDK Contoh Python C++ SDK Contoh C++ Ruby SDK Lihat dokumentasi OpenTelemetry. Anda dapat menggunakan OpenTelemetry dan mengirim data ke endpoint OTLP. Untuk mempelajari endpoint ini dan alasan kami merekomendasikannya, lihat Bermigrasi dari eksportir Trace ke endpoint OTLP.
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 menggunakan OTLP. Untuk mengetahui informasi selengkapnya, lihat Menggunakan Agen Operasional dan OTLP dan Ringkasan Agen Operasional.
Anda dapat menggunakan library klien atau memanggil Cloud Trace API secara langsung untuk mengirim data tracing ke Cloud Trace. Namun, sebaiknya Anda menggunakan OpenTelemetry jika bahasa Anda didukung oleh library tersebut.
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 for Google Cloud: Cloud Trace.
Kapan harus membuat rentang
Library klien Cloud Trace biasanya mempertahankan konteks rekaman aktivitas global yang menyimpan informasi tentang rentang saat ini, termasuk ID rekaman aktivitasnya dan apakah rekaman aktivitas tersebut diambil sampelnya. Library ini biasanya membuat rentang pada batas RPC. Namun, Anda mungkin perlu membuat rentang jika algoritma pembuatan default tidak cukup untuk kebutuhan Anda.
Rentang aktif saat ini dapat diakses oleh konteks pelacakan global, yang terkadang di-wrap dalam objek Tracer. Anda dapat menambahkan informasi yang relevan dengan aplikasi menggunakan anotasi dan tag kustom ke rentang yang ada, atau Anda dapat membuat rentang turunan baru dengan anotasi dan tagnya sendiri untuk melacak perilaku aplikasi dengan perincian yang lebih baik. Karena konteks bersifat global, aplikasi multi-thread yang memperbarui konteks harus menggunakan isolasi yang sesuai.
Waktu untuk memberikan kredensial autentikasi
Anda umumnya tidak perlu memberikan kredensial autentikasi ke aplikasi atau menentukan project ID di aplikasi saat Anda berjalan di Google Cloud. Google Cloud Untuk beberapa bahasa, Anda perlu menentukan ID project Google Cloud meskipun Anda menjalankan di Google Cloud. Selain itu, jika Anda menggunakan mode Autopilot untuk Google Kubernetes Engine, atau jika Anda mengaktifkan Workload Identity Federation untuk GKE, maka Anda harus mengonfigurasi aplikasi Anda untuk menggunakan Workload Identity Federation untuk GKE.
Jika menjalankan di luar Google Cloud, Anda harus memberikan kredensial autentikasi ke aplikasi Anda. Anda juga harus menentukan project IDGoogle Cloud di aplikasi Anda.
Untuk mengetahui detailnya, buka halaman penyiapan khusus bahasa.
Cara memaksa permintaan untuk dilacak
Kecuali jika aplikasi Anda selalu mengambil sampel setiap rentang, secara umum, permintaan tidak dapat dipaksa untuk dilacak secara menyeluruh karena setiap komponen dalam permintaan menyeluruh membuat keputusan pengambilan sampel sendiri. Namun, Anda dapat memengaruhi
keputusan dengan menambahkan tanda sampled
ke header rekaman aktivitas,
dengan tanda ini disetel ke true
. Setelan ini adalah petunjuk untuk komponen turunan
guna mengambil sampel permintaan.
Untuk mengetahui informasi selengkapnya tentang header pelacakan, lihat
Protokol untuk propagasi konteks.
Untuk komponen hilir yang kodenya Anda miliki, Anda harus menentukan apakah logika instrumentasi Anda mematuhi tanda sampled
.
Misalnya, saat menggunakan OpenTelemetry untuk instrumentasi, Anda dapat menggunakan sampler ParentBased
untuk memastikan tanda sampel induk dipatuhi.
Google Cloud layanan yang mencatat informasi pelacakan ke Cloud Trace biasanya menerima tanda pengambilan sampel induk sebagai petunjuk; namun, sebagian besar layanan juga membatasi pengambilan sampel berdasarkan kecepatan. Setiap Google Cloud layanan menentukan apakah layanan tersebut mendukung pelacakan, cara penggunaan flag pengambilan sampel induk, dan batas frekuensi pengambilan sampel.
Cara mengorelasikan data metrik dan rekaman aktivitas
Anda dapat mengorelasikan data metrik bernilai distribusi dengan rekaman aktivitas dengan melampirkan contoh ke titik data metrik. Jika Anda menyelesaikan langkah-langkah konfigurasi yang diperlukan, OpenTelemetry, yang merupakan library instrumentasi yang direkomendasikan, akan otomatis menambahkan contoh ini. Untuk mengetahui informasi selengkapnya, lihat Mengorelasikan metrik dan rekaman aktivitas menggunakan contoh.
Mengonfigurasi project dan platform Anda
Pastikan Cloud Trace API diaktifkan.
Secara default, Google Cloud project telah mengaktifkan Cloud Trace API dan Anda tidak perlu melakukan tindakan apa pun. Namun, batasan keamanan yang ditentukan oleh organisasi Anda mungkin telah menonaktifkan API. Untuk mengetahui informasi pemecahan masalah, lihat Mengembangkan aplikasi di lingkungan yang terbatas Google Cloud .
Enable the Cloud Trace API.
Konfigurasi platform Anda.
Anda dapat menggunakan Cloud Trace di Google Cloud dan platform lainnya.
Google Cloud: Saat aplikasi Anda berjalan di Google Cloud, Anda tidak perlu memberikan kredensial autentikasi dalam bentuk akun layanan ke library klien. Namun, Anda harus memastikan bahwa platform Anda telah mengaktifkan cakupan akses Cloud Trace API. Google Cloud
Untuk konfigurasi berikut, setelan access-scope default mencakup cakupan akses Cloud Trace API:
Jika Anda menggunakan cakupan akses kustom, Anda harus memastikan bahwa cakupan akses Cloud Trace API diaktifkan. Misalnya, jika Anda menggunakan Google Cloud CLI untuk membuat cluster GKE dan jika Anda menentukan flag
--scopes
, pastikan cakupan mencakuptrace.append
. Perintah berikut mengilustrasikan cara menetapkan flag--scopes
:gcloud container clusters create example-cluster-name --scopes=https://www.googleapis.com/auth/trace.append
Menjalankan secara lokal dan di tempat lain: Jika aplikasi Anda berjalan di luar Google Cloud, Anda harus memberikan kredensial autentikasi dalam bentuk akun layanan ke library klien. Akun layanan harus diberi peran agen Cloud Trace (
roles/cloudtrace.agent
). Untuk mengetahui informasi tentang peran, lihat Mengontrol akses dengan IAM.Google Cloud library klien menggunakan Kredensial Default Aplikasi (ADC) untuk menemukan kredensial aplikasi Anda. Anda dapat memberikan kredensial ini dengan salah satu dari tiga cara berikut:
Jalankan
gcloud auth application-default login
Tempatkan akun layanan di jalur default untuk sistem operasi Anda. Berikut adalah daftar jalur default untuk Windows dan Linux:
Windows:
%APPDATA%/gcloud/application_default_credentials.json
Linux:
$HOME/.config/gcloud/application_default_credentials.json
Tetapkan variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALS
ke jalur akun layanan Anda:Linux/macOS
export GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
Windows
set GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="path-to-your-service-accounts-private-key"
Langkah berikutnya
Untuk mengetahui informasi konfigurasi mendetail, contoh, dan link ke GitHub serta repositori open source lainnya, buka halaman penyiapan untuk bahasa Anda.
Contoh OpenTelemetry: