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