Filter Cloud Trace

Dokumen ini menjelaskan cara mengonfigurasi filter saat Anda menggunakan metode list Cloud Trace API. Filter memungkinkan Anda menentukan satu atau beberapa kondisi yang harus dipenuhi agar trace dapat ditampilkan.

Halaman ini tidak berlaku untuk halaman Trace Explorer. Untuk memfilter data yang ditampilkan di halaman tersebut, gunakan filter yang telah ditentukan, yang tercantum di panel Span filters, atau gunakan kolom Filter. Untuk mengetahui informasi selengkapnya, lihat Menemukan dan menjelajahi trace.

Ringkasan filter

Filter trace terdiri dari urutan perbandingan yang disebut istilah. Trace harus cocok dengan semua istilah dalam filter agar dapat dipilih. Misalnya, filter berikut cocok dengan trace yang memiliki latensi satu detik atau lebih, dan yang berisi rentang bernama /modules.GetNumInstances:

+span:/modules.GetNumInstances latency:1s

Semua perbandingan string bersifat peka huruf besar/kecil.

Atribut boolean

Untuk menentukan nilai untuk atribut Boolean, gunakan false untuk salah, dan true untuk benar:

Client:true

Karakter khusus

Nilai sederhana, yaitu nilai yang cocok dengan ekspresi reguler [a-zA-Z0-9./_][a-zA-Z0-9./_-]*, dapat diberikan tanpa tanda kutip:

environment:production
path:/index.html
error_code:200

