Lewati ke isi

SQL Explorer

dengan bantuan LogfireAnda dapat menggunakan halaman "Jelajahi" untuk menjalankan kueri SQL sewenang-wenang terhadap pelacakan dan data metrik untuk menganalisis dan menyelidiki sistem Anda.

Layar eksplorasi logfire

Pelacakan Pertanyaan

Tabel utama yang akan Anda kueri adalah tabel 记录, yang berisi semua bentang / log dari permintaan yang Anda lacak.

Untuk query record, cukup gunakan SELECT ...FROM 记录 dan tambahkan klausa WHERE untuk menyaring span yang diinginkan.

Misalnya, berikut adalah pertanyaan yang mengembalikan pesan, mulai _ timestamp, durasi, dan properti untuk semua rentang dengan pengecualian:

SELECT
  message,
  start_timestamp,
  EXTRACT(EPOCH FROM (end_timestamp - start_timestamp)) * 1000 AS duration_ms,
  attributes
FROM records
WHERE is_exception

Anda juga dapat menggunakan subkueri, CTEs, gabungan, agregasi, ekspresi khusus, dan SQL standar lainnya untuk menjalankan kueri yang lebih kompleks.

merekam arsitektur

记录 Tabel disusun sebagai berikut:

CREATE TABLE records AS (
    start_timestamp timestamp with time zone,
    created_at timestamp with time zone,
    trace_id text,
    span_id text,
    parent_span_id text,
    kind span_kind,
    end_timestamp timestamp with time zone,
    level smallint,
    span_name text,
    message text,
    attributes_json_schema text,
    attributes jsonb,
    tags text[],
    otel_links jsonb,
    otel_events jsonb,
    is_exception boolean,
    otel_status_code status_code,
    otel_status_message text,
    otel_scope_name text,
    otel_scope_version text,
    otel_scope_attributes jsonb,
    service_namespace text,
    service_name text,
    service_version text,
    service_instance_id text,
    process_pid integer
)

Menghubungkan silang dengan tampilan langsung

Setelah menjalankan kueri, Anda dapat mengambil trace_id dan / atau span_id apa pun dan menggunakannya untuk menemukan data yang muncul sebagai jejak dalam tampilan langsung.

Cukup buka tampilan langsung dan masukkan pertanyaan berikut:

Lacak _ id = '7bda3ddf6e6d4a0c8386093209eb0bfc' -- ganti dengan jejak nyata Anda sendiri

Ini akan menampilkan semua rentang dengan ID pelacakan khusus itu.

kerangka indikator

Selain pelacakan, Anda juga dapat menghitung data metrik menggunakan tabel 指标.

metrics Tabel disusun sebagai berikut:

CREATE TABLE metrics AS (
    recorded_timestamp timestamp with time zone,
    metric_name text,
    metric_type text,
    unit text,
    start_timestamp timestamp with time zone,
    aggregation_temporality public.aggregation_temporality,
    is_monotonic boolean,
    metric_description text,
    scalar_value double precision,
    histogram_min double precision,
    histogram_max double precision,
    histogram_count integer,
    histogram_sum double precision,
    exp_histogram_scale integer,
    exp_histogram_zero_count integer,
    exp_histogram_zero_threshold double precision,
    exp_histogram_positive_bucket_counts integer[],
    exp_histogram_positive_bucket_counts_offset integer,
    exp_histogram_negative_bucket_counts integer[],
    exp_histogram_negative_bucket_counts_offset integer,
    histogram_bucket_counts integer[],
    histogram_explicit_bounds double precision[],
    attributes jsonb,
    tags text[],
    otel_scope_name text,
    otel_scope_version text,
    otel_scope_attributes jsonb,
    service_namespace text,
    service_name text,
    service_version text,
    service_instance_id text,
    process_pid integer
)

Anda dapat menggunakan metrik kueri SQL standar, seperti pelacakan. Sebagai contoh:

SELECT *
FROM metrics
WHERE metric_name = 'system.cpu.time'
  AND recorded_timestamp > now() - interval '1 hour'

Jalankan Pertanyaan

Untuk mengeksekusi kueri, ketik atau tempelkan ke editor kueri dan klik tombol "Jalankan Kueri."

Layar eksplorasi logfire

Anda dapat mengubah rentang waktu kueri Anda menggunakan drop-down di sebelah tombol. Ada juga drop-down "Batas" yang mengontrol jumlah maksimum baris hasil yang dikembalikan.

Halaman "Browse" menyediakan antarmuka yang fleksibel untuk pelacakan dan metrik menggunakan kueri SQL standar.

Semoga Anda mendapatkan pertanyaan yang menyenangkan!🚀


本文总阅读量次