Skip to main content
InMemoryExporter 把 span 数据保存在进程内存中,而非上报至外部平台。它按 session_id 组织 span,便于本地调试、测试以及将某次会话的追踪数据落盘为 JSON 文件进行离线分析。

何时使用

  • 本地开发与调试智能体执行流程;
  • 在单元测试或集成测试中校验 span;
  • 离线环境中无外部平台连接,需要本地留存与分析追踪数据。

自动管理

InMemoryExporter 由 OpentelemetryTracer 自动创建并管理,用于记录全部 span。因此它不能被显式加入 OpentelemetryTracer 的 exporters 列表,否则初始化会报错。

使用示例

会话运行结束后,可调用追踪器的 dump 方法,将该会话的 span 导出为本地 JSON 文件:

参数

构造参数

InMemoryExporter 通常无需手动构造,其构造参数如下:

dump 方法参数

OpentelemetryTracer.dump 依赖内存导出器留存的 span,参数如下: 落盘文件名形如 {name}_{user_id}_{session_id}_{trace_id}.json,内容为 span 列表,每个 span 包含名称、span_id、trace_id、起止时间、属性以及父 span 关系。
内存导出器的占用会随 span 数量增长,长时间运行的进程应注意内存增长。会话级筛选依赖正确配置的 session_id;dump 会先强制导出所有待处理 span,再按 session_id 筛选写入文件。
最后修改于 2026年9月19日