openllmetry-js
基于OpenTelemetry的LLM应用全链路可观测平台,接入即享开箱即用的Tracing
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于OpenTelemetry的LLM应用全链路可观测平台,接入即享开箱即用的Tracing
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:OpenLLMetry 浅色主题 Logo
你正在为公司的大模型应用调试问题。用户反馈说 AI 回答质量下降,但日志里只看到一串 token 数字,看不出模型到底在想什么。这时候,OpenLLMetry-JS 就能派上用场——它把 LLM 调用过程中的每个细节都记录下来,像给 AI 应用装上了一台 X 光机。
随着 GPT-4、Claude、DeepSeek 等大模型在生产环境大规模部署,AI 应用开发者面临一个独特困境:传统 APM 工具(如 Datadog、New Relic)能监控 HTTP 请求和数据库查询,却无法理解 LLM 调用中发生了什么。prompt 传了什么?token 消耗多少?向量检索返回了哪些结果?这些信息对调试 AI 应用至关重要,但传统监控手段完全捕捉不到。
OpenLLMetry-JS 应运而生。它由 Traceloop 公司开发和维护,Y Combinator 孵化支持,基于云原生可观测性标准 OpenTelemetry 构建,核心理念是「不绑架用户生态」——数据可以导出到 Datadog、Honeycomb、Grafana Tempo 等任何兼容 OpenTelemetry Collector 的后端,避免厂商锁定。
更值得注意的是,OpenLLMetry-JS 团队制定的 AI 语义约定(AI Semantic Conventions) 已于 2024 年正式被 OpenTelemetry 官方采纳,成为 LLM 可观测性领域的行业标准。这是开源项目影响行业规范的典型案例。
OpenLLMetry-JS 采用 Monorepo 结构,使用 Nx + Lerna 管理多包项目,主包名为 @traceloop/node-server-sdk,仓库包含 16 个独立包:
| 包名 | 职责 |
|---|---|
traceloop-sdk | 统一入口,2 行代码完成全链路追踪 |
ai-semantic-conventions | 定义 LLM 语义属性(已被 OTel 采纳) |
instrumentation-openai | OpenAI API 自动插桩 |
instrumentation-anthropic | Anthropic Claude API 插桩 |
instrumentation-bedrock | AWS Bedrock 模型插桩 |
instrumentation-vertexai | Google Vertex AI 插桩 |
instrumentation-langchain | LangChain 框架集成 |
instrumentation-llamaindex | LlamaIndex 框架集成 |
instrumentation-pinecone | Pinecone 向量数据库插桩 |
instrumentation-chromadb | Chroma 向量数据库插桩 |
instrumentation-qdrant | Qdrant 向量数据库插桩 |
instrumentation-cohere | Cohere API 插桩 |
instrumentation-google-generativeai | Google Generative AI 插桩 |
instrumentation-together | Together AI 插桩 |
instrumentation-mcp | Model Context Protocol 插桩 |
instrumentation-utils | 通用工具函数 |
这种架构让用户可以按需引入:如果只用 OpenAI,就装 @traceloop/instrumentation-openai;如果需要全链路追踪,直接装 @traceloop/node-server-sdk 一键开启所有支持项。
技术栈方面,核心代码是 TypeScript 编写,Rollup 打包,遵循 OpenTelemetry SDK API 规范,支持 Node.js >= 18。每个 instrumentation 包都是独立的 npm 包,发布到 npm registry,安装即用,无需额外部署服务。
使用方式极度简洁,只需两行代码:
import * as traceloop from "@traceloop/node-server-sdk";
traceloop.initialize();
之后所有 LLM 调用会自动生成 trace spans,包含:
导出的数据格式完全符合 OpenTelemetry 规范,可接入任意兼容后端:
| 支持平台 | 说明 |
|---|---|
| Traceloop(官方) | 开箱即用的云平台,专注 AI 可观测性 |
| Datadog | 企业级 APM |
| New Relic | 全栈可观测性 |
| Honeycomb | 高速查询分析 |
| Grafana Tempo | 开源分布式追踪 |
| Dynatrace | 企业监控 |
| Splunk | 日志分析巨头 |
| SigNoz / HyperDX / OTel Collector | 开源方案 |
OpenLLMetry-JS 代表了 LLM 应用开发工具链的专业化方向。随着 AI 应用复杂度提升,从「能用」到「可控」的转变是必然趋势,可观测性是可控的基础设施之一。
不过,也有一些局限需要注意:
# 安装 SDK
npm install --save @traceloop/node-server-sdk
# 在入口文件顶部引入(任何 LLM 模块之前)
import * as traceloop from "@traceloop/node-server-sdk";
traceloop.initialize();
配置 exporter 时,只需参考官方文档对目标平台的操作指南,通常只需设置 1-2 个环境变量即可。

图2:OpenLLMetry 深色主题 Logo