Setup
Install Mastra with the Braintrust exporter:Trace with Mastra
Braintrust traces Mastra agent runs, workflows, steps, tool calls, and LLM calls. Enable tracing without code changes through auto-instrumentation, or configure a Braintrust exporter manually.Auto-instrumentation
To trace Mastra without modifying your application code, run your app with Braintrust’s import hook. The hook adds a Braintrust exporter to Mastra’s observability automatically, so you don’t configure one yourself. Requires@mastra/core v1.20.0 or later and the @mastra/observability package.
1
Build your Mastra app
mastra-app.js
2
Run with the import hook
node --import can run the file directly. The Braintrust APIs work the same in TypeScript projects. Compile your TypeScript to JavaScript and run the compiled file with the import hook, or run TypeScript directly with a TypeScript loader.If you’re using a bundler, see Trace LLM calls for plugin and loader setup.
Manual instrumentation
To configure tracing explicitly, add a Braintrust exporter to Mastra’sObservability settings yourself. Use the BraintrustObservabilityExporter built into the braintrust SDK:
trace-mastra.ts
BraintrustExporter from the Mastra-maintained @mastra/braintrust package, which accepts a Braintrust logger directly:
trace-mastra-exporter.ts
The
BraintrustExporter constructor can accept a braintrust.Span, braintrust.Experiment, or braintrust.Logger as the braintrustLogger option. This enables automatic nesting of Mastra traces within Braintrust contexts like evals or traced functions.What Braintrust traces
Braintrust captures:- Agent run spans (
agent run: <name>) and workflow run spans (workflow run: <name>) as task spans, with inputs and outputs. - LLM spans (
llm: <model>) for model generations, with the messages as input and the response as output. - Workflow step spans (
workflow step: <id>) and tool call spans for the steps and tools an agent or workflow runs. - Token usage metrics (prompt, completion, total, plus cached, cache-creation, and reasoning tokens when reported) on LLM spans.
- Span metadata, including
entity_id,entity_name, andentity_type, plus the model and provider on LLM spans. - Errors captured on every span.
Evaluate with Mastra
Use Mastra agents as thetask in a Braintrust Eval to build and evaluate agentic workflows:
eval-mastra.ts