Filter Cloud Trace

Anda menggunakan filter trace untuk memilih kumpulan trace dari Cloud Trace. Gunakan filter rekaman aktivitas dengan salah satu cara berikut:

  • Sebagai parameter filter dalam kueri menggunakan metode API list.

  • Sebagai parameter Filter permintaan saat Anda membuat laporan analisis.

  • Sebagai kolom Filter di halaman Trace Explorer. Untuk informasi tentang cara membuat dan mengubah filter ini, lihat Menampilkan rekaman aktivitas terbaru.

Filter memungkinkan Anda menentukan satu atau beberapa kondisi yang harus dipenuhi agar rekaman aktivitas ditampilkan. Sintaksis filter memungkinkan Anda menentukan kapan pencocokan persis, atau kapan pencocokan adalah pengujian awalan. Semua kecocokan peka huruf besar/kecil.

Ringkasan filter

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

+span:/modules.GetNumInstances latency:1s

Semua perbandingan string peka huruf besar/kecil.

Atribut Boolean

Untuk menentukan nilai atribut Boolean, gunakan 0 untuk salah, dan 1 untuk benar. Misalnya,

Client:0

Karakter khusus

Untuk menelusuri nilai yang berisi spasi atau karakter titik dua (:), masukkan nilai dalam karakter tanda petik ganda ("). Misalnya,

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

Untuk menelusuri karakter tanda kutip ganda atau karakter garis miring terbalik (\) dalam string yang diapit tanda kutip, escape karakter dengan garis miring terbalik. Misalnya,

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

Filter sintaksis

Dalam tabel berikut dan di tempat lain di halaman ini, NAME mengacu pada nama kolom, sedangkan VALUE mengacu pada nilai pasangan nilai kunci. String _PREFIX dan _EXACT adalah indikasi visual apakah pengujian adalah pengujian awalan atau pencocokan persis. Misalnya, root:[NAME_PREFIX] berarti nama span root harus diawali dengan [NAME_PREFIX].

Tabel berikut mencantumkan sintaksis yang digunakan filter di Cloud Trace:

Trace API
Filter Permintaan di halaman Laporan Analisis
Filter di halaman Trace Explorer
root:[NAME_PREFIX] RootSpan:[NAME_PREFIX]
+root:[NAME_EXACT] RootSpan:+[NAME_EXACT]
span:[NAME_PREFIX] SpanName:[NAME_PREFIX]
+span:[NAME_EXACT] SpanName:+[NAME_EXACT]
[NAME_PREFIX] RootSpan:[NAME_PREFIX]
label:[LABEL_KEY] HasLabel:[LABEL_KEY]
[LABEL_KEY]:[VALUE_PREFIX] [LABEL_KEY]:[VALUE_PREFIX]*
+[LABEL_KEY]:[VALUE_EXACT] [LABEL_KEY]:+[VALUE]*
^[LABEL_KEY]:[VALUE_PREFIX] [LABEL_KEY]:^[VALUE_PREFIX]*
+^[LABEL_KEY]:[VALUE_EXACT] [LABEL_KEY]:^+[VALUE_EXACT]*, †
method:[VALUE_PREFIX] Method:[VALUE_PREFIX]
latency:10ms MinLatency:10ms
url:[VALUE_PREFIX] URL:[VALUE_PREFIX]

* Jangan gunakan kata kunci Pelacakan berikut sebagai kunci label: root, span, label, method, latency, dan url. Rekaman aktivitas dengan kunci label ini tidak dapat dikueri.
Di halaman Trace Explorer, anotasi +^ dikonversi menjadi ^+ saat Anda menekan Enter.

Bagian lain dari halaman ini berisi deskripsi untuk filter saat menggunakan Trace API dan untuk Filter Permintaan di halaman Laporan Analisis. Jika menggunakan kolom Filter di halaman Trace Explorer, Anda dapat menggunakan pemetaan di tabel sebelumnya untuk membuat ekspresi yang setara.

Contoh filter permintaan

Berikut ini penjelasan istilah filter:

root:[NAME_PREFIX]

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

root:/_ah/
+root:[NAME]

Nama span root rekaman aktivitas harus persis [NAME]. 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]

Rekaman aktivitas harus memiliki minimal satu span yang namanya diawali dengan [NAME_PREFIX]. Contoh:

span:/modules.
+span:[NAME]

Rekaman aktivitas harus memiliki minimal satu span yang namanya persis [NAME]. Misalnya,

span:/modules.GetNumInstances
latency:[DURATION]

Rekaman aktivitas harus memiliki latensi keseluruhan yang lebih besar atau sama dengan [DURASI]. Durasi dinyatakan sebagai bilangan bulat yang diikuti dengan 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]

Rekaman aktivitas harus berisi kunci label yang ditentukan, persis. Nilai label (jika ada) tidak penting. Misalnya,

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

Rekaman aktivitas harus berisi kunci label yang ditentukan, persis, dan nilai label harus diawali dengan [VALUE_PREFIX]. Misalnya, istilah berikut cocok dengan rekaman aktivitas yang versi App Engine-nya dimulai dengan "2017".

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

Rekaman aktivitas harus berisi kunci label dan nilai yang ditentukan, persis. 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 span root

Untuk membatasi istilah penelusuran hanya ke span 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 beberapa istilah penelusuran khusus span root dan kesamaannya:

^label:[LABEL_KEY]
Ini adalah penelusuran span root untuk label:[LABEL_KEY].
^[LABEL_KEY]:[VALUE_PREFIX]
Ini adalah penelusuran span root untuk [LABEL_KEY]:[VALUE_PREFIX].
+^[LABEL_KEY]:[VALUE]
Ini adalah penelusuran span root untuk +[LABEL_KEY]:[VALUE].
^method:[VALUE_PREFIX]
Ini adalah penelusuran span root untuk method:[VALUE_PREFIX].
+^method:[VALUE]
Ini adalah penelusuran span root untuk +method:[VALUE].
^url:[VALUE_PREFIX]
Ini adalah penelusuran span root untuk url:[VALUE_PREFIX].
+^url:[VALUE]
Ini adalah penelusuran span 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 rekaman aktivitas saat label span root /http/url sama persis dengan "/main", nama span root diawali dengan /images, dan span apa pun memiliki label /http/method dengan nilai 200.

Pemecahan masalah

Bagian ini berisi konten pemecahan masalah.

Performa lambat

Jika filter rekaman aktivitas Anda rumit, waktu yang diperlukan untuk menjalankannya akan lebih lama dan dapat waktu tunggunya habis. Untuk meningkatkan performa, sederhanakan filter.

Tidak ada hasil

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

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

  • Pastikan huruf besar dan kecil serta 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 jejak apa pun.

  • Untuk menguji istilah filter satu per satu, gunakan filter Daftar Rekaman Aktivitas atau API Explorer. Jika salah satu istilah tidak menampilkan hasil, istilah tersebut mungkin menjadi penyebabnya.