Trace menyediakan mekanisme bagi Anda untuk menambahkan data yang bermakna ke
span. Jika menggunakan Cloud Trace API V1, Anda dapat menambahkan label, yang merupakan pasangan nilai kunci, dengan menggunakan kolom labels
di objek TraceSpan
Cloud Trace API.
Jika menggunakan Cloud Trace API V2, Anda dapat menambahkan informasi dengan 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 Attributes. Misalnya, screenshot berikut mengilustrasikan tab ini:
Untuk informasi tentang cara mengakses informasi ini, lihat Menemukan dan menjelajahi trace.
Kolom labels
adalah peta key-value pair. Kunci dan nilai disimpan
sebagai string. Untuk pembatasan panjang string, lihat
referensi API untuk labels
.
Ada batas 32 label per span.
Kunci standar
Label kanonis
Tabel berikut mencantumkan kunci standar yang didukung, menyertakan deskripsi, dan dalam beberapa kasus, menyertakan contoh:
Kunci label | Deskripsi Contoh |
---|---|
/agent |
ID agen rekaman aktivitas."node@google-cloud/trace-agent v3.0.0" |
/component |
ID komponen."grpc" |
/error/message |
Pesan error."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 |
Wilayah klien."us-east4" |
/http/host |
Nilai
Header Host."default.example.com"
|
/http/method † |
Tetapkan ke metode permintaan HTTP. Jangan sertakan kunci ini untuk permintaan non-HTTP. "GET"
|
/http/path † |
Jalur URL permintaan."/cart/checkout" |
/http/redirected_url |
URL sebelum pengalihan. Dalam hal ini, gunakan label URL HTTL utama 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 memunculkan permintaan."python-requests/2.19.1"
|
/stacktrace |
Stack trace berformat JSON.
Pelacakan tumpukan tidak diindeks untuk penelusuran. Label ini ditampilkan di tabel Call Stack. Label /stacktrace hanya digunakan oleh V1 API. Untuk V2 API, 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 Details yang disertakan dalam tampilan Trace details.
Label kanonis untuk GKE
Tabel berikut mencantumkan semua label kanonis untuk penampung 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. |
Locationg.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 penampung GKE. Untuk membuka halaman detail penampung, klik nilai ini. |
Contoh
Berikut adalah representasi JSON sebagian 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 yang 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 | Contoh nilai label |
---|---|
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 kustom. Jika Anda membuat label kustom, sebaiknya gunakan format berikut:
/category/product/key
untuk agen produk terkenal. Contoh,/db/mongodb/read_size
.short_host/path/key
untuk kunci khusus domain. Contoh,g.co/agent
.
Jika Anda membuat banyak label kustom, hal tersebut dapat menimbulkan dampak performa karena peningkatan kardinalitas label.
Seperti yang diilustrasikan di bagian Contoh, jika Anda menggunakan kolektor Zipkin atau library seperti OpenTelemetry, tindakan ini dapat menambahkan label ke span rekaman aktivitas Anda.
Menggunakan OpenTelemetry
Jika Anda menggunakan library OpenTelemetry, pastikan Anda menggunakan Konvensi Semantik OpenTelemetry saat membuat span.