Mastra 推出 Span 查询:追踪不再整条返回,直接筛出失败的工具调用
核心概要
Mastra 上线 Span 查询,把可观测性查询的粒度从整条追踪下移到追踪内部的单个 span。此前的追踪查询能按失败的工具调用等深层细节过滤,却仍返回整条追踪,问题调用难以定位。Span 查询在每条追踪内部检索,只返回匹配的 span,并可对匹配 span 分组聚合出调用次数、错误率和延迟,用于找出哪个工具失败或变慢。
深度剖析
Mastra 的追踪查询现在可以下探到单条追踪内部的 span 层级,按时间范围、类型、名称、状态、错误、时长等条件筛选并分组。 此前的追踪查询虽然能按失败的工具调用这类深层细节过滤,但返回的是整条追踪,有问题的调用混在其中不易辨认。 Span 查询在每条追踪内部检索,只返回匹配的 span,因此返回结果本身就是需要查看的那部分调用。
匹配到的 span 可以分组或聚合,产出调用次数、错误率、p95 延迟这类度量,用来判断哪个工具在失败或变慢。 聚合结果与同一套过滤条件配合,可以再回到具体的问题调用上查看。 每个查询最多组合 100 个条件,字段包括 spanType、entityName、status、durationMs 和 parentEntityName;每页最多返回 1,000 个 span,分组最多按 2 个维度、时间范围最长 365 天。
查询有四种执行入口:Mastra CLI、Mastra 平台与 Studio、Mastra Client SDK,以及可观测性端点。 平台与 Studio 的 Spans 标签页提供按时间范围、span 类型、名称、状态、错误、时长等条件的过滤界面。 查询需要平台访问令牌和项目 ID,随每次请求发送,并按项目所在区域使用对应的可观测性基础地址;自托管项目要求 storage.observability 使用 DuckDB、PostgreSQL 或 ClickHouse,外部追踪数据可通过 trace imports 导入。
启示与展望
已展示的范围是 Mastra 平台与 Studio,以及 storage.observability 使用 DuckDB、PostgreSQL 或 ClickHouse 的自托管 Mastra 项目;追踪数据不在 Mastra 内的用户可先通过 trace imports 导入既有历史。查询需要平台访问令牌和项目 ID,并按项目区域选择美国或欧盟的可观测性基础地址。
每页最多返回 1,000 个 span,分组最多 2 个维度、时间范围最长 365 天,每个查询最多组合 100 个条件,这些上限界定了单次查询能覆盖的范围。自托管场景要求 storage.observability 使用 DuckDB、PostgreSQL 或 ClickHouse,其他存储配置不在所述支持范围内。
