Show HN:TraceGen – 单一二进制文件生成逼真的OpenTelemetry追踪,包含AI代理场景
TraceGen 是一款单一二进制文件的分布式追踪生成器,可生成逼真的、拓扑丰富的 OTLP 追踪和关联日志,模拟包含 28 项服务和 40 个场景流(包括 AI 代理模式)的完整电商平台。无需基础设施配置,只需一个可执行文件。旨在测试可观测性平台并展示分布式系统可视化,统一支持传统 APM 和 LLM 可观测性。
TraceGen 是一款由 ImmersiveFusion 开发的开源工具,以单一二进制文件提供完整的分布式追踪生成能力。它能够模拟一个包含 28 个微服务(20 个传统服务 + 8 个 AI 服务)和 59 个 Pod 的电商平台,生成拓扑丰富、高度逼真的 OTLP 追踪和关联日志,无需 Docker Compose 或其他基础设施。该工具支持三种复杂度级别(light、normal、heavy),用户可根据需求从简单的 10 服务演示扩展到包含 AI 的完整拓扑。
TraceGen 的诞生源于现有追踪生成工具的局限性:要么生成扁平化的 span(如 telemetrygen),要么需要运行庞大的演示应用(如 OTel Astronomy Shop)。更重要的是,市场上没有工具能同时生成传统微服务和 AI 代理的追踪。TraceGen 填补了这一空白,在一个二进制文件中整合了 40 个场景流,包括 28 个传统场景和 12 个 AI 代理场景。AI 场景涵盖语义搜索(RAG)、AI 聊天机器人、内容审核、多步骤代理等,所有 AI 追踪均遵循 OpenTelemetry GenAI 语义约定,属性与 Langfuse、LangSmith 等 LLM 可观测性工具完全兼容。
该工具还内置了混沌工程和故障注入功能,包括消息丢失(5% 概率)、死消费者模式、重试风暴、超时级联、Saga 补偿等。AI 场景下可模拟 LLM 速率限制、幻觉工具调用、Token 预算超限等错误。所有服务均通过 OTLP 发出关联日志,日志级别包括 ERROR、WARN 和 INFO,并与活动 span 上下文关联。
使用 TraceGen 非常简单:下载二进制文件后,只需运行命令即可将追踪发送到本地或远程 OTLP 端点。例如,tracegen -insecure 发送到本地收集器,或通过 -endpoint 和 -headers 参数发送到远程服务。工具还支持通过标准 OTel 环境变量配置。开发者可以在 Immersive Fusion 的 IAPM 平台查看实时 3D 追踪可视化,或访问 demo.iapm.app 体验交互式沙盒。
TraceGen 已被集成到多个持续演示网格中,通过 GitOps 部署在云中,展示各种场景下的追踪效果。社区可在 GitHub 上贡献部署案例。总之,TraceGen 是一个功能强大、易于使用的追踪生成器,适用于测试可观测性平台、进行负载测试以及展示分布式系统可视化,尤其适合需要同时涵盖传统 APM 和 LLM 可观测性的场景。