Trace menyediakan mekanisme bagi Anda untuk menambahkan data yang berarti ke span. Jika menggunakan Cloud Trace API V1, Anda dapat menambahkan label, yang merupakan key-value pair, dengan menggunakan kolom labels
di objek TraceSpan
Cloud Trace API.
Jika menggunakan Cloud Trace API V2, Anda dapat menambahkan informasi menggunakan objek Attributes
.
Untuk mengetahui informasi selengkapnya, lihat
Menambahkan anotasi peristiwa ke span rekaman aktivitas.
Saat Anda menjelajahi span, label untuk span tersebut akan ditampilkan di tab Atribut. Misalnya, screenshot berikut mengilustrasikan tab ini:
Untuk mengetahui informasi tentang cara mengakses informasi ini, lihat Menemukan dan menjelajahi rekaman aktivitas.
Kolom labels
adalah peta key-value pair. Kunci dan nilai tersebut disimpan
sebagai {i>string<i}. Untuk mengetahui batasan panjang string, baca
Referensi API untuk labels
.
Ada batas 32 label per rentang.
Kunci yang telah ditentukan sebelumnya
Label kanonis
Tabel berikut mencantumkan kunci bawaan yang didukung, termasuk deskripsi, dan dalam beberapa kasus, menyertakan contoh:
Kunci label | Contoh Deskripsi |
---|---|
/agent |
ID agen rekaman aktivitas."node@google-cloud/trace-agent v3.0.0" |
/component |
ID komponen."grpc" |
/error/message |
Pesan kesalahan."Rendezvous of RPC that terminated with:
|
/error/name |
Nama tampilan untuk error. |
/http/client_city |
Kota klien."NYC" |
/http/client_country |
Negara klien."US" |
/http/client_protocol |
ID protokol HTTP."1.0" |
/http/client_region |
Region klien."us-east4" |
/http/host |
Nilai Host Header."default.example.com"
|
/http/method † |
Tetapkan ke metode permintaan HTTP. Jangan sertakan kunci ini untuk permintaan non-HTTP. "GET"
|
/http/path † |
Jalur permintaan-URL."/cart/checkout" |
/http/redirected_url |
URL sebelum pengalihan. Dalam hal ini, gunakan label URL HTTL kunci untuk menyimpan URL final. |
/http/request/size |
Jumlah byte dalam permintaan. |
/http/response/size |
Jumlah byte dalam respons. |
/http/route † |
Rute yang cocok."/cart/checkout/:item_id" |
/http/status_code † |
Kode status respons HTTP."200" |
/http/url |
URL permintaan HTTP lengkap."http://example.com"
|
/http/user_agent |
Informasi tentang Agen Pengguna HTTP yang merupakan asal permintaan."python-requests/2.19.1"
|
/stacktrace |
Stack trace berformat JSON.
Stack trace tidak diindeks untuk penelusuran. Label ini ditampilkan di tabel Stack Panggilan. Label /stacktrace hanya digunakan oleh V1 API. Untuk API V2, span berisi kolom
stackTrace .
|
"stackTrace": { "stackFrames": { "frame": [ { "functionName": { "value": "serverMethodTrace [as func]" }, "fileName": { "value": "/usr/src/app/node_modules/@google-cloud/trace-agent/build/src/plugins/plugin-grpc.js" }, "lineNumber": "249", "columnNumber": "28" }, { "functionName": { "value": "anonymous function" }, "fileName": { "value": "/usr/src/app/node_modules/grpc/src/server.js" }, "lineNumber": "592", "columnNumber": "13" } ] } }, |
†
Label ini dan nilainya ditampilkan dalam tabel Detail yang disertakan dalam tampilan Detail rekaman aktivitas.
Label kanonis untuk GKE
Tabel berikut mencantumkan semua label kanonis untuk container GKE:
Nama Tampilan di tabel GKE Container Kunci label |
Deskripsi |
---|---|
Project IDg.co/r/k8s_container/project_id |
Project Google Cloud yang menghosting cluster GKE. Klik nama project untuk membuka dasbor GKE di Konsol Google Cloud. |
Lokasig.co/r/k8s_container/location |
Lokasi fisik cluster GKE. |
Nama Clusterg.co/r/k8s_container/cluster_name
|
Mengidentifikasi cluster GKE. Untuk membuka halaman konfigurasi Clusters, klik nilai ini. |
Namespaceg.co/r/k8s_container/namespace
|
Mengidentifikasi namespace. Untuk membuka halaman Workloads GKE, klik nilai ini. |
Nama Podg.co/r/k8s_container/pod_name
|
Mengidentifikasi pod GKE. Untuk membuka dasbor Detail pod, klik nilai ini. |
Nama Penampungg.co/r/k8s_container/container_name
|
Mengidentifikasi container GKE. Untuk membuka halaman detail penampung, klik nilai ini. |
Contoh
Berikut adalah representasi JSON parsial dari
objek Trace
yang menyertakan beberapa label:
{ "projectId": "a-sample-project", "traceId": "00000000000000004db6dd68e7d37f57", "spans": [ { "spanId": "12913864118554233534", "kind": "RPC_SERVER", "name": "http://xx.xxx.xxx.xxx/", "startTime": "2019-04-02T19:37:34.149058Z", "endTime": "2019-04-02T19:37:34.151136Z", "parentSpanId": "5599906629317525335", "labels": { "/component": "default", "/http/host": "xx.xxx.xxx.xxx", "/http/status_code": "200", "/http/url": "http://xx.xxx.xxx.xxx/", "zipkin.io/http.route": "/**", "/http/method": "GET", "zipkin.io/endpoint.ipv4": "10.16.1.6", "zipkin.io/http.path": "/", "zipkin.io/mvc.controller.class": "ResourceHttpRequestHandler" } } ] }
Trace sebelumnya diambil dari sistem menggunakan kolektor Zipkin.
Dalam hal ini, label dengan kunci zipkin.io
ditambahkan oleh kolektor tersebut.
Awalan g.co
Dalam beberapa kasus, label yang ditampilkan
berisi awalan g.co
. Awalan g.co
menunjukkan
bahwa label ini dibuat oleh layanan Google. Jika menjalankan layanan di App Engine atau infrastruktur Google Cloud lainnya, Anda mungkin melihat label seperti berikut:
Kunci label | Nilai label sampel |
---|---|
g.co/agent |
opentelemetry-js 1.18.1; google-cloud-trace-exporter 2.1.0 |
g.co/r/generic_node/location |
global |
Label khusus
Anda dapat membuat label khusus. Jika Anda membuat label khusus, sebaiknya gunakan format berikut:
/category/product/key
untuk agen produk terkenal. Misalnya,/db/mongodb/read_size
.short_host/path/key
untuk kunci khusus domain. Misalnya,g.co/agent
.
Jika Anda membuat banyak label kustom, dampak tersebut mungkin berdampak pada performa karena peningkatan kardinalitas label.
Seperti yang diilustrasikan di bagian Contoh, jika Anda menggunakan kolektor Zipkin atau library seperti OpenTelemetry, tindakan tersebut mungkin akan menambahkan label ke span rekaman aktivitas Anda.
Menggunakan OpenTelemetry
Jika menggunakan library OpenTelemetry, pastikan Anda menggunakan Konvensi Semantik OpenTelemetry saat membuat span.