Langfuse JS/TS SDKs
    Preparing search index...

    Module @langfuse/otel

    GitHub Banner

    @langfuse/otel

    Langfuse is the open-source LLM engineering platform: tracing & evaluation for LLM and agent applications, prompt management, datasets & experiments, and evaluation (scores). This package provides the LangfuseSpanProcessor β€” the OpenTelemetry span processor that exports spans to Langfuse with smart filtering, masking, and media upload. Register it with any OTel setup and spans from @langfuse/tracing, the Vercel AI SDK, or any other GenAI instrumentation are sent to Langfuse. Prompt management, datasets/experiments, and evals/scores live in @langfuse/client.

    Important

    This is the current SDK generation (@langfuse/* scoped packages). The unscoped langfuse npm package is the legacy v3 SDK β€” for new integrations use @langfuse/tracing + @langfuse/otel. Migration guides: v3 β†’ v4, v4 β†’ v5.

    npm install @langfuse/otel @opentelemetry/sdk-trace-node
    
    LANGFUSE_PUBLIC_KEY="pk-lf-..."
    LANGFUSE_SECRET_KEY="sk-lf-..."
    LANGFUSE_BASE_URL="https://cloud.langfuse.com" # πŸ‡ͺπŸ‡Ί EU region. πŸ‡ΊπŸ‡Έ US: https://us.cloud.langfuse.com
    import { LangfuseSpanProcessor } from "@langfuse/otel";
    import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";

    export const langfuseSpanProcessor = new LangfuseSpanProcessor();

    const tracerProvider = new NodeTracerProvider({
    spanProcessors: [langfuseSpanProcessor],
    });

    tracerProvider.register();

    By default the processor exports Langfuse SDK spans, spans with gen_ai.*/ai.* attributes, and spans from known LLM instrumentation libraries β€” pass shouldExportSpan to override.

    Serverless / short-lived environments (Vercel, AWS Lambda, Cloudflare Workers, edge): pass exportMode: "immediate" so spans are not held in a batch, and await langfuseSpanProcessor.forceFlush() before the function instance is frozen or terminated (e.g. inside Vercel's after() or the platform's waitUntil()). Spans still buffered when the process exits are lost.

    Package NPM Description Environments
    @langfuse/tracing NPM OpenTelemetry-based tracing instrumentation Node.js 20+
    @langfuse/otel NPM LangfuseSpanProcessor to export OpenTelemetry spans to Langfuse Node.js 20+
    @langfuse/client NPM Prompt management, datasets, experiments, scores, full REST API Universal JS
    @langfuse/openai NPM observeOpenAI wrapper for tracing the OpenAI SDK Universal JS
    @langfuse/langchain NPM CallbackHandler for LangChain / LangGraph tracing Universal JS
    @langfuse/vercel-ai-sdk NPM Telemetry integration for Vercel AI SDK v7 Universal JS
    @langfuse/browser NPM Browser score ingestion with public-key auth Browser
    @langfuse/core NPM Shared core: generated API client, logger, utilities Universal JS

    MIT

    Classes

    LangfuseSpanProcessor

    Interfaces

    LangfuseSpanProcessorParams

    Type Aliases

    MaskFunction
    ShouldExportSpan

    Variables

    KNOWN_LLM_INSTRUMENTATION_SCOPE_PREFIXES

    Functions

    isDefaultExportSpan
    isGenAISpan
    isKnownLLMInstrumentor
    isLangfuseSpan