用途:把 LangChain 1.0 / LangGraph 1.0 的调用链接入 OpenTelemetry 原生后端(Jaeger、Honeycomb、Grafana Tempo、Datadog),并建立 LLM 专属可观测性与 SLO。
主要能力:安装 opentelemetry-instrumentation-langchain(>=0.33)后自动在每次运行上发出 gen_ai.* 属性(如 gen_ai.system、gen_ai.request.model、gen_ai.usage.input_tokens、gen_ai.response.finish_reasons);用 BatchSpanProcessor 控制开销;定义五项 SLI(p95/p99 延迟、错误率、单请求成本、TTFT)并配多窗口多燃烧率告警;按流量调整采样。
必要用法:pip install opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp-proto-http "opentelemetry-instrumentation-langchain>=0.33";创建 TracerProvider 与 OTLPSpanExporter,调用 LangchainInstrumentor().instrument()。提示内容捕获默认关闭(隐私安全默认),仅在受信单租户等场景设置 OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true;多租户须先在上游做脱敏。LangGraph 子图回调不会继承定义时绑定的回调,须在调用时通过 config={"callbacks": [handler]} 传入。
适用场景:开发用 Jaeger 本地验证;生产用 Honeycomb/Tempo/Datadog 做延迟与成本分析;迁移期可双导出。
限制:LangChain 1.0 不原生发出 gen_ai.usage.cost_usd,需自定义回调计算;头部采样会丢弃 p99 离群值,尾延迟 SLO 建议改用 Collector 的 tailsamplingprocessor;高流量需增大 max_queue_size 或加 Collector。具体后端端点与查询语句资料未完整提供。