Label rekaman aktivitas

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:

Contoh tabel atribut Cloud Trace.

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 labelContoh
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:
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 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 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 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.