Back to Mastra

@mastra/langsmith

observability/langsmith/README.md

2025-12-182.2 KB
Original Source

@mastra/langsmith

LangSmith AI Observability exporter for Mastra applications.

Installation

bash
npm install @mastra/langsmith

Usage

Zero-Config Setup

The exporter automatically reads credentials from environment variables:

bash
# Required
LANGSMITH_API_KEY=lsv2_pt_...

# Optional
LANGCHAIN_PROJECT=my-project  # Project name, defaults to "default"
typescript
import { LangSmithExporter } from '@mastra/langsmith';

const mastra = new Mastra({
  ...,
  observability: {
    configs: {
      langsmith: {
        serviceName: 'my-service',
        exporters: [new LangSmithExporter()],
      },
    },
  },
});

Explicit Configuration

You can also pass credentials directly:

typescript
import { LangSmithExporter } from '@mastra/langsmith';

const mastra = new Mastra({
  ...,
  observability: {
    configs: {
      langsmith: {
        serviceName: 'my-service',
        exporters: [
          new LangSmithExporter({
            apiKey: 'lsv2_pt_...',
            projectName: 'my-custom-project', // Optional
          }),
        ],
      },
    },
  },
});

Configuration Options

OptionTypeDescription
apiKeystringLangSmith API key. Defaults to LANGSMITH_API_KEY env var
projectNamestringThe name of the LangSmith project to send traces to. Overrides LANGCHAIN_PROJECT env var
apiUrlstringCustom LangSmith API URL (for self-hosted instances)
clientClientCustom LangSmith client instance

Features

Tracing

  • Automatic span mapping: Root spans become LangSmith traces
  • Type-specific metadata: Extracts relevant metadata for each span type (agents, tools, workflows)
  • Error tracking: Automatic error status and message tracking
  • Hierarchical traces: Maintains parent-child relationships
  • Event span support: Zero-duration spans for event-type traces