Skip to main content
Mastra 1.0 is available 🎉 Read announcement

PosthogExporter

Sends Tracing data to PostHog for AI observability and analytics.

Constructor
Direct link to Constructor

new PosthogExporter(config: PosthogExporterConfig)

PosthogExporterConfig
Direct link to PosthogExporterConfig

interface PosthogExporterConfig extends BaseExporterConfig {
apiKey?: string;
host?: string;
flushAt?: number;
flushInterval?: number;
serverless?: boolean;
defaultDistinctId?: string;
enablePrivacyMode?: boolean;
}

Extends BaseExporterConfig, which includes:

  • logger?: IMastraLogger - Logger instance
  • logLevel?: LogLevel | 'debug' | 'info' | 'warn' | 'error' - Log level (default: INFO)

Methods
Direct link to Methods

exportTracingEvent
Direct link to exportTracingEvent

async exportTracingEvent(event: TracingEvent): Promise<void>

Exports a tracing event to PostHog.

flush
Direct link to flush

async flush(): Promise<void>

Force flushes any buffered events to PostHog without shutting down the exporter. Useful in serverless environments where you need to ensure spans are exported before the runtime terminates.

shutdown
Direct link to shutdown

async shutdown(): Promise<void>

Flushes pending batched events and shuts down the PostHog client.

Usage
Direct link to Usage

Zero-Config (using environment variables)
Direct link to Zero-Config (using environment variables)

import { PosthogExporter } from "@mastra/posthog";

// Reads from POSTHOG_API_KEY, POSTHOG_HOST
const exporter = new PosthogExporter();

Explicit Configuration
Direct link to Explicit Configuration

import { PosthogExporter } from "@mastra/posthog";

const exporter = new PosthogExporter({
apiKey: process.env.POSTHOG_API_KEY!,
host: "https://us.i.posthog.com",
serverless: true,
});

Span Type Mapping
Direct link to Span Type Mapping

Mastra Span TypePostHog Event Type
MODEL_GENERATION$ai_generation
MODEL_STEP$ai_generation
MODEL_CHUNK$ai_span
TOOL_CALL$ai_span
MCP_TOOL_CALL$ai_span
PROCESSOR_RUN$ai_span
AGENT_RUN$ai_span
WORKFLOW_RUN$ai_span
All other workflows$ai_span
GENERIC$ai_span