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_list 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, atauns
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 sebagailabel: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.