SQL-обозреватель
С помощьюLogfireвы можете использовать страницу «Исследование» для выполнения любых SQL-запросов о отслеживании и данных индикаторов для анализа и обследования вашей системы.
Отслеживание запросов¶
Основная таблица, которую вы будете запрашивать, -это таблица 记录, содержащая все диапазоны/журналы, полученные от вашего запроса.
Чтобы получить запись, просто используйте SELECT ...FROM 记录 и добавьте секцию WHERE для фильтрации требуемого диапазона.
Например, ниже приведен запрос, который возвращает сообщения, start_timestamp, продолжительность и свойства всех диапазонов с исключением:
SELECT
message,
start_timestamp,
EXTRACT(EPOCH FROM (end_timestamp - start_timestamp)) * 1000 AS duration_ms,
attributes
FROM records
WHERE is_exception
Для выполнения более сложных запросов можно также использовать подзапросы, CTE, соединения, агрегирование, пользовательские выражения и любые другие стандартные SQL-запросы.
Схема записи¶
记录 Структура таблицы выглядит следующим образом:
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
)
Перекрестная связь с видом в реальном времени¶
После выполнения запроса вы можете получить любой trace_id и/или span_id и использовать его для поиска данных, которые отображаются в режиме реального времени как отслеживание.
Просто перейдите в режим реального времени и введите следующий запрос:
trace_id = '7bda3ddf6e6d4a0c8386093209eb0bfc'--замените свой реальный trace_id
Отображаются все пролеты с этим конкретным идентификатором трассировки
Система показателей¶
В дополнение к отслеживанию вы можете использовать таблицу 指标 для поиска данных индикаторов.
metrics Структура таблицы выглядит следующим образом:
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
)
Вы можете использовать стандартные индикаторы запросов SQL, как и отслеживание. Например:
SELECT *
FROM metrics
WHERE metric_name = 'system.cpu.time'
AND recorded_timestamp > now() - interval '1 hour'
Выполнение запросов¶
Чтобы выполнить запрос, введите или вставьте его в редактор запросов и нажмите кнопку «Выполнить запрос».
Можно изменить временной интервал запроса с помощью раскрывающегося списка рядом с кнопкой. Также существует раскрывающийся список "Ограничение", в котором определяется максимальное количество возвращаемых строк результата.
Страница "Обзор" предоставляет гибкий интерфейс, позволяющий использовать стандартные трекеры и индикаторы SQL-запросов.
Желаю вам приятного поиска!
本文总阅读量次

