- Keep your Langfuse SDK if you want, but repoint its OTLP exporter.
- Or swap to
@tracelanedev/sdk/tracelane(Python) and delete the Langfuse SDK.
Both paths work on Tracelane Cloud and on self-host. On Cloud the OTLP
endpoint is the gateway,
https://gateway.tracelane.dev, authenticated with a
tlane_… key carrying the ingest scope. Self-hosting, it is the ingest
receiver you run. If you only want the model call captured and not the agent’s
structure, you need no exporter at all — point any OpenAI-compatible client at
https://gateway.tracelane.dev/v1 (see the quickstart).Path A — keep the Langfuse SDK
Repoint Langfuse’s OTLP exporter. Tracelane accepts both OTLP/HTTP wire formats — protobuf and JSON, selected byContent-Type — and
the exporter appends /v1/traces to whatever base you give it:
Authorization is not read at all —
that deployment enforces SPIFFE mTLS and authenticates the client certificate,
not a bearer token (see SPIFFE ingest). The bearer
above is for the Cloud gateway, and for single-tenant self-host it is ignored
because there is exactly one tenant to attribute to.
Path B — full swap
init(), wrap each client with its
instrument* function (instrumentOpenAI, instrumentAnthropic,
instrumentLangGraph, …). Custom Langfuse observe(...) decorators become
standard OpenTelemetry spans via @opentelemetry/api
(trace.getTracer(...).startActiveSpan(...)).
Why move
Related
Competitor details verified as of 2026-08-26 against public documentation and public repositories. Where a capability is marked absent, we found none documented at that date — not that the vendor lacks it. If anything here is inaccurate, please open an issue.