opentelemetry-instrumentation-haystack
OpenTelemetry Haystack instrumentation
What it is and what it does
This package integrates OpenTelemetry tracing into Haystack-based LLM applications, automatically capturing the flow of data through your pipeline. It instruments Haystack components to emit spans that record prompts, completions, and embeddings, giving you visibility into how your LLM application behaves at runtime.
By default, the instrumentation logs the actual content of prompts and responses to span attributes, which helps with debugging and quality evaluation but may expose sensitive user data. You can disable content logging by setting the TRACELOOP_TRACE_CONTENT environment variable to false, reducing both privacy risk and trace size. The instrumentation is activated with a single call to HaystackInstrumentor().instrument() after importing.
Use it for:
- Debug LLM application behavior by inspecting prompts, completions, and intermediate embeddings in distributed traces
- Monitor production Haystack pipelines by sending traces to a backend for centralized observability
- Evaluate LLM output quality by analyzing trace data to correlate inputs with outputs across your application
- Reduce trace storage costs by disabling content logging while preserving structural tracing information
- Correlate LLM operations with other services in a microservices architecture using OpenTelemetry's standard trace context
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Adds distributed tracing to Haystack LLM applications by instrumenting them with OpenTelemetry, capturing prompts, completions, and embeddings as span attributes for visibility and debugging.
Yes, if you are building or operating Haystack LLM applications and need observability. The low install friction, active maintenance, and permissive license make it a straightforward addition. Be aware that content logging is on by default—set TRACELOOP_TRACE_CONTENT=false in production if your prompts or completions contain sensitive data.
Install
opentelemetry-instrumentation-haystack on PyPI
pip
pip install opentelemetry-instrumentation-haystackuv
uv add opentelemetry-instrumentation-haystackpoetry
poetry add opentelemetry-instrumentation-haystackInstalling opentelemetry-instrumentation-haystack
Before you install
Low install friction with four runtime dependencies, all from the OpenTelemetry ecosystem. Active maintenance with a release 4 days old and recent commits signal ongoing support.
License in practice
Apache-2.0 permissive license allows use in most commercial and open-source projects without significant restrictions.
Quickstart
pip install opentelemetry-instrumentation-haystack
from opentelemetry.instrumentation.haystack import HaystackInstrumentor
HaystackInstrumentor().instrument()
Requires Python 3.10 or later (supports_current); set TRACELOOP_TRACE_CONTENT environment variable to control whether prompts and completions are logged to spans.
Verify before relying
- Whether tracing overhead is acceptable for production workloads at scale
- Compatibility with specific Haystack versions beyond the stated Python 3.10+ requirement
- Performance impact when TRACELOOP_TRACE_CONTENT is enabled vs. disabled
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (<4,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — opentelemetry-api, opentelemetry-instrumentation, opentelemetry-semantic-conventions-ai, opentelemetry-semantic-conventions |
| Maintenance | actively maintained — 4 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 8,096,588/month — #1,665 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: opentelemetry_instrumentation_haystack-0.62.3-py3-none-any.whl
Tags
More Monitoring packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
opentelemetry-semantic-conventionsProvides generated Python code for…
permissive · top 100 on PyPI
opentelemetry-sdkProvides the reference implementation of the…
permissive · top 100 on PyPI
opentelemetry-apiProvides the abstract API and interfaces for…
permissive · top 100 on PyPI
opentelemetry-exporter-otlp-proto-httpExports OpenTelemetry observability data to an…
permissive · top 1,000 on PyPI
opentelemetry-instrumentationProvides automatic instrumentation commands and…
permissive · top 1,000 on PyPI
opentelemetry-instrumentation-langchainAdds distributed tracing to Langchain LLM…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-mcpAdds distributed tracing to MCP (Model Context…
permissive · top 5,000 on PyPI
haystack-experimentalProvides archived experimental features for…
permissive · top 15,000 on PyPI
opentelemetry-instrumentation-llamaindexAdds distributed tracing to LlamaIndex…
permissive · top 5,000 on PyPI
haystack-aiHaystack is an open-source framework for…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-ollamaAdds distributed tracing to Ollama Python…
permissive · top 5,000 on PyPI
farm-haystackHaystack is an end-to-end NLP framework for…
permissive · top 15,000 on PyPI
opentelemetry-instrumentation-watsonxAutomatically captures and traces IBM Watsonx…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-transformersAdds distributed tracing to HuggingFace…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-groqAutomatically captures traces of Groq SDK API…
permissive · top 5,000 on PyPI