Metrics
当被追踪的操作完成时,Mastra 会自动从 spans 派生出 metrics。无需单独的指标埋点。
Mastra 会发出:
- 持续时间指标,针对 agent 运行、workflows、tools、模型调用和 processors
- Token 使用量指标,针对模型输入和输出,包括提供方报告的详细 token 类别
- 成本估算,根据 token 使用量、提供方、模型以及来自 models.dev 或自定义 gateway的模型价格计算
Metrics 保留 trace 关联上下文,因此你可以通过查找相关 span 来调查图表中的变化。关于指标名称、标签和成本字段,参见自动 metrics 参考。
何时使用 metrics何时使用 metrics的直接链接
- 监控 agents、tools、workflows 和模型调用的延迟
- 跟踪随时间的 token 消耗和预估成本
- 比较 agents 或 tools 之间的成功率和错误率
- 衡量 prompt、模型或代码变更的影响
存储支持存储支持的直接链接
Metrics 需要支持分析的可观测性存储:
- 通过
@mastra/duckdb使用 DuckDB,推荐用于本地开发。 - 通过
@mastra/clickhouse使用 ClickHouse,推荐用于高流量的生产工作负载。 - PostgresStoreVNext 在启用其 observability 域时支持 metrics。
- 内存存储支持 metrics,但其数据在进程重启后丢失。
- Google Cloud Spanner 默认禁用 metrics。仅对轻量工作负载设置
disableMetrics: false,或将 metrics 路由到专用的 OLAP 存储。
其他存储适配器(包括 LibSQL、MSSQL 和 MongoDB)可以存储其他可观测性信号,但不实现指标存储和查询。
设置本地 metrics设置本地 metrics的直接链接
安装可观测性、应用存储和 DuckDB 包:
- npm
- pnpm
- Yarn
- Bun
npm install @mastra/observability @mastra/libsql @mastra/duckdb
pnpm add @mastra/observability @mastra/libsql @mastra/duckdb
yarn add @mastra/observability @mastra/libsql @mastra/duckdb
bun add @mastra/observability @mastra/libsql @mastra/duckdb
配置一个将 observability 域路由到 DuckDB 的 composite store:
src/mastra/index.ts
import { Mastra } from '@mastra/core/mastra'
import { LibSQLStore } from '@mastra/libsql'
import { DuckDBStore } from '@mastra/duckdb'
import { MastraCompositeStore } from '@mastra/core/storage'
import { Observability, MastraStorageExporter, SensitiveDataFilter } from '@mastra/observability'
export const mastra = new Mastra({
storage: new MastraCompositeStore({
id: 'composite-storage',
default: new LibSQLStore({
id: 'mastra-storage',
url: 'file:./mastra.db',
}),
domains: {
observability: await new DuckDBStore().getStore('observability'),
},
}),
observability: new Observability({
configs: {
default: {
serviceName: 'mastra',
exporters: [new MastraStorageExporter()],
spanOutputProcessors: [new SensitiveDataFilter()],
},
},
}),
})
MastraStorageExporter 会将 metrics 持久化到配置的可观测性存储,并使其在 Studio 中可用。改为使用 MastraPlatformExporter,或将其与前者一起使用,以将 metrics 发送到 Mastra Platform。
查看和查询 metrics查看和查询 metrics的直接链接
使用 Studio 可观测性仪表盘检查 KPI 卡片、细分和时间序列图表。对于自定义仪表盘和分析,请使用可观测性存储、@mastra/client-js、HTTP 端点或 Metric 查询参考中描述的 CLI。
在生产环境中,请始终在指标查询中包含时间戳范围。时间边界会限制扫描的数据量,并允许分区后端跳过无关的分区或块。