活动合约
查询期望的字段
| 字段 | 类型 | 为什么存在 |
|---|---|---|
| timestamp_utc | Timestamp | 影响评估时间(UTC)。 |
| incident_id | Utf8 | 稳定的事件标识符。 |
| account_id | Utf8 | 批准的假名帐户标识符。 |
| plan | Utf8 | 有界计划或服务级别。 |
| impact_type | Utf8 | 受控的客户可见影响类别。 |
| affected | Boolean | 该帐户是否符合记录的影响定义。 |
| impact_duration_ms | Int64 | 测量的影响持续时间(以毫秒为单位)。 |
| environment | Utf8 | 部署环境。 |
DataFusion SQL
复制查询
sql
SELECT
incident_id,
plan,
COUNT(*) AS assessed_accounts,
SUM(CASE WHEN affected THEN 1 ELSE 0 END) AS affected_accounts,
100.0 * SUM(CASE WHEN affected THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS affected_accounts_pct,
AVG(CASE WHEN affected THEN impact_duration_ms ELSE NULL END)
AS avg_impact_duration_ms
FROM incident_account_impact_events
WHERE timestamp_utc >= now() - INTERVAL '7 days'
AND environment = 'production'
GROUP BY incident_id, plan
ORDER BY affected_accounts DESC, plan;此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。
查询结果
按计划受影响的账户
三个企业帐户和两个入门帐户符合综合事件影响定义。
enterprise
3
comparison 4
starter
2
comparison 5
| incident_id | plan | assessed_accounts | affected_accounts | affected_accounts_pct | avg_impact_duration_ms |
|---|---|---|---|---|---|
| incident-checkout-42 | enterprise | 4 | 3 | 75 | 40,000 |
| incident-checkout-42 | starter | 5 | 2 | 40 | 20,000 |
综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。
SQL 是如何工作的
- 1分摊账户分母可防止不完整的连接伪装成低影响率。
- 2计划是一个有界的优先级维度;该查询不会公开客户名称。
- 3仅针对受影响的帐户计算影响持续时间,因此未受影响的行不会将平均值拉向零。
需要决定的边缘情况
- 使用用户可见的结果来定义受影响的一次,而不仅仅是相关的内部错误。
- 一个账号可能有多个用户或多个地区;在发出行之前选择报告单位。
- 限制帐户级别的向下钻取,并仅将聚合用于已批准的响应工作流程。
推荐仪表板
- 钢筋:按计划 affected_accounts
- 趋势:新受影响和恢复的账户
- 限制表:批准的账户标识符和影响类型
让查询示例发挥作用
相关埋点和指南
继续分析
在真实事件中运行它
创建表,调整字段并保存结果
免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。