Nilai yang menyertakan karakter lain, termasuk spasi kosong, harus diapit oleh karakter tanda kutip ganda ("):

my-label:"Notice: This value contains spaces and a colon"

Untuk menelusuri karakter tanda kutip ganda atau karakter garis miring terbalik (\) dalam string yang dikutip, escape karakter dengan garis miring terbalik:

my-label:"Notice: This value contains spaces, a colon, a \"quote\", and a backslash (\\)"

Sintaksis filter

Di halaman ini, NAME mengacu pada nama kolom, sedangkan VALUE mengacu pada nilai pasangan kunci-nilai. String _PREFIX dan _EXACT adalah indikasi visual apakah pengujian adalah pengujian awalan atau kecocokan yang tepat. Misalnya, root:[NAME_PREFIX] berarti nama rentang root harus diawali dengan [NAME_PREFIX].

Bagian lain dari halaman ini berisi deskripsi untuk filter saat menggunakan Cloud Trace API.

Contoh filter permintaan

Berikut ini menjelaskan istilah filter:

root:[NAME_PREFIX]

Nama rentang root trace harus diawali dengan [NAME_PREFIX]. Misalnya, filter berikut cocok dengan trace bernama "/_ah/background", tetapi tidak cocok dengan trace bernama "/_ahx/background":

root:/_ah/
+root:[NAME]

Nama rentang root trace harus [NAME], tepatnya. Contoh:

+root:/_ah/background
[NAME_PREFIX]

Sintaksis ini adalah pintasan untuk root:[NAME_PREFIX].

+[NAME]

Sintaksis ini adalah pintasan untuk +root:[NAME].

span:[NAME_PREFIX]

Trace harus memiliki setidaknya satu rentang yang namanya diawali dengan [NAME_PREFIX]. Contoh:

span:/modules.
+span:[NAME]

Trace harus memiliki setidaknya satu rentang yang namanya adalah [NAME], tepatnya. Misalnya,

span:/modules.GetNumInstances
latency:[DURATION]

Trace harus memiliki latensi keseluruhan yang lebih besar atau sama dengan [DURATION]. Durasi dinyatakan sebagai bilangan bulat yang diikuti oleh penentu unit: s untuk detik, ms untuk milidetik, atau ns untuk nanodetik. Jika tidak ada penentu unit, unitnya adalah milidetik. Misalnya, empat durasi berikut sama:

 12s 12000ms 12000000ns 12000
label:[LABEL_KEY]

Trace harus berisi kunci label yang ditentukan, tepatnya. Nilai label (jika ada) tidak masalah. Misalnya,

label:/http/url
[LABEL_KEY]:[VALUE_PREFIX]

Trace harus berisi kunci label yang ditentukan, tepatnya, dan nilai label harus diawali dengan [VALUE_PREFIX]. Misalnya, istilah berikut cocok dengan trace yang versi App Engine-nya diawali dengan "2017".

g.co/gae/app/module_version:2017
+[LABEL_KEY]:[VALUE_EXACT]

Trace harus berisi kunci dan nilai label yang ditentukan, tepatnya. Misalnya,

+g.co/gae/app/module_version:201750925t173233.387410594824284458
method:[VALUE_PREFIX]

Sintaksis ini adalah pintasan untuk pengujian label, /http/method:[VALUE_PREFIX].

+method:[VALUE_EXACT]

Sintaksis ini adalah pintasan untuk pengujian label, +/http/method:[VALUE_EXACT].

url:[VALUE_PREFIX]

Sintaksis ini adalah pintasan untuk pengujian label, /http/url:[VALUE_PREFIX].

+url:[VALUE_EXACT]

Sintaksis ini adalah pintasan untuk pengujian label, +/http/url:[VALUE_EXACT].

Contoh penelusuran rentang root

Untuk membatasi istilah penelusuran hanya ke rentang root, tambahkan (^) sebelum istilah penelusuran dan setelah (+) opsional. Untuk kolom Filter di halaman Trace Explorer, jika Anda menambahkan anotasi +^, anotasi tersebut akan dikonversi menjadi ^+ saat Anda menekan Enter.

Berikut ini menunjukkan beberapa istilah penelusuran khusus rentang root dan kesetaraannya:

^label:[LABEL_KEY]
Ini adalah penelusuran rentang root untuk label:[LABEL_KEY].
^[LABEL_KEY]:[VALUE_PREFIX]
Ini adalah penelusuran rentang root untuk [LABEL_KEY]:[VALUE_PREFIX].
+^[LABEL_KEY]:[VALUE]
Ini adalah penelusuran rentang root untuk +[LABEL_KEY]:[VALUE].
^method:[VALUE_PREFIX]
Ini adalah penelusuran rentang root untuk method:[VALUE_PREFIX].
+^method:[VALUE]
Ini adalah penelusuran rentang root untuk +method:[VALUE].
^url:[VALUE_PREFIX]
Ini adalah penelusuran rentang root untuk url:[VALUE_PREFIX].
+^url:[VALUE]
Ini adalah penelusuran rentang root untuk +url:[VALUE].
^span:[NAME_PREFIX]
Ini setara dengan root:[NAME_PREFIX].
+^span:[NAME]
Ini setara dengan +root:[NAME].

Dengan membuat kueri dengan istilah campuran, penelusuran dapat disesuaikan lebih lanjut. Misalnya,

    +^url:/main /images method:200

cocok dengan trace saat label rentang root /http/url persisnya "/main", nama rentang root diawali dengan /images, dan rentang apa pun memiliki label /http/method dengan nilai 200.

Pemecahan masalah

Bagian ini berisi konten pemecahan masalah.

Performa lambat

Jika filter trace Anda rumit, filter tersebut akan memerlukan waktu lebih lama untuk dijalankan dan dapat mengalami error waktu tunggu. Untuk meningkatkan performa, sederhanakan filter.

Tidak ada hasil

Jika filter Anda tidak menampilkan trace apa pun, periksa hal berikut:

  • Pastikan tidak ada spasi dalam filter kecuali spasi yang memisahkan perbandingan.

  • Pastikan huruf besar/kecil dan ejaan semua kata dalam filter sudah benar. Misalnya, jika Anda salah mengeja kata kunci seperti method:GET, filter akan ditafsirkan sebagai label:method:GET, yang tidak cocok dengan trace apa pun.

  • Untuk menguji istilah filter satu per satu, buka metode API list, lalu gunakan APIs Explorer. Jika salah satu istilah tidak menampilkan hasil, istilah tersebut mungkin menjadi alasan mengapa tidak ada data yang ditampilkan.

    APIs Explorer terbuka saat halaman menampilkan panel berjudul, Try this method. Jika perlu, klik Try it, yang akan membuka APIs Explorer.