Dokumen ini menjelaskan beberapa atribut set data BigQuery yang dibuat saat sink mengekspor trace dari Cloud Trace ke BigQuery.
Skema
Skema untuk tabel yang menyimpan data rekaman aktivitas ditentukan oleh definisi Span dari Trace V2 API.
Trace melacak kolom tabel Anda dan men-patch tabel saat span baru berisi kolom yang tidak dapat disimpan di tabel yang ada. Operasi patch diperlukan jika span yang masuk berisi entri yang tidak dilihat sebelumnya. Misalnya, jika span kedatangan berisi Atribut baru, tabel akan di-patch.
Retensi data
Anda mengonfigurasi kebijakan retensi data dari tabel BigQuery. Untuk mengetahui informasi tentang cara mengelola tabel dan data tabel, lihat Bekerja dengan tabel.
Jenis tabel
Jika Anda mengonfigurasi sink untuk mengekspor rekaman aktivitas ke BigQuery, Trace akan mengonfigurasi tabel dengan partisi waktu penyerapan. Untuk informasi mendetail tentang tabel yang dipartisi, termasuk cara membuat, mengelola, membuat kueri, dan menghapus tabel ini, lihat Bekerja dengan tabel yang dipartisi.
Sampel kueri
Pada kueri berikut, DATASET adalah nama set data BigQuery, dan MY_TABLE adalah nama tabel dalam set data tersebut.
Untuk menampilkan semua kolom dalam tabel untuk tanggal 20 November 2019 sekaligus membatasi hasil ke 10 baris, jalankan kueri:
SELECT * FROM `DATASET.MY_TABLE` WHERE DATE(_PARTITIONTIME) = "2019-11-20" LIMIT 10
Untuk menampilkan semua partisi yang tersedia dalam tabel, jalankan kueri:
SELECT _PARTITIONTIME as pt FROM `DATASET.MY_TABLE` GROUP BY 1
Kueri HipsterShop
HipsterShop adalah aplikasi demo yang tersedia di GitHub.
Berikut adalah contoh kueri yang menggambarkan cara menggunakan kueri BigQuery untuk mengumpulkan informasi yang tidak tersedia menggunakan antarmuka Trace.
Kueri internal menemukan semua span yang cocok dengan ekspresi reguler tertentu yang diterima pada 2 Desember 2019. Kueri outer memilih untuk menampilkan hal berikut:
- name
- jumlah span yang cocok
- jumlah ID trace yang berbeda
- Kuantil 50, 90 dan 99
- Jalur HTTP
- Pesan error
dan menampilkan hasil yang diurutkan menurut jumlah trace:
SELECT t0.span.displayName.value, count(t0.span.spanId) as spanCount, count(distinct traceId) as traceCount, APPROX_QUANTILES(milliseconds, 100)[OFFSET(50)] as p50, APPROX_QUANTILES(milliseconds, 100)[OFFSET(95)] as p95, APPROX_QUANTILES(milliseconds, 100)[OFFSET(99)] as p99, t0.span.attributes.attributeMap._http_path, t0.span.attributes.attributeMap._error_message FROM ( SELECT *, REGEXP_EXTRACT(span.name, r"./traces/([a-f0-9]+).") as traceId, TIMESTAMP_DIFF(span.endTime,span.startTime, MILLISECOND) as milliseconds FROM `hipstershop-demo.Hipstershop_trace_export.cloud_trace` WHERE DATE(_PARTITIONTIME) = "2019-12-02") AS t0 WHERE t0.span.parentSpanId is NULL GROUP by t0.span.displayName.value, t0.span.attributes.attributeMap._http_path,t0.span.attributes.attributeMap._error_message ORDER BY traceCount DESC LIMIT 1000
Untuk satu penginstalan tertentu dari aplikasi ini, hasil kuerinya adalah seperti yang ditunjukkan berikut:
Melihat data trace
Untuk melihat data trace menggunakan antarmuka BigQuery, pilih tabel dengan trace yang diekspor.