Label trace

Label dan atribut di Cloud Trace memungkinkan Anda melampirkan metadata key-value, seperti kode status HTTP, nama region, atau properti aplikasi kustom, ke rentang sehingga Anda dapat memfilter, mengelompokkan, dan memecahkan masalah permintaan. Jika menggunakan Cloud Trace API v1, Anda dapat menambahkan pasangan nilai kunci menggunakan kolom labels di objek TraceSpan. Jika Anda menggunakan Trace API v2, Anda menambahkan metadata menggunakan objek Attributes.

Tentang label dan atribut

Kolom labels adalah peta pasangan nilai kunci yang disimpan sebagai string, dengan batas 1024 label per rentang. Untuk batasan panjang string, lihat referensi API untuk labels.

Saat Anda menjelajahi rentang di halaman Trace Explorer, label untuk rentang tersebut akan ditampilkan di tab Attributes, seperti yang ditunjukkan pada screenshot berikut:

Contoh tabel atribut Cloud Trace.

Untuk mengetahui informasi tentang cara mengakses informasi ini, lihat Menemukan dan menjelajahi rekaman aktivitas.

Kunci standar

Label kanonis

Tabel berikut mencantumkan kunci bawaan yang didukung, menyertakan deskripsi, dan dalam beberapa kasus, menyertakan contoh:

Kunci labelDeskripsi
Contoh
/agent ID agen pelacakan.
"node@google-cloud/trace-agent v3.0.0"
/component ID komponen.
"grpc"
/error/message Pesan error.
"Rendezvous of RPC that terminated with:
status = StatusCode.UNAVAILABLE details = OS Error."
/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† Ditetapkan ke metode permintaan HTTP.
Jangan sertakan kunci ini untuk permintaan non-HTTP.
"GET"
/http/path† Jalur Request-URL.
"/cart/checkout"
/http/redirected_url URL sebelum pengalihan.
Dalam hal ini, gunakan label URL HTTP 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 memulai 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 Detail yang disertakan dalam tampilan Detail rekaman aktivitas.

Label kanonis untuk GKE

Tabel berikut mencantumkan semua label kanonis untuk penampung GKE:

Nama Tampilan di tabel GKE Container
Kunci label
Deskripsi
Project ID
g.co/r/k8s_container/project_id
Project Google Cloud yang menghosting cluster GKE. Klik nama project untuk membuka dasbor GKE di konsol Google Cloud .
Lokasi
g.co/r/k8s_container/location
Lokasi fisik cluster GKE.
Nama Cluster
g.co/r/k8s_container/cluster_name
Mengidentifikasi cluster GKE. Untuk membuka halaman konfigurasi Clusters, klik nilai ini.
Namespace
g.co/r/k8s_container/namespace
Mengidentifikasi namespace. Untuk membuka halaman Workloads GKE, klik nilai ini.
Nama Pod
g.co/r/k8s_container/pod_name
Mengidentifikasi pod GKE. Untuk membuka dasbor Detail pod, klik nilai ini.
Nama Penampung
g.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 mencakup beberapa label:

{
  "projectId": "a-sample-project",
  "traceId": "00000000000000004db6dd68e7d37f57",
  "spans": [
    {
      "spanId": "12913864118554233534",
      "kind": "RPC_SERVER",
      "name": "http://192.0.2.0/",
      "startTime": "2024-04-02T19:37:34.149058Z",
      "endTime": "2025-04-02T19:37:34.151136Z",
      "parentSpanId": "5599906629317525335",
      "labels": {
        "/component": "default",
        "/http/host": "192.0.2.0",
        "/http/status_code": "200",
        "/http/url": "http://192.0.2.0/",
        "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"
      }
    }
  ]
}

Rekaman aktivitas sebelumnya diambil dari sistem yang menggunakan pengumpul Zipkin. Dalam hal ini, label dengan kunci zipkin.io ditambahkan oleh pengumpul tersebut.

Awalan g.co

Dalam beberapa kasus, label yang ditampilkan berisi prefiks g.co. Awalan g.co menunjukkan bahwa label ini dibuat oleh layanan Google. Jika Anda menjalankan layanan di App Engine atau infrastruktur Google Cloud lainnya, Anda mungkin melihat label seperti berikut:

Kunci label Nilai label contoh
g.co/agent opentelemetry-js 1.18.1; google-cloud-trace-exporter 2.1.0
g.co/r/generic_node/location global

Label kustom

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 spesifik per domain. Contoh, g.co/agent.

Jika Anda membuat banyak label kustom, hal itu dapat menimbulkan dampak pada performa karena peningkatan kardinalitas label.

Seperti yang diilustrasikan di bagian Contoh, jika Anda menggunakan pengumpul Zipkin atau library seperti OpenTelemetry, library tersebut dapat menambahkan label ke rentang rekaman aktivitas Anda.

Menggunakan OpenTelemetry

Jika Anda menggunakan library OpenTelemetry, pastikan Anda menggunakan Konvensi Semantik OpenTelemetry saat membuat span.