用途 该技能面向 PlanetScale 数据库的性能诊断与可观测性建设,目标是用 Query Insights 理解查询行为,并给出 SQLCommenter 兼容标签建议,使后续诊断与 Traffic Control 成为可能。未经批准,不修改数据库设置或仓库代码。
主要能力
- 查询行为检查:针对选定数据库与分支,查看按总耗时、单次执行耗时、读取行数、执行次数排序的头部查询;Postgres 还可按 CPU 使用排序。同时关注报错查询、显著查询与活跃异常、受近期部署影响的查询模式,以及关联 schema 建议的查询模式。
- Vitess 分片库分析:查看每个查询模式的 vindex 使用率及趋势。API 提供 per-pattern 的 index_usages 与 routing_index_usages;趋势可在仪表盘 Vindexes 标签页或对比 API 时间窗口得出。相关 vindex 使用缺失或下降应作为索引或路由排查线索,而非新索引必要性的证据。
- Insights API 查询:Query Insights 为公开只读 GET 接口,路径为 organizations/{org}/databases/{db}/branches/{branch},需服务令牌或具备 read_databases/read_database 权限的 OAuth 令牌。包括 /insights(按窗口聚合,支持 from/to 或 period、q 搜索、sort/dir 排序、tablet_type 与 type 过滤、fields 裁剪、page/per_page 分页)、/insights/{fingerprint}(单模式执行记录)、/insights/{fingerprint}/summary、/insights/queries/{id}、/insights/errors 及详情、/insights/anomalies 及详情、/insights/tags、/insights/tags/{tag}、/insights/tags/summaries(按标签键分组统计)、/insights/{fingerprint}/traffic/budgets(Postgres)。
- 标签覆盖评估:对昂贵或异常查询判断是否已打标签、由哪个服务/路由/任务/部署 SHA 产生、基数是否安全、跨框架语言是否一致。可用 tags:key:value 在 Vitess 仪表盘过滤查询表并下钻单次执行查看标签。内置查询元数据与 SQLCommenter 标签均为有效归因来源。
- 原始查询采集状态确认:Postgres 以 pginsights.raw_queries 集群参数为有效状态(默认 false),Vitess 以数据库 API 的 insights_raw_queries 字段为有效状态。应以能力状态而非风险姿态报告:原始采集会记录每次执行的参数字面值,是定位单次病态调用的手段;未启用时视为能力缺口,指出哪些模式级数据不足的问题可由其解决。
- 标签规范建议:推荐基线标签包括 application、service、environment、route(规范化模板)、controller、action、job、queue、feature、release_sha、source、tenant_tier(仅限有界)。默认不建议 user_id、request_id、tenant_id、email、session_id、原始 URL、无界 GraphQL 操作文本、访问令牌、密钥等。
- 基数规则:值无界、含 ID/UUID/邮箱/slug/原始路径、同一模式产生大量唯一标签组合、会使聚合变噪的标签应标记为不安全,建议在应用边界归一化。
- 输出与建议分类:为每个头部查询模式给出指纹、指标、现有标签、缺失标签、可能代码来源,以及是否属于 schema 建议、Traffic Control 或应用优化候选。建议类别包括补充标签、改进标签归一化、为 Postgres 高价值路由添加 Traffic Control 警告预算、将 schema 建议转为分支/部署请求或非生产分支迁移审查、在 N+1、缺分页、意外预加载、无界导出、宽泛搜索或轮询等场景下提交仓库 PR。
安全规则 未经明确批准,不得启用原始查询采集、向代码添加标签、修改 Traffic Control 预算、应用 schema 建议,或对昂贵查询在生产执行 EXPLAIN ANALYZE。
输出内容 返回查询风险表、标签覆盖表、不良/高基数标签表、本应用的推荐标签 schema、Traffic Control 候选切片、候选 schema 与代码变更、需审批的拟议变更,并以声明未应用任何 Insights、标签、仓库或 Traffic Control 变更结尾。
适用场景与限制 适用于 PlanetScale Postgres 与 Vitess 数据库的查询性能归因、标签体系建设与安全变更规划。CPU/IO 时长与块缓存统计仅 Postgres 填充,分片查询、keyspace、tablet_type 与 vindex 使用仅 Vitess 填充;Traffic Control 预算建议仅限 Postgres。具体收费、价格与平台支持范围暂未提供。