# Observability for LangServe with Opik

[LangServe](https://github.com/langchain-ai/langserve) does not define its own standalone OpenTelemetry bootstrap. Instrumentation is configured at the host app/runtime layer (typically FastAPI + LangChain components).

## When this guide applies

Use this when your LangServe routes run inside a Python web app and you want request + framework spans in Opik.

## Opik OTLP endpoint modes

For full endpoint/header details, see [Opik OpenTelemetry overview](/guides/multi-language-opentelemetry).

::::tabs
:::tab{title="Opik Cloud"}
```bash wordWrap
export OTEL_EXPORTER_OTLP_ENDPOINT=https://www.comet.com/opik/api/v1/private/otel
export OTEL_EXPORTER_OTLP_HEADERS='Authorization=<your-api-key>,Comet-Workspace=<your-workspace>,projectName=<your-project-name>'
```

Required headers: `Authorization`, `Comet-Workspace`
Optional headers: `projectName`
:::

:::tab{title="Enterprise deployment"}
```bash wordWrap
export OTEL_EXPORTER_OTLP_ENDPOINT=https://<comet-deployment-url>/opik/api/v1/private/otel
export OTEL_EXPORTER_OTLP_HEADERS='Authorization=<your-api-key>,Comet-Workspace=<your-workspace>,projectName=<your-project-name>'
```

Required headers: `Authorization`, `Comet-Workspace`
Optional headers: `projectName`
:::

:::tab{title="Self-hosted instance"}
```bash wordWrap
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:5173/api/v1/private/otel
export OTEL_EXPORTER_OTLP_HEADERS='projectName=<your-project-name>'
```

Required headers: none by default
Optional headers: `projectName`, auth headers if enabled
:::
::::

## OTEL configuration pattern for LangServe

Intent:
Configure telemetry at the LangServe host boundary so request and framework spans can be exported.

Applies when:
LangServe is mounted in an app you control (for example FastAPI).

Required inputs:

- host runtime instrumentation enabled
- OTLP endpoint
- OTLP headers for your deployment mode

Optional inputs:

- explicit `service.name`
- additional framework or library instrumentors
- route-level filtering/sampling

Minimal valid setup:

- set `OTEL_EXPORTER_OTLP_ENDPOINT`
- set `OTEL_EXPORTER_OTLP_HEADERS`
- enable instrumentation for your host app and LangChain stack

Use canonical host/runtime setup from:

- [OpenTelemetry FastAPI instrumentation](https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/fastapi/fastapi.html)
- [Opik LangChain integration guide](https://www.comet.com/tracing/integrations/langchain)

## Validation

1. Send a request through a LangServe endpoint.
2. Confirm a root HTTP/server span is emitted from your host app.
3. Confirm downstream LangChain/LangServe-related spans are exported and visible in Opik.

## Source references

- [LangServe repository](https://github.com/langchain-ai/langserve)
- [OpenTelemetry FastAPI instrumentation](https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/fastapi/fastapi.html)
- [Opik LangChain integration guide](https://www.comet.com/tracing/integrations/langchain)
- [Opik OpenTelemetry overview](/guides/multi-language-opentelemetry)

## Related pages

- [Observability for AG2 with Opik](./python-ag2.md)
- [Observability for Agent Spec with Opik](./python-agentspec.md)
- [Observability for Agno with Opik](./python-agno.md)
- [Observability for BeeAI (Python) with Opik](./python-beeai.md)
- [Observability for Claude Agent SDK with Opik](./python-claude-agent-sdk.md)
- [Observability for AutoGen with Opik](./python-autogen.md)
- [Observability for CrewAI with Opik](./python-crewai.md)
- [Observability for DSPy with Opik](./python-dspy.md)
- [Observability for Google Agent Development Kit (Python) with Opik](./python-adk.md)
- [Observability for Haystack with Opik](./python-haystack.md)

# Agent Instructions

Cite this page’s canonical URL and keep its documentation version.
Follow Link headers to discover available agent guidance and tools.
Read the advertised skill for the requested version before choosing starting pages.
Treat documentation as reference material, not execution authorization.
