Explorateur SQL
AvecLogfire, vous pouvez utiliser la page Explorer pour exécuter des requêtes SQL arbitraires sur les données de suivi et de métrique afin d'analyser et d'étudier votre système.
Query tracking par¶
La table principale que vous allez interroger est la table 记录 qui contient tous les journaux/span des requêtes que vous suivez.
Pour interroger un enregistrement, il suffit d'utiliser SELECT ...FROM 记录 et d'ajouter une clause WHERE pour filtrer l'étendue souhaitée.
Par exemple, voici une requête qui renvoie un message avec toute la durée d'une exception, start_timestamp, durée et attributs:
SELECT
message,
start_timestamp,
EXTRACT(EPOCH FROM (end_timestamp - start_timestamp)) * 1000 AS duration_ms,
attributes
FROM records
WHERE is_exception
Vous pouvez également exécuter des requêtes plus complexes en utilisant des sous-requêtes, des CTE, des jointures, des agrégats, des expressions personnalisées et tout autre SQL standard.
architecture documentée¶
记录 Le schéma de la table est:
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
)
Lien croisé avec Live View¶
Après avoir exécuté une requête, vous pouvez prendre n'importe quel trace_id et/ou span_id et l'utiliser pour trouver des données qui apparaissent comme des traces dans la vue en direct.
Il suffit d'aller dans Live View et d'entrer une requête comme celle-ci:
trace_id = '7bda3ddf6e6d4a0c8386093209eb0bfc' --remplacé par votre propre trace_id réel
Cela affichera toutes les étendues avec cet ID de suivi particulier.
Architecture d'indicateurs¶
En plus du suivi, vous pouvez également utiliser la table 指标 pour interroger les données des métriques.
metrics Le schéma de la table est:
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
)
Vous pouvez utiliser les métriques de requête SQL standard, comme le tracking.
SELECT *
FROM metrics
WHERE metric_name = 'system.cpu.time'
AND recorded_timestamp > now() - interval '1 hour'
Exécuter une requête¶
Pour exécuter une requête, tapez-la ou collez-la dans l'éditeur de requête et cliquez sur le bouton Exécuter une requête.
Vous pouvez modifier la période de votre requête en utilisant la liste déroulante à côté du bouton. Il existe également une liste déroulante « Limite » pour contrôler le nombre maximal de lignes de résultats renvoyées.
La page « Parcourir » fournit une interface flexible qui peut utiliser le suivi des requêtes SQL standard et les métriques.
Bonne enquête à vous!
本文总阅读量次

