Topik ini menjelaskan format data jejak yang didukung oleh Simple Log Service.
Simple Log Service kompatibel dengan format data jejak yang didefinisikan dalam OpenTelemetry Trace 1.0. Jika data jejak ditulis menggunakan protokol seperti OpenTelemetry, Jaeger, Zipkin, OpenCensus, dan SkyWalking, Simple Log Service secara otomatis memetakan data jejak ke format data yang didefinisikan dalam OpenTelemetry. Untuk data jejak lainnya, Anda dapat menggunakan fitur transformasi data untuk memetakan data tersebut ke format data yang didukung oleh Simple Log Service.
Data jejak mentah
Data jejak mentah dikumpulkan ke penyimpanan log bernama {instance}-traces. Tabel berikut menggambarkan bidang-bidang yang didefinisikan saat data dikumpulkan.
Bidang | Tipe | Diperlukan | Deskripsi | Contoh |
host | String | Tidak | Nama host dari host tempat sumber daya berada. Nilainya diekstraksi dari host.name pada bidang resource. | test-host |
service | String | Ya | Nama layanan dari sumber daya. Nilainya diekstraksi dari service.name pada bidang resource. | test-service |
resource | Objek JSON | Tidak | Bidang terkait sumber daya lainnya. Bidang host dan service juga merupakan bidang terkait sumber daya. Contoh: ID proses, nama proses, dan nama pod. Untuk informasi lebih lanjut, lihat Konvensi Semantik Sumber Daya. | {"k8s.pod.name":"xxxx", "k8s.pod.namespace":"kube-system"} |
otlp.name | String | Tidak | Nama SDK Trace. | go-sdk |
otlp.version | String | Tidak | Versi SDK Trace. | v1.0.0 |
name | String | Ya | Nama rentang. | /get/314159 |
kind | String | Tidak | Jenis rentang. Contoh: CLIENT dan SERVER. Untuk informasi lebih lanjut, lihat SpanKind. | SERVER |
traceID | String | Ya | ID jejak. Nilainya adalah string heksadesimal. | 0123456789abcde0123456789abcde |
spanID | String | Ya | ID rentang. Nilainya adalah string heksadesimal. | 0123456789abcde |
parentSpanID | String | Ya | ID rentang induk. Nilainya adalah string heksadesimal. | 0123456789abcde |
links | Array JSON | Tidak | Rentang lain yang terkait dengan data jejak. Untuk informasi lebih lanjut, lihat Menentukan tautan. | [{"TraceID" : "abc", "SpanId" : "abc", "TraceState" : "", "Attributes" : { "k" : "v" } }] |
logs | Array JSON | Tidak | Informasi log dan acara yang terkait dengan data jejak. Untuk informasi lebih lanjut, lihat Tambahkan Acara. | Tidak ada |
traceState | String | Tidak | Status jejak, yang didefinisikan dalam spesifikasi Konsorsium World Wide Web (W3C). Untuk informasi lebih lanjut, lihat Spesifikasi Konteks Jejak W3C. | Tidak ada |
start | INT | Ya | Waktu mulai. Nilainya adalah timestamp UNIX. Satuan: nanodetik. | 1686294916826000000 |
end | INT | Tidak | Waktu akhir. Nilainya adalah timestamp UNIX. Satuan: nanodetik. | 1686294924827000000 |
duration | INT | Ya | Latensi. Nilainya adalah selisih antara bidang start dan end. Satuan: nanodetik. | 8001000 |
attribute | Objek JSON | Ya | Informasi atribut tentang rentang, seperti URL dan kode status permintaan HTTP. Untuk informasi lebih lanjut, lihat Penamaan Atribut. | {"custom":"custom","host.hostname":"myhost","my-label":"myapp-type","null-value":"","service.name":"myapp"} |
statusCode | String | Ya | Kode status permintaan HTTP. Nilai valid: OK, ERROR, dan UNSET. Nilai UNSET setara dengan nilai OK. | ERROR |
statusMessage | String | Tidak | Pesan status permintaan HTTP. | stack overflow |
Data hubungan panggilan di antara dimensi
Data jejak mencakup data hubungan panggilan di antara dimensi. Data hubungan panggilan dihasilkan setelah perhitungan dan disimpan dalam penyimpanan log bernama {instance}-traces-deps. Tabel berikut menggambarkan bidang-bidang untuk data tersebut.
Bidang | Tipe | Deskripsi |
version | String | Hubungan panggilan di antara dimensi yang berbeda. Nilai valid:
|
child_host | String | Informasi host penerima panggilan. Bidang ini tersedia hanya jika version adalah service_name_host atau service_name_host_resource. |
child_name | String | Metode penerima panggilan. Bidang ini tersedia hanya jika version adalah service_name, service_name_host, atau service_name_host_resource. |
child_resource | Objek JSON | Informasi sumber daya penerima panggilan. Bidang ini tersedia hanya jika version adalah service_name_host_resource. |
child_service | String | Nama layanan penerima panggilan. |
child_type | Objek JSON | Informasi tambahan penerima panggilan. |
inner_percentile | String | Percentil. Layanan Log Sederhana menggunakan fungsi inner_percentile untuk mengurai data guna mendapatkan percentil. |
max_latency | Double | Latensi maksimum untuk memanggil metode layanan. |
min_latency | Double | Latensi minimum untuk memanggil metode layanan. |
n_status_fail | Double | Jumlah kali metode layanan gagal dipanggil. |
n_status_succ | Double | Jumlah kali metode layanan berhasil dipanggil. |
parent_host | Array JSON | Informasi host pemanggil. Bidang ini tersedia hanya jika version adalah service_name_host atau service_name_host_resource. |
parent_name | Array JSON | Metode pemanggil. Bidang ini tersedia hanya jika version adalah service_name, service_name_host, atau service_name_host_resource. |
parent_resource | Objek JSON | Informasi sumber daya pemanggil. Bidang ini tersedia hanya jika version adalah service_name_host_resource. |
parent_service | INT | Nama layanan pemanggil. Bidang ini tersedia hanya jika version adalah service, service_name, atau service_name_host_resource. |
parent_type | INT | Informasi tambahan pemanggil. |
sum_latency | INT | Latensi kumulatif untuk memanggil metode layanan. |
Data hasil antara metrik agregat
Data jejak mencakup data hasil antara metrik agregat. Data hasil antara metrik agregat dihasilkan setelah perhitungan dan disimpan dalam penyimpanan log bernama {instance}-traces-metrics. Tabel berikut menggambarkan bidang-bidang untuk data tersebut.
Bidang | Tipe | Deskripsi |
host | STRING | Nilai host dari rentang. |
inner_percentile | STRING | Percentil. Layanan Log Sederhana menggunakan fungsi inner_percentile untuk mengurai data guna mendapatkan percentil. |
max_latency | Double | Latensi maksimum untuk memanggil metode layanan. |
min_latency | Double | Latensi minimum untuk memanggil metode layanan. |
n_status_fail | INT | Jumlah kali metode layanan gagal dipanggil. |
name | STRING | Nama rentang. |
resource | Objek JSON | Informasi sumber daya rentang. |
service | STRING | Nama layanan rentang. |
sum_latency | Double | Latensi kumulatif untuk memanggil metode layanan. Dalam kebanyakan kasus, bidang ini digunakan bersama dengan bidang total untuk menghitung latensi rata-rata. |
total | INT | Jumlah total kali metode layanan dipanggil. |
type | Objek JSON | Informasi tambahan rentang. Dalam kebanyakan kasus, item-item berikut termasuk:
|
version | String | Jenis metrik. Nilainya tetap sebagai metric_info. |