查询端点
请求体
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
org_id | string | ✅ | 你的租户 id(登录获得)。 |
language | string | ✅ | sql 或 promql。 |
statement | string | ✅ | 查询文本。 |
time_range | object | ✅ | { "start": <微秒>, "end": <微秒> } —— Unix 纪元起微秒。 |
stream | object | — | { "name": "app", "stream_type": "logs" }。stream_type ∈ logs/metrics/traces/enrichment。 |
limit | integer | — | 行数上限。 |
响应
响应携带rows、columns、scanned_rows、took_ms、cache_hit。
发送
Accept: application/x-ndjson 可逐行流式返回结果。流式会绕过 query_result 缓存。SQL
trace_id 把错误
日志和它们的 span 连起来:
PromQL
设language: "promql" 即可对指标流运行 PromQL 子集。当前支持:
rate、increasesum、avg、min、max、count—— 配by/withouthistogram_quantile
PromQL 是一个不断扩展的子集,而非完整语言。当前支持矩阵见仓库内的
docs/promql_subset.md。事件上下文(search around)
要拉取某条事件前后各 N 条(日志上下文视图),用POST /api/v1/query/search_around,传
event_timestamp_us、stream、stream_type,以及可选的 before / after(各默认 50)。
缓存
查询经过三级缓存 ——file_meta、parquet_meta、query_result —— 外加默认启用的 parquet 磁盘缓存
(./data/cache/parquet,10 GB LRU)。响应里的 cache_hit 告诉你结果是否来自缓存。