Memecahkan masalah

Halaman ini berisi informasi pemecahan masalah untuk Trace.

Tidak ada data di antarmuka Trace

Jika Anda tidak dapat melihat trace di project Google Cloud saat Anda mengharapkan data trace ada, coba langkah berikut:

  1. Di panel navigasi Konsol Google Cloud, pilih APIs & Services, klik Enable APIs and Services, lalu aktifkan Cloud Trace API:

    Buka setelan Cloud Trace API

  2. Jika API enabled ditampilkan, berarti API sudah diaktifkan. Jika belum, klik tombol Enable.

  3. Di panel navigasi Konsol Google Cloud, pilih APIs & Services, lalu temukan baris berlabel Cloud Trace API.

    Buka setelan APIs & Services

    Coba langkah berikut untuk mengatasinya:

    • Jika kolom berlabel Permintaan tidak mencantumkan informasi numerik apa pun, berarti tidak ada data trace yang dikirim ke project Google Cloud Anda.

      Untuk mengatasi kasus ini, periksa aplikasi dan proxy Anda untuk memastikan keduanya dikonfigurasi untuk mengirim rekaman aktivitas ke project yang benar.

    • Pilih Cloud Trace API, pilih tab Metrics, lalu cari diagram yang berlabel Errors by API method:

      • Jika penulisan gagal, beri akun layanan yang memberikan kredensial autentikasi peran Agen Cloud Trace (roles/cloudtrace.agent). Peran ini mencakup izin cloudtrace.traces.patch, yang memungkinkan aplikasi menulis data span ke project Google Cloud.

        Untuk mengetahui informasi selengkapnya, lihat Peran IAM Cloud Trace.

      • Jika operasi baca gagal, pastikan peran IAM Anda di project Google Cloud menyertakan izin dalam peran Cloud Trace User (roles/cloutrace.user). Untuk mengetahui daftar izin untuk peran ini, lihat Peran IAM Cloud Trace.

Tidak ada data rekaman aktivitas setelah mengupdate aplikasi Go untuk menggunakan OpenTelemetry

Aplikasi Anda mengandalkan library klien untuk mengambil rekaman aktivitas, dan setelah mengupdate aplikasi untuk menggunakan OpenTelemetry, Anda tidak akan lagi melihat data Cloud Trace.

Karena beberapa library klien Google untuk Go terintegrasi dengan OpenCensus, Anda harus menggunakan Jembatan OpenCensus. Untuk informasi selengkapnya tentang masalah yang dipecahkan oleh jembatan, lihat Jembatan OpenCensus.

Untuk mengetahui informasi tentang update library klien Google untuk Go, lihat Masalah #4237.

Tidak ada data trace untuk aplikasi yang di-deploy

Anda telah men-deploy aplikasi yang mengirimkan data ke project Google Cloud menggunakan Cloud Trace API, tetapi data trace tidak dikumpulkan.

Coba langkah berikut untuk mengatasinya:

  • Jika Anda tidak melihat data di halaman Trace Explorer di Konsol Google Cloud, ikuti langkah-langkah di bagian yang berjudul Tidak ada data di antarmuka Trace.

  • Jika aplikasi tidak di-deploy di Google Cloud atau jika menggunakan akun layanan untuk memberikan kredensial autentikasi, pastikan bahwa akun layanan telah diberi peran Agen Cloud Trace (roles/cloudtrace.agent).

    Peran ini mencakup izin cloudtrace.traces.patch, yang memungkinkan aplikasi menulis data span ke project Google Cloud.

  • Jika aplikasi mengandalkan OpenTelemetry, lakukan hal berikut:

    • Untuk layanan root, coba perbarui variabel lingkungan Anda sehingga OpenTelemetry menggunakan sampler traceidratio dengan frekuensi sampling 0.5:

      export OTEL_TRACES_SAMPLER="traceidratio"
      export OTEL_TRACES_SAMPLER_ARG="0.5"
      
    • Untuk semua layanan lainnya, biarkan variabel lingkungan OTEL_TRACES_SAMPLER tidak disetel untuk menggunakan sampler default, yaitu parentbased_always_on. Setelan default berarti keputusan pengambilan sampel untuk sebuah span diwariskan dari span induknya, jika span tersebut ada. Jika span induk tidak ada, span akan diambil sampelnya.

    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.

Pesan ID span tidak ada dalam rekaman aktivitas

Trace Anda berisi pesan "Missing span ID".

Dalam sistem pelacakan terdistribusi, diharapkan ada pelacakan yang tidak lengkap. Rekaman aktivitas tidak lengkap jika span yang dijadikan sampel berisi referensi ke span lain yang belum diterima. Referensi yang belum terselesaikan dapat terjadi karena alasan berikut:

  • Span yang dirujuk tidak diambil sampelnya.
  • Span yang direferensikan diambil sampelnya, tetapi belum diterima oleh Cloud Trace atau span diterima, tetapi tidak disimpan.

Saat Anda melihat trace yang tidak lengkap, Cloud Trace akan menampilkan pesan "Missing span ID" di panel detail rekaman aktivitas.

Jika Anda terus melihat pesan "ID span tidak ada", coba langkah berikut:

  • Untuk komponen yang Anda kelola, pastikan komponen tersebut mengikuti dan menerapkan flag sampled header, jika kolom ini ada. Setelan ini merupakan petunjuk bagi komponen turunan untuk mengambil sampel permintaan. Untuk mengetahui informasi selengkapnya tentang header rekaman aktivitas, lihat Protokol untuk propagasi konteks.

    Layanan Google Cloud biasanya mematuhi petunjuk ini. Namun, fitur ini juga membatasi kecepatan penulisan data rekaman aktivitas.

  • Jika menggunakan Anthos Service Mesh, pastikan Anda mengikuti panduan untuk menyebarkan konteks rekaman aktivitas untuk konfigurasi tersebut. Untuk panduan Anthos Service Mesh, lihat Penyebaran konteks rekaman aktivitas.