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 mengetahui informasi tentang cara membuat dan memodifikasi 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 kecocokannya sama persis, atau kapan keduanya merupakan 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 di filter yang akan dipilih. Misalnya, filter berikut mencocokkan rekaman aktivitas yang memiliki latensi satu detik atau lebih, dan yang 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 (:), lingkari nilai dalam karakter kutip 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 dikutip, escape karakter dengan garis miring terbalik. Misalnya,

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

Filter sintaksis

Pada tabel berikut dan di tempat lain di halaman ini, NAME mengacu pada nama kolom, sementara VALUE mengacu pada nilai pasangan nilai kunci. String _PREFIX dan _EXACT merupakan indikasi visual apakah pengujian merupakan pengujian awalan atau pencocokan persis. Misalnya, root:[NAME_PREFIX] berarti nama span root harus dimulai 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 Trace 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 selanjutnya dari halaman ini berisi deskripsi untuk filter saat menggunakan Trace API dan untuk Request Filter di halaman Analysis Reports. Jika menggunakan kolom Filter di halaman Trace Explorer, Anda dapat menggunakan pemetaan pada tabel sebelumnya untuk membuat ekspresi yang setara.

Contoh filter permintaan

Berikut penjelasan istilah filter:

root:[NAME_PREFIX]

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

root:/_ah/
+root:[NAME]

Nama span root trace harus sama persis dengan [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]

Pelacakan harus memiliki setidaknya satu span yang namanya dimulai dengan [NAME_PREFIX]. Contoh:

span:/modules.
+span:[NAME]

Rekaman aktivitas harus memiliki setidaknya satu span yang namanya sama persis dengan [NAME]. Misalnya,

span:/modules.GetNumInstances
latency:[DURATION]

Rekaman aktivitas 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, maka satuannya dalam milidetik. Misalnya, empat durasi berikut sama:

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

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

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

Trace harus berisi kunci label yang ditentukan dengan tepat, dan nilai label harus dimulai dengan [VALUE_PREFIX]. Misalnya, istilah berikut cocok dengan trace yang versi App Enginenya dimulai dengan "2017".

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

Trace harus berisi nilai kunci label dan yang ditentukan dengan tepat. 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 akan dikonversi menjadi ^+ saat Anda menekan Enter.

Berikut ini beberapa istilah penelusuran khusus root-span dan padanannya:

^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 menggunakan istilah campuran, penelusuran dapat lebih disesuaikan. 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, filter tersebut akan memerlukan waktu lebih lama untuk dijalankan dan waktu tunggunya dapat habis. Untuk meningkatkan performa, sederhanakan filter.

Tidak ada hasil

Jika filter Anda tidak menampilkan trace, periksa hal berikut:

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

  • Pastikan kapitalisasi 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 mana pun.

  • Untuk menguji istilah filter satu per satu, gunakan filter Trace List atau API Explorer. Jika salah satu istilah tidak memberikan hasil, mungkin penyebabnya adalah hal itu.