Label trace

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:

Contoh tabel atribut Cloud Trace.

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 labelDeskripsi
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:
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 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 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.
Location
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 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.