SuperAPI AI 工具集

firetiger-query

数据与分析

查看项目

更新于 10-15 21:42

技能介绍

用途:通过 Firetiger MCP 服务器的 query 工具,对 Firetiger 中的遥测数据运行 DuckDB SQL,用于查找 traces、搜索日志、检查指标、定位错误或慢请求、计算延迟等。

主要能力与用法:query 工具参数为 sql,会自动注入 USE "connections/iceberg-gateway",因此按带引号的表名引用,无需前缀 catalog 路径。先用 SHOW TABLES; 发现表,再用 DESCRIBE "表名" 查看列。示例:SELECT trace_id, name, end_time - start_time AS duration, start_time FROM "opentelemetry/traces/checkout-service" WHERE start_time >= NOW() - INTERVAL '1 hour' ORDER BY start_time DESC LIMIT 100;

表命名:按信号类型与服务名分命名空间,含斜杠的表名必须双引号。Traces 为 "opentelemetry/traces/{service_name}",Logs 为 "opentelemetry/logs/{service_name}",指标目录为 "opentelemetry/metrics",指标数据为 "opentelemetry/metrics/{metric_name}"。指标按指标建表、值内联,无 series join,也无 spans/events 独立表。

关键事实:时间列为 start_time(traces)、time(logs/metrics),均为 UTC,先按时间过滤以裁剪按天分区;duration 不存储,需计算 end_time - start_time,数值用 EXTRACT(EPOCH FROM (...));状态码整数 0/1/2,错误用 status.code = 2;severity_number 为整数区间;attributes 为 STRUCT,点号访问,键为 snake_case;深度超过 2 的嵌套为 JSON 类型列,用 json_extract_string 提取;trace_id 16 字节、span_id/parent_span_id 8 字节,用 x'...' 十六进制字面量匹配;traces 可能有可空 sample_rate,估算真实量需乘以 1/sample_rate。

连接源:同一 query 工具可查询已连接的数据源并跨源 join。SQL 源(Postgres、MySQL、ClickHouse)需完全限定表名,如 SELECT id, email FROM "connections/prod-postgres".public.users ... LIMIT 100;观测后端(Datadog、Prometheus、GCP Monitoring)以连接名作字符串参数调用函数,如 datadog_search_logs('connections/prod-datadog', 'status:error service:api', NOW() - INTERVAL '1 hour', NOW(), max_rows => 500)。可用 list resource: "connections" 查看源,用 SELECT * FROM confit_functions(); 查看可用函数。Trino 和 Elasticsearch 无法通过 query 工具访问。

限制与常见错误:工具无强制行数上限但返回 JSON,应显式选列并加 LIMIT,避免 SELECT *;表名含斜杠必须引号;无 duration 列;状态码不能用字符串;无时间过滤会扫全分区;INTERVAL 不能直接平均;避免猜测表名;attributes 不能用 map 语法。参考文档包括 references/schema.md、query-examples.md、metrics.md、querying-connections.md。未提供收费、价格或平台信息。