Label trace

Trace menyediakan mekanisme bagi Anda untuk menambahkan data yang bermakna ke rentang. Jika menggunakan Cloud Trace API V1, Anda dapat menambahkan label, yang merupakan pasangan nilai kunci, menggunakan kolom labels di objek Cloud Trace API TraceSpan. Jika menggunakan Cloud Trace API V2, Anda dapat menambahkan informasi menggunakan objek Attributes.

Saat Anda menjelajahi rentang, label untuk rentang tersebut akan ditampilkan di tab Attributes. Misalnya, screenshot berikut mengilustrasikan tab ini:

Contoh tabel atribut Cloud Trace.

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

Kolom labels adalah peta pasangan nilai kunci. Kunci dan nilai disimpan sebagai string. Untuk mengetahui batasan panjang string, lihat referensi API untuk labels.

Ada batas 32 label per rentang.

Kunci standar

Label kanonis

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

Kunci labelDeskripsi
Contoh
/agent ID agen Trace.
"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 Host Header.
"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 kunci untuk menyimpan URL akhir.
/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 HTTP User-Agent yang membuat permintaan.
"python-requests/2.19.1"
/stacktrace Stack trace berformat JSON. Stack trace 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 container GKE:

Nama Tampilan di tabel GKE Container
Kunci label
Deskripsi
Project ID
g.co/r/k8s_container/project_id
Project yang menghosting cluster GKE . Google Cloud Klik nama project untuk membuka dasbor GKE di Google Cloud konsol.
Location
g.co/r/k8s_container/location
Lokasi fisik cluster GKE.
Cluster Name
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 GKE Workloads, klik nilai ini.
Pod Name
g.co/r/k8s_container/pod_name
Mengidentifikasi pod GKE. Untuk membuka dasbor Pods details, klik nilai ini.
Container Name
g.co/r/k8s_container/container_name
Mengidentifikasi container GKE. Untuk membuka halaman detail container, 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://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"
      }
    }
  ]
}

Trace 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 awalan g.co. Awalan g.co menunjukkan bahwa label ini dibuat oleh layanan Google. Jika menjalankan layanan di App Engine atau infrastruktur lainnya, Anda mungkin melihat label seperti berikut: Google Cloud

Kunci label Nilai contoh 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 khusus. Jika 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 khusus, hal ini dapat menimbulkan dampak performa karena peningkatan kardinalitas label.

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

Menggunakan OpenTelemetry

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