{"slug": "langflow-observability-monitoring-with-opentelemetry", "title": "Langflow Observability & Monitoring with OpenTelemetry", "summary": "Langflow 1.10+ now includes built-in OpenTelemetry support for real-time observability of visual AI workflows. Users can export flow and LLM traces to SigNoz by running the official Docker image with environment variables, enabling end-to-end tracing, alerts on latency and errors, and insights into components, model calls, prompts, and token usage.", "body_md": "What is Langflow Observability?\n\nLangflow observability gives you real-time visibility into your visual AI workflows by collecting traces using [OpenTelemetry](https://opentelemetry.io/). Langflow (1.10+) ships with OpenTelemetry built in, so you don't build or install any instrumentation. This guide shows you how to export Langflow's flow and LLM traces to SigNoz by running the official Langflow Docker image with a few environment variables, giving you insight into components, model calls, prompts, and token usage.\n\nWith full Langflow observability in SigNoz, you can trace every flow run end to end, correlate LLM spans carrying `gen_ai.*`\n\nattributes, set alerts on latency and errors, and continuously improve the reliability of your Langflow applications.\n\nPrerequisites\n\n- A\n[SigNoz Cloud account](https://signoz.io/teams/)with an active ingestion key or[Self Hosted SigNoz instance](https://signoz.io/docs/install/self-host/) - Docker installed and running on your system\n- Langflow 1.10 or later. Follow the\n[Langflow installation guide](https://docs.langflow.org/get-started-installation)if you don't have it yet\n\nMonitor Langflow with OpenTelemetry\n\nLangflow's OpenTelemetry stack is bundled inside the Langflow image, so the integration is entirely configuration based. For more details, refer to the [Langflow documentation](https://docs.langflow.org/).\n\nStep 1: Run Langflow with telemetry enabled\n\nReplace `<your-ingestion-key>`\n\nand the region in the URL, then run the official Langflow image:\n\n```\ndocker run -d --name langflow -p 7860:7860 \\\n  -e TRACELOOP_API_KEY=signoz \\\n  -e TRACELOOP_BASE_URL=https://ingest.<region>.signoz.cloud:443 \\\n  -e TRACELOOP_HEADERS=\"signoz-ingestion-key=<your-ingestion-key>\" \\\n  -e TRACELOOP_TRACE_CONTENT=true \\\n  langflowai/langflow:latest\n```\n\n`<region>`\n\n: Your[SigNoz Cloud region](https://signoz.io/docs/ingestion/signoz-cloud/overview/#endpoint)(`us`\n\n,`eu`\n\n, or`in`\n\n)`<your-ingestion-key>`\n\n: Your SigNoz[ingestion key](https://signoz.io/docs/ingestion/signoz-cloud/keys/)\n\nLangflow is now exporting traces to SigNoz. Keep the `https://`\n\nscheme and `:443`\n\nport. Langflow appends `/v1/traces`\n\nfor you, so don't add it yourself.\n\nMost steps are identical. To adapt this guide, update the endpoint and remove the ingestion key header as shown in [Cloud → Self-Hosted](https://signoz.io/docs/ingestion/cloud-vs-self-hosted/#cloud-to-self-hosted).\n\nThe following environment variables control the export:\n\n| Variable | Required | Value | What it does |\n|---|---|---|---|\n`TRACELOOP_API_KEY` | Yes | any non-empty string (e.g. `signoz` ) | Switches Langflow's OTLP tracer on. It is not used to authenticate to SigNoz. |\n`TRACELOOP_BASE_URL` | Yes | `https://ingest.<region>.signoz.cloud:443` | Where Langflow sends OTLP data (it posts to `.../v1/traces` ). |\n`TRACELOOP_HEADERS` | Yes | `signoz-ingestion-key=<your-ingestion-key>` | Authenticates the export to SigNoz. |\n`TRACELOOP_TRACE_CONTENT` | No | `true` / `false` (default `true` ) | Include prompt and response text on spans. Set `false` to keep prompt bodies out of telemetry while still capturing model and token data. |\n\nPrefer docker-compose? Set the same variables in your compose file or a `.env`\n\nfile and start Langflow with `docker compose up -d`\n\n. The `langflowai/langflow`\n\nimage reads the same `TRACELOOP_*`\n\nvariables either way.\n\nStep 2: Generate some telemetry\n\n- Open Langflow at\n`http://localhost:7860`\n\n- Build or open a flow that calls an LLM, and run it\n\nEach run produces spans, including LLM spans carrying `gen_ai.*`\n\nattributes such as the model name and token usage. An idle Langflow instance emits nothing, so a flow must actually run before data appears in SigNoz.\n\nView Langflow Traces in SigNoz\n\nOnce configured, your Langflow application automatically emits traces for every flow run.\n\nTraces are available in SigNoz under the Traces tab:\n\nWhen you click on a trace in SigNoz, you'll see a detailed view of the trace, including all associated spans, along with their events and attributes. LLM spans carry `gen_ai.*`\n\nattributes (model, token usage) and, when `TRACELOOP_TRACE_CONTENT=true`\n\n, the prompt and response text.\n\nThis integration sends Langflow's flow and LLM spans from its native tracer. Full HTTP-request and service-map instrumentation is a separate mechanism and is not covered here.\n\nLangflow Observability Dashboard\n\nYou can also check out our custom [Langflow dashboard](https://signoz.io/docs/dashboards/dashboard-templates/langflow-dashboard/) which provides specialized visualizations for monitoring your Langflow usage. The dashboard includes pre-built charts specifically tailored for LLM usage, along with import instructions to get started quickly.\n\nTroubleshooting Langflow Observability\n\n[Troubleshooting Langflow Observability](#troubleshooting-langflow-observability)\n\nNo traces in SigNoz\n\n- Confirm the flow actually ran. An idle Langflow instance emits nothing.\n- Verify\n`TRACELOOP_API_KEY`\n\nis set to a non-empty value. This switches the tracer on. - Check that the region in\n`TRACELOOP_BASE_URL`\n\nmatches your SigNoz account. - OpenTelemetry batches data before sending, so wait 10-30 seconds after running a flow.\n\nAuth errors (401 / 403)\n\nRe-check the ingestion key in `TRACELOOP_HEADERS=signoz-ingestion-key=<key>`\n\n. It must be the exact key from your SigNoz Ingestion Settings, with no extra spaces or quotes.\n\nEndpoint issues\n\nKeep the `https://`\n\nscheme and `:443`\n\nport in `TRACELOOP_BASE_URL`\n\n. Langflow appends `/v1/traces`\n\nfor you, so don't add it yourself.\n\nUpgrading Langflow\n\n[Upgrading Langflow](#upgrading-langflow)\n\nNothing special is required. The OpenTelemetry stack is bundled inside the Langflow image, so it always matches the version you run. There is no separate agent or instrumentor to update:\n\n```\ndocker pull langflowai/langflow:latest   # or a specific tag\n# recreate the container with the same env vars\n```\n\nFor reproducible deploys, pin a specific tag such as `langflowai/langflow:1.10.1`\n\ninstead of `latest`\n\n.\n\nSetup OpenTelemetry Collector (Optional)\n\n[Setup OpenTelemetry Collector (Optional)](#setup-opentelemetry-collector-optional)\n\nWhat is the OpenTelemetry Collector?\n\nThink of the OTel Collector as a middleman between your app and SigNoz. Instead of your application sending data directly to SigNoz, it sends everything to the Collector first, which then forwards it along.\n\nWhy use it?\n\n**Cleaning up data**- Filter out noisy traces you don't care about, or remove sensitive info before it leaves your servers.** Keeping your app lightweight**- Let the Collector handle batching, retries, and compression instead of your application code.** Adding context automatically**- The Collector can tag your data with useful info like which Kubernetes pod or cloud region it came from.** Future flexibility**- Want to send data to multiple backends later? The Collector makes that easy without changing your app.\n\nSee [Switch from direct export to Collector](https://signoz.io/docs/opentelemetry-collection-agents/opentelemetry-collector/switch-to-collector/) for step-by-step instructions to convert your setup.\n\nFor more details, see [Why use the OpenTelemetry Collector?](https://signoz.io/docs/opentelemetry-collection-agents/opentelemetry-collector/why-to-use-collector/) and the [Collector configuration guide](https://signoz.io/docs/opentelemetry-collection-agents/opentelemetry-collector/configuration/).\n\nAdditional resources:\n\n- Set up\n[alerts](https://signoz.io/docs/alerts/)for high latency or error rates - Learn more about\n[querying traces](https://signoz.io/docs/userguide/traces/) - Explore\n[log correlation](https://signoz.io/docs/userguide/logs_query_builder/)", "url": "https://wpnews.pro/news/langflow-observability-monitoring-with-opentelemetry", "canonical_source": "https://signoz.io/docs/langflow-observability", "published_at": "2026-07-08 00:00:00+00:00", "updated_at": "2026-07-09 03:12:01.727557+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "artificial-intelligence"], "entities": ["Langflow", "OpenTelemetry", "SigNoz", "Docker"], "alternates": {"html": "https://wpnews.pro/news/langflow-observability-monitoring-with-opentelemetry", "markdown": "https://wpnews.pro/news/langflow-observability-monitoring-with-opentelemetry.md", "text": "https://wpnews.pro/news/langflow-observability-monitoring-with-opentelemetry.txt", "jsonld": "https://wpnews.pro/news/langflow-observability-monitoring-with-opentelemetry.jsonld"}}