活动合约
查询期望的字段
| 字段 | 类型 | 为什么存在 |
|---|---|---|
| timestamp_utc | Timestamp | 查询完成时间。 |
| database_system | Utf8 | 数据库系统名称。 |
| operation_name | Utf8 | SELECT, INSERT, or another controlled operation. |
| query_fingerprint | Utf8 | 没有值的标准化语句形状。 |
| duration_ms | Float64 | 应用程序观察到的查询持续时间。 |
| request_id | Utf8 | 安全父请求标识符。 |
DataFusion SQL
复制查询
sql
SELECT
database_system,
operation_name,
query_fingerprint,
COUNT(*) AS calls,
SUM(duration_ms) AS total_time_ms,
approx_percentile_cont(duration_ms, 0.95) AS p95_duration_ms,
COUNT(DISTINCT request_id) AS affected_requests
FROM database_query_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY database_system, operation_name, query_fingerprint
ORDER BY total_time_ms DESC
LIMIT 20;此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。
查询结果
按指纹的总查询时间
项目列表的尾部延迟较低,但消耗的聚合请求时间较多。
project-list-v4
1,288,000 ms
comparison 142 ms
monthly-report-v2
924,000 ms
comparison 4,180 ms
| database_system | operation_name | query_fingerprint | calls | total_time_ms | p95_duration_ms | affected_requests |
|---|---|---|---|---|---|---|
| postgresql | SELECT | project-list-v4 | 18,400 | 1,288,000 | 142 | 9,200 |
| postgresql | SELECT | monthly-report-v2 | 420 | 924,000 | 4,180 | 410 |
综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。
SQL 是如何工作的
- 1总时间将数量和延迟结合到影响排名中。
- 2p95 保持低容量病理查询可见。
- 3受影响的请求会区分重复调用,例如 N+1 行为。
需要决定的边缘情况
- 应用程序持续时间包括池和网络效应,除非单独检测。
- 切勿记录绑定的 SQL 值。
- 在比较总影响之前,抽样需要加权计数。
推荐仪表板
- 条形:total_time_ms(指纹识别)
- 表:调用、p95 和受影响的请求
- 趋势:按版本划分的总查询时间
让查询示例发挥作用
相关埋点和指南
继续分析
在真实事件中运行它
创建表,调整字段并保存结果
免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。