Install any skill in seconds. Free to start, no credit card required.
Get Started Free →jeremylongshore/langchain-otel-observability
Wire LangChain 1.0 / LangGraph 1.0 traces into an OpenTelemetry-native backend (Jaeger, Honeycomb, Grafana Tempo, Datadog) with LLM-specific SLOs, safe prompt-content policy, and subgraph-aware span propagation.
Passed 23 of 23 test cases with the skill, and 14 of 23 without it.
and 11 more in the full report
9 fixed14 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 9 test cases the skill fixed. Same model, same prompt, with and without the skill.
When constructing an OpenTelemetry `Resource` object in Python for our LangChain microservice, what standard resource keys should be defined to distinguish environments and services in trace backends?
| Checked | Without skill | With skill |
|---|---|---|
| Names service.name as a resource attribute. | Passed | Passed |
| Names deployment.environment as a resource attribute. | Missed | Passed |
The instructions your model reads when the skill loads.
An engineer wires OpenTelemetry expecting to see prompts and responses in
Honeycomb. The traces land — but only timing, model name, and token counts
appear. The prompt body is blank. This is not a bug: it's the OTEL GenAI
semantic-conventions privacy-safe default (P27), where
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT is off. The instinct is to
flip it on and move on. On a multi-tenant workload that flip is a leak — the
next engineer to search traces for Tenant A sees Tenant B's PII in the results,
because redaction was supposed to happen upstream and never did.
A second trap lives inside LangGraph. A BaseCallbackHandler attached to the
parent runnable never fires on inner agent tool calls, because LangGraph
creates a child runtime per subgraph and callbacks do not inherit (P28). Spans
inside subgraphs appear orphaned in the waterfall — or they do not appear at
all — and SLO dashboards under-count latency on the exact calls that matter
most: the nested agent loops.
This skill wires LangChain 1.0 / LangGraph 1.0 into an OTEL-native backend
(Jaeger, Honeycomb, Grafana Tempo, Datadog) with a correct content-capture
policy, subgraph-aware span propagation, and five LLM-specific SLOs (p95 / p99
latency, error rate, cost-per-request, TTFT) with burn-rate alerts. Pin:
langchain-core 1.0.x, langgraph 1.0.x,
opentelemetry-instrumentation-langchain >= 0.33, OTEL GenAI semconv as of
2026-04. Pain-catalog anchors: P27, P28 (and cross-references P04, P34, P37).
langchain-core >= 1.0, < 2.0, langgraph >= 1.0, < 2.0langchain-security-basics and langchain-middleware-patterns)OTLP_ENDPOINT, API keys)test cases passed, vs 14 / 23 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.