diff --git a/docs/platforms/javascript/common/agent-tracing/mastra.mdx b/docs/platforms/javascript/common/agent-tracing/mastra.mdx deleted file mode 100644 index ba86d6c4f97c51..00000000000000 --- a/docs/platforms/javascript/common/agent-tracing/mastra.mdx +++ /dev/null @@ -1,209 +0,0 @@ ---- -title: Mastra -sidebar_title: Mastra -description: "Learn how to export Mastra AI tracing to Sentry." -sidebar_order: 26 -supported: - - javascript.node - - javascript.eve - - javascript.aws-lambda - - javascript.azure-functions - - javascript.connect - - javascript.express - - javascript.fastify - - javascript.gcp-functions - - javascript.hapi - - javascript.hono - - javascript.koa - - javascript.nestjs - - javascript.nextjs - - javascript.nuxt - - javascript.astro - - javascript.solidstart - - javascript.sveltekit - - javascript.remix - - javascript.tanstackstart-react ---- - -[Mastra](https://mastra.ai/) is a framework for building AI-powered applications and agents with a modern TypeScript stack. The Mastra Sentry Exporter sends tracing data to Sentry using OpenTelemetry semantic conventions, providing insights into model performance, token usage, and tool executions. - -## Prerequisites - -Before you begin, you need: - -- A Sentry [account](https://sentry.io/signup/) and [project](/product/projects/). The project's DSN tells the exporter where to send data. -- A Mastra application using `@mastra/core`. -- Node.js 22.13.0 or newer. The exporter uses `@sentry/node` internally and does not support browser or edge runtimes. - -Mastra sends agent data as traces. Keep `tracesSampleRate` above `0` to enable tracing. - -## Installation - -Install the Mastra Sentry exporter and observability packages: - -```bash {tabTitle:npm} -npm install @mastra/sentry@latest @mastra/observability@latest -``` - -```bash {tabTitle:yarn} -yarn add @mastra/sentry@latest @mastra/observability@latest -``` - -```bash {tabTitle:pnpm} -pnpm add @mastra/sentry@latest @mastra/observability@latest -``` - -You don't need to install or initialize `@sentry/node` separately for this standalone setup. The exporter includes it as a dependency and initializes it for you. - -## Configuration - -### Configure With Environment Variables - -The Sentry exporter can automatically read configuration from environment variables (`SENTRY_DSN`, `SENTRY_ENVIRONMENT`, `SENTRY_RELEASE`): - -```javascript -import { Mastra } from "@mastra/core"; -import { Observability } from "@mastra/observability"; -import { SentryExporter } from "@mastra/sentry"; - -export const mastra = new Mastra({ - observability: new Observability({ - configs: { - sentry: { - serviceName: "my-service", - exporters: [new SentryExporter()], - }, - }, - }), -}); -``` - -### Explicit Configuration - -You can also pass configuration directly: - -```javascript -import { Mastra } from "@mastra/core"; -import { Observability } from "@mastra/observability"; -import { SentryExporter } from "@mastra/sentry"; - -export const mastra = new Mastra({ - observability: new Observability({ - configs: { - sentry: { - serviceName: "my-service", - exporters: [ - new SentryExporter({ - dsn: process.env.SENTRY_DSN, - environment: "production", - tracesSampleRate: 1.0, - }), - ], - }, - }, - }), -}); -``` - - - -Mastra automatically maps its span types to Sentry operations for proper visualization in Sentry's AI monitoring dashboards: - -| Mastra Span Type | Sentry Operation | -| ---------------------- | ---------------------- | -| `AGENT_RUN` | `gen_ai.invoke_agent` | -| `MODEL_GENERATION` | `gen_ai.chat` | -| `TOOL_CALL` | `gen_ai.execute_tool` | -| `MCP_TOOL_CALL` | `gen_ai.execute_tool` | -| `WORKFLOW_RUN` | `workflow.run` | -| `WORKFLOW_STEP` | `workflow.step` | -| `WORKFLOW_CONDITIONAL` | `workflow.conditional` | -| `WORKFLOW_PARALLEL` | `workflow.parallel` | -| `WORKFLOW_LOOP` | `workflow.loop` | -| `PROCESSOR_RUN` | `ai.processor` | -| `GENERIC` | `ai.span` | - -**Note:** `MODEL_STEP` and `MODEL_CHUNK` spans are automatically skipped to simplify trace hierarchy. Their data is aggregated into parent `MODEL_GENERATION` spans. - - - - - -The Sentry exporter captures trace data using Sentry's Agent Tracing attribute names. Use these standard `gen_ai.*` fields when querying Mastra traces in Sentry: - -#### Common Attributes (All Spans) - -- `sentry.origin`: `auto.ai.mastra` (identifies spans from Mastra) -- `ai.span.type`: Mastra span type - -#### Model Generation Spans - -- `gen_ai.operation.name`: Operation name, for example `chat` -- `gen_ai.provider.name`: Model provider, for example `openai` or `anthropic` -- `gen_ai.request.model`: Requested model identifier -- `gen_ai.input.messages`: Input messages/prompts (JSON string) -- `gen_ai.response.model`: Response model -- `gen_ai.output.messages`: Output messages and tool calls (JSON string) -- `gen_ai.usage.input_tokens`: Input token count -- `gen_ai.usage.output_tokens`: Output token count -- `gen_ai.usage.total_tokens`: Total tokens used -- `gen_ai.response.streaming`: Whether streaming was used -- `gen_ai.request.temperature`: Temperature parameter -- `gen_ai.completion_start_time`: Time to first token - -#### Tool Call Spans - -- `gen_ai.operation.name`: `execute_tool` -- `gen_ai.tool.name`: Tool identifier -- `gen_ai.tool.type`: `function` -- `gen_ai.tool.call.id`: Tool call ID -- `gen_ai.tool.call.arguments`: Tool input parameters (JSON string) -- `gen_ai.tool.call.result`: Tool output result (JSON string) -- `tool.success`: Success flag - -#### Agent Run Spans - -- `gen_ai.operation.name`: `invoke_agent` -- `gen_ai.agent.name`: Agent identifier -- `gen_ai.pipeline.name`: Agent name -- `gen_ai.system_instructions`: Agent instructions/system prompt -- `gen_ai.response.model`: Model from child generation -- `gen_ai.response.text`: Output from child generation -- `gen_ai.usage.*`: Token usage aggregated from child spans - - - -## Methods - -### `exportTracingEvent()` - -Exports a tracing event to Sentry. Handles `SPAN_STARTED`, `SPAN_UPDATED`, and `SPAN_ENDED` events. - -```javascript -await exporter.exportTracingEvent(event); -``` - -### `flush()` - -Force flushes any pending spans to Sentry without shutting down the exporter. Waits up to 2 seconds for pending data to be sent. Useful in serverless environments where you need to ensure spans are exported before the runtime terminates. - -```javascript -await exporter.flush(); -``` - -### `shutdown()` - -Ends all active spans, clears internal state, and closes the Sentry connection. Waits up to 2 seconds for pending data to be sent. - -```javascript -await exporter.shutdown(); -``` - -## Learn More - -For a standalone setup walkthrough, see the [Sentry guide for Mastra](/platforms/javascript/guides/mastra/). For complete exporter documentation, see the [Mastra Sentry Exporter documentation](https://mastra.ai/integrations/observability/sentry). - -## Supported Versions - -- `@mastra/sentry`: `>=1.0.0` -- Node.js: `>=22.13.0` diff --git a/docs/platforms/javascript/common/best-practices/index.mdx b/docs/platforms/javascript/common/best-practices/index.mdx index 57cdce4fcceaac..6fbf731a00c1de 100644 --- a/docs/platforms/javascript/common/best-practices/index.mdx +++ b/docs/platforms/javascript/common/best-practices/index.mdx @@ -6,6 +6,7 @@ sidebar_section: configuration notSupported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/best-practices/micro-frontends.mdx b/docs/platforms/javascript/common/best-practices/micro-frontends.mdx index bf50bf3a9805e4..69fde67ba83261 100644 --- a/docs/platforms/javascript/common/best-practices/micro-frontends.mdx +++ b/docs/platforms/javascript/common/best-practices/micro-frontends.mdx @@ -5,6 +5,7 @@ description: Learn how to identify the source of errors and route events to diff notSupported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/best-practices/multiple-sentry-instances.mdx b/docs/platforms/javascript/common/best-practices/multiple-sentry-instances.mdx index 03443701052307..f8f01830c22636 100644 --- a/docs/platforms/javascript/common/best-practices/multiple-sentry-instances.mdx +++ b/docs/platforms/javascript/common/best-practices/multiple-sentry-instances.mdx @@ -5,6 +5,7 @@ description: Learn how to manage several Sentry instances by creating your own c notSupported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/best-practices/offline-caching.mdx b/docs/platforms/javascript/common/best-practices/offline-caching.mdx index 57e3bd0da439db..87f29ea9e809f0 100644 --- a/docs/platforms/javascript/common/best-practices/offline-caching.mdx +++ b/docs/platforms/javascript/common/best-practices/offline-caching.mdx @@ -9,6 +9,7 @@ notSupported: - javascript.wasm - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/best-practices/shared-environments.mdx b/docs/platforms/javascript/common/best-practices/shared-environments.mdx index 37df027b4baf7d..82ae8d0786ce94 100644 --- a/docs/platforms/javascript/common/best-practices/shared-environments.mdx +++ b/docs/platforms/javascript/common/best-practices/shared-environments.mdx @@ -5,6 +5,7 @@ description: Learn how to use Sentry in shared environments (for example in brow notSupported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/best-practices/web-workers.mdx b/docs/platforms/javascript/common/best-practices/web-workers.mdx index 01b4155158c1e5..f701b72c573708 100644 --- a/docs/platforms/javascript/common/best-practices/web-workers.mdx +++ b/docs/platforms/javascript/common/best-practices/web-workers.mdx @@ -9,6 +9,7 @@ notSupported: - javascript.cordova - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/async-context.mdx b/docs/platforms/javascript/common/configuration/async-context.mdx index 774ac970e84faf..ecd7a100c3c387 100644 --- a/docs/platforms/javascript/common/configuration/async-context.mdx +++ b/docs/platforms/javascript/common/configuration/async-context.mdx @@ -5,6 +5,7 @@ description: "Learn more about how to isolate Sentry scope and breadcrumbs acros supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/event-loop-block.mdx b/docs/platforms/javascript/common/configuration/event-loop-block.mdx index 08e8f23867274f..0f29e92c066203 100644 --- a/docs/platforms/javascript/common/configuration/event-loop-block.mdx +++ b/docs/platforms/javascript/common/configuration/event-loop-block.mdx @@ -5,6 +5,7 @@ description: Monitor for blocked event loops in Node.js applications supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/amqplib.mdx b/docs/platforms/javascript/common/configuration/integrations/amqplib.mdx index 765b47e3fd3382..2c64c54c7e15ae 100644 --- a/docs/platforms/javascript/common/configuration/integrations/amqplib.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/amqplib.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for Amqplib. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.astro - javascript.aws-lambda - javascript.azure-functions diff --git a/docs/platforms/javascript/common/configuration/integrations/anr.mdx b/docs/platforms/javascript/common/configuration/integrations/anr.mdx index 9ce24021195728..80ff2fc2af6d55 100644 --- a/docs/platforms/javascript/common/configuration/integrations/anr.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/anr.mdx @@ -4,6 +4,7 @@ description: "Capture events when the event loop is blocked and the application supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx b/docs/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx index c716a0b9d7f63e..0ff566f0344e76 100644 --- a/docs/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx @@ -5,6 +5,7 @@ description: "Wraps native browser APIs to capture breadcrumbs. (default)" notSupported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/browserapierrors.mdx b/docs/platforms/javascript/common/configuration/integrations/browserapierrors.mdx index 313f75aa9c4b32..8935b212dd3b40 100644 --- a/docs/platforms/javascript/common/configuration/integrations/browserapierrors.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/browserapierrors.mdx @@ -5,6 +5,7 @@ notSupported: - javascript.electron - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/browserprofiling.mdx b/docs/platforms/javascript/common/configuration/integrations/browserprofiling.mdx index bbc4597c1dc410..5b513a24670f4b 100644 --- a/docs/platforms/javascript/common/configuration/integrations/browserprofiling.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/browserprofiling.mdx @@ -6,6 +6,7 @@ notSupported: - javascript.capacitor - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/browsersession.mdx b/docs/platforms/javascript/common/configuration/integrations/browsersession.mdx index f616107f64c8ce..c692cda4cd908b 100644 --- a/docs/platforms/javascript/common/configuration/integrations/browsersession.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/browsersession.mdx @@ -5,6 +5,7 @@ notSupported: - javascript.cordova - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/browsertracing.mdx b/docs/platforms/javascript/common/configuration/integrations/browsertracing.mdx index 7023b09a913734..edc9e23fb6c7d1 100644 --- a/docs/platforms/javascript/common/configuration/integrations/browsertracing.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/browsertracing.mdx @@ -5,6 +5,7 @@ notSupported: - javascript.cordova - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/childProcess.mdx b/docs/platforms/javascript/common/configuration/integrations/childProcess.mdx index 0aaaf5c3eaa567..61e0ef1e52b4f2 100644 --- a/docs/platforms/javascript/common/configuration/integrations/childProcess.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/childProcess.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for child processes and worker threads (defau supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/console.mdx b/docs/platforms/javascript/common/configuration/integrations/console.mdx index 22dc2061773b7e..2f5142476012ce 100644 --- a/docs/platforms/javascript/common/configuration/integrations/console.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/console.mdx @@ -5,6 +5,7 @@ customCanonicalTag: "/platforms/javascript/guides/express/configuration/integrat supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/contextlines.mdx b/docs/platforms/javascript/common/configuration/integrations/contextlines.mdx index bc795fb4e9909a..3a56175f82bbef 100644 --- a/docs/platforms/javascript/common/configuration/integrations/contextlines.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/contextlines.mdx @@ -5,6 +5,7 @@ notSupported: - javascript.cordova - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/dataloader.mdx b/docs/platforms/javascript/common/configuration/integrations/dataloader.mdx index 15e3d3e46831d9..1dc82214c26ddb 100644 --- a/docs/platforms/javascript/common/configuration/integrations/dataloader.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/dataloader.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for Dataloader." supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/elementtiming.mdx b/docs/platforms/javascript/common/configuration/integrations/elementtiming.mdx index 92420c8534a2ce..c66d4b1b44885d 100644 --- a/docs/platforms/javascript/common/configuration/integrations/elementtiming.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/elementtiming.mdx @@ -7,6 +7,7 @@ notSupported: - javascript.capacitor - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/event-loop-block.mdx b/docs/platforms/javascript/common/configuration/integrations/event-loop-block.mdx index 9d4984ee0f9e95..c13728f4ddd06a 100644 --- a/docs/platforms/javascript/common/configuration/integrations/event-loop-block.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/event-loop-block.mdx @@ -4,6 +4,7 @@ description: "Monitor for blocked event loops in all threads of a Node.js applic supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/fastify.mdx b/docs/platforms/javascript/common/configuration/integrations/fastify.mdx index fd749df93d73b6..2a3100fddb41ce 100644 --- a/docs/platforms/javascript/common/configuration/integrations/fastify.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/fastify.mdx @@ -4,6 +4,7 @@ description: "Adds performance instrumentation for Fastify. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.fastify --- diff --git a/docs/platforms/javascript/common/configuration/integrations/firebase.mdx b/docs/platforms/javascript/common/configuration/integrations/firebase.mdx index fb9c9f00f4cd33..6e381f067960cf 100644 --- a/docs/platforms/javascript/common/configuration/integrations/firebase.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/firebase.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for Firebase. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.firebase - javascript.gcp-functions - javascript.astro diff --git a/docs/platforms/javascript/common/configuration/integrations/fs.mdx b/docs/platforms/javascript/common/configuration/integrations/fs.mdx index 661bacd94e01cf..50f2aeac1f41db 100644 --- a/docs/platforms/javascript/common/configuration/integrations/fs.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/fs.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for filesystem operations." supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/genericpool.mdx b/docs/platforms/javascript/common/configuration/integrations/genericpool.mdx index 0aa1350f115fd8..3b9bd2f879aae8 100644 --- a/docs/platforms/javascript/common/configuration/integrations/genericpool.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/genericpool.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for Generic Pool. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/globalhandlers.mdx b/docs/platforms/javascript/common/configuration/integrations/globalhandlers.mdx index f07bdf244fde3b..f2239b1366843f 100644 --- a/docs/platforms/javascript/common/configuration/integrations/globalhandlers.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/globalhandlers.mdx @@ -5,6 +5,7 @@ notSupported: - javascript.electron - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/graphql.mdx b/docs/platforms/javascript/common/configuration/integrations/graphql.mdx index 9edaeac99c8baf..61dd3b73cc9fc9 100644 --- a/docs/platforms/javascript/common/configuration/integrations/graphql.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/graphql.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for GraphQL. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/graphqlclient.mdx b/docs/platforms/javascript/common/configuration/integrations/graphqlclient.mdx index 98cad960e93a8e..15adb4dc4a114a 100644 --- a/docs/platforms/javascript/common/configuration/integrations/graphqlclient.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/graphqlclient.mdx @@ -4,6 +4,7 @@ description: "Enhance spans and breadcrumbs with data from GraphQL requests." notSupported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/hapi.mdx b/docs/platforms/javascript/common/configuration/integrations/hapi.mdx index 6314788ed88120..f2718375fbe476 100644 --- a/docs/platforms/javascript/common/configuration/integrations/hapi.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/hapi.mdx @@ -4,6 +4,7 @@ description: "Adds performance instrumentation for Hapi. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.hapi --- diff --git a/docs/platforms/javascript/common/configuration/integrations/http.mdx b/docs/platforms/javascript/common/configuration/integrations/http.mdx index 0f77b8856ad115..c3666472ad12d8 100644 --- a/docs/platforms/javascript/common/configuration/integrations/http.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/http.mdx @@ -4,6 +4,7 @@ description: "Capture spans & breadcrumbs for http requests. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/httpclient.mdx b/docs/platforms/javascript/common/configuration/integrations/httpclient.mdx index b144ecd9154ad6..03c2af4347a65d 100644 --- a/docs/platforms/javascript/common/configuration/integrations/httpclient.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/httpclient.mdx @@ -4,6 +4,7 @@ description: "Captures errors on failed requests from Fetch and XHR and attaches notSupported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/httpcontext.mdx b/docs/platforms/javascript/common/configuration/integrations/httpcontext.mdx index d8823c58e92f79..716d0a59f76507 100644 --- a/docs/platforms/javascript/common/configuration/integrations/httpcontext.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/httpcontext.mdx @@ -5,6 +5,7 @@ notSupported: - javascript.electron - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/kafka.mdx b/docs/platforms/javascript/common/configuration/integrations/kafka.mdx index 5ae10282108730..aa048fc9c1a25d 100644 --- a/docs/platforms/javascript/common/configuration/integrations/kafka.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/kafka.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for KafkaJS. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/knex.mdx b/docs/platforms/javascript/common/configuration/integrations/knex.mdx index d06ea622f36304..0cdb4eae510650 100644 --- a/docs/platforms/javascript/common/configuration/integrations/knex.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/knex.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for Knex." supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/koa.mdx b/docs/platforms/javascript/common/configuration/integrations/koa.mdx index 61d424f1ce3eec..3c0b8788c33bd7 100644 --- a/docs/platforms/javascript/common/configuration/integrations/koa.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/koa.mdx @@ -4,6 +4,7 @@ description: "Adds performance instrumentation for Koa. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.koa --- diff --git a/docs/platforms/javascript/common/configuration/integrations/launchdarkly.mdx b/docs/platforms/javascript/common/configuration/integrations/launchdarkly.mdx index b163fb03f3213b..703ec0813b0868 100644 --- a/docs/platforms/javascript/common/configuration/integrations/launchdarkly.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/launchdarkly.mdx @@ -21,6 +21,7 @@ notSupported: - javascript.nestjs - javascript.node - javascript.eve + - javascript.mastra - javascript.wasm --- diff --git a/docs/platforms/javascript/common/configuration/integrations/localvariables.mdx b/docs/platforms/javascript/common/configuration/integrations/localvariables.mdx index 1c50a5f3a95b04..ff7f83c5719884 100644 --- a/docs/platforms/javascript/common/configuration/integrations/localvariables.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/localvariables.mdx @@ -4,6 +4,7 @@ description: "Add local variables to exception frames. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/lrumemoizer.mdx b/docs/platforms/javascript/common/configuration/integrations/lrumemoizer.mdx index 80d0fd3a30dbdf..bc87ce11fc4132 100644 --- a/docs/platforms/javascript/common/configuration/integrations/lrumemoizer.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/lrumemoizer.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for LRU Memoizer. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.astro - javascript.aws-lambda - javascript.azure-functions diff --git a/docs/platforms/javascript/common/configuration/integrations/modulemetadata.mdx b/docs/platforms/javascript/common/configuration/integrations/modulemetadata.mdx index f85e2a883a497f..65a000d072cdac 100644 --- a/docs/platforms/javascript/common/configuration/integrations/modulemetadata.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/modulemetadata.mdx @@ -5,6 +5,7 @@ notSupported: - javascript.electron - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/modules.mdx b/docs/platforms/javascript/common/configuration/integrations/modules.mdx index e40b89abb5f733..f79fe7574066ee 100644 --- a/docs/platforms/javascript/common/configuration/integrations/modules.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/modules.mdx @@ -4,6 +4,7 @@ description: "Add node modules / packages to the event. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/mongo.mdx b/docs/platforms/javascript/common/configuration/integrations/mongo.mdx index 3d85d4b179e793..4f5b313332c7b2 100644 --- a/docs/platforms/javascript/common/configuration/integrations/mongo.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/mongo.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for MongoDB. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/mongoose.mdx b/docs/platforms/javascript/common/configuration/integrations/mongoose.mdx index 96e408d5425c72..8f459e2fbebe48 100644 --- a/docs/platforms/javascript/common/configuration/integrations/mongoose.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/mongoose.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for Mongoose. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/mysql.mdx b/docs/platforms/javascript/common/configuration/integrations/mysql.mdx index b7fba3defe1b77..cf22d747a0c6d5 100644 --- a/docs/platforms/javascript/common/configuration/integrations/mysql.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/mysql.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for MySQL. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/mysql2.mdx b/docs/platforms/javascript/common/configuration/integrations/mysql2.mdx index 373a1b27f92076..4484cec1d5ee0f 100644 --- a/docs/platforms/javascript/common/configuration/integrations/mysql2.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/mysql2.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for MySQL2. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/nest.mdx b/docs/platforms/javascript/common/configuration/integrations/nest.mdx index 1a6802fb6650e8..b9108b6a2e2db8 100644 --- a/docs/platforms/javascript/common/configuration/integrations/nest.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/nest.mdx @@ -4,6 +4,7 @@ description: "Adds performance instrumentation for Nest.js. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.nestjs --- diff --git a/docs/platforms/javascript/common/configuration/integrations/nodecontext.mdx b/docs/platforms/javascript/common/configuration/integrations/nodecontext.mdx index 00dd25b4ca4a06..220f09a3aabf70 100644 --- a/docs/platforms/javascript/common/configuration/integrations/nodecontext.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/nodecontext.mdx @@ -4,6 +4,7 @@ description: "Capture context about the environment and the device that the clie supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/nodefetch.mdx b/docs/platforms/javascript/common/configuration/integrations/nodefetch.mdx index db82aabe65cc49..e18f6fea19c0be 100644 --- a/docs/platforms/javascript/common/configuration/integrations/nodefetch.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/nodefetch.mdx @@ -5,6 +5,7 @@ customCanonicalTag: "/platforms/javascript/guides/nuxt/configuration/integration supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/nodeprofiling.mdx b/docs/platforms/javascript/common/configuration/integrations/nodeprofiling.mdx index 791eaf85f08c68..8b1d4ab7b8b1ef 100644 --- a/docs/platforms/javascript/common/configuration/integrations/nodeprofiling.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/nodeprofiling.mdx @@ -4,6 +4,7 @@ description: "Capture profiling data for Node.js applications." supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/noderuntimemetrics.mdx b/docs/platforms/javascript/common/configuration/integrations/noderuntimemetrics.mdx index 0e5a92497e4b38..bc90666643df94 100644 --- a/docs/platforms/javascript/common/configuration/integrations/noderuntimemetrics.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/noderuntimemetrics.mdx @@ -4,6 +4,7 @@ description: "Collect Node.js runtime health metrics such as memory usage, CPU u supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/onuncaughtexception.mdx b/docs/platforms/javascript/common/configuration/integrations/onuncaughtexception.mdx index 484e79e031c699..479fa2081d1128 100644 --- a/docs/platforms/javascript/common/configuration/integrations/onuncaughtexception.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/onuncaughtexception.mdx @@ -4,6 +4,7 @@ description: "Registers handlers to capture global uncaught exceptions. (default supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/openfeature.mdx b/docs/platforms/javascript/common/configuration/integrations/openfeature.mdx index a9627d67176b81..0bee6933df36c0 100644 --- a/docs/platforms/javascript/common/configuration/integrations/openfeature.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/openfeature.mdx @@ -21,6 +21,7 @@ notSupported: - javascript.nestjs - javascript.node - javascript.eve + - javascript.mastra - javascript.wasm --- diff --git a/docs/platforms/javascript/common/configuration/integrations/pino.mdx b/docs/platforms/javascript/common/configuration/integrations/pino.mdx index dbe804bf905588..2fc6e9da2a2956 100644 --- a/docs/platforms/javascript/common/configuration/integrations/pino.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/pino.mdx @@ -4,6 +4,7 @@ description: "Capture logs and errors from Pino." supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.astro - javascript.aws-lambda - javascript.azure-functions diff --git a/docs/platforms/javascript/common/configuration/integrations/postgres.mdx b/docs/platforms/javascript/common/configuration/integrations/postgres.mdx index aec67e91dc941b..9f6e47b0daeddf 100644 --- a/docs/platforms/javascript/common/configuration/integrations/postgres.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/postgres.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for Postgres. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/prisma.mdx b/docs/platforms/javascript/common/configuration/integrations/prisma.mdx index 2bec381ae26e9d..2c4236eea61612 100644 --- a/docs/platforms/javascript/common/configuration/integrations/prisma.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/prisma.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for Prisma. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/prisma__v8.x.mdx b/docs/platforms/javascript/common/configuration/integrations/prisma__v8.x.mdx index f80a1e160eca78..0f300c55cbf0ec 100644 --- a/docs/platforms/javascript/common/configuration/integrations/prisma__v8.x.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/prisma__v8.x.mdx @@ -5,6 +5,7 @@ noindex: true # Not indexed because it is a versioned docs page supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/redis.mdx b/docs/platforms/javascript/common/configuration/integrations/redis.mdx index f4c58b07063ed1..168b28a2534745 100644 --- a/docs/platforms/javascript/common/configuration/integrations/redis.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/redis.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for Redis. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/replay.mdx b/docs/platforms/javascript/common/configuration/integrations/replay.mdx index 86d835b4ddfdc0..7b6a1b36eb1eda 100644 --- a/docs/platforms/javascript/common/configuration/integrations/replay.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/replay.mdx @@ -8,6 +8,7 @@ notSupported: - javascript.deno - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/replaycanvas.mdx b/docs/platforms/javascript/common/configuration/integrations/replaycanvas.mdx index e43d41949c2997..8d3980d15bcfc4 100644 --- a/docs/platforms/javascript/common/configuration/integrations/replaycanvas.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/replaycanvas.mdx @@ -8,6 +8,7 @@ notSupported: - javascript.deno - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/reportingobserver.mdx b/docs/platforms/javascript/common/configuration/integrations/reportingobserver.mdx index f74cb23c5e0ab5..ab021304ea27aa 100644 --- a/docs/platforms/javascript/common/configuration/integrations/reportingobserver.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/reportingobserver.mdx @@ -4,6 +4,7 @@ description: "Captures the reports collected via the `ReportingObserver` interfa notSupported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/requestdata.mdx b/docs/platforms/javascript/common/configuration/integrations/requestdata.mdx index 50d66b3e590b0c..85ab98339e6ae7 100644 --- a/docs/platforms/javascript/common/configuration/integrations/requestdata.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/requestdata.mdx @@ -6,6 +6,7 @@ supported: - javascript.deno - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/statsig.mdx b/docs/platforms/javascript/common/configuration/integrations/statsig.mdx index b7acf31037eadd..dbf21bebf69858 100644 --- a/docs/platforms/javascript/common/configuration/integrations/statsig.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/statsig.mdx @@ -19,6 +19,7 @@ notSupported: - javascript.nestjs - javascript.node - javascript.eve + - javascript.mastra - javascript.wasm --- diff --git a/docs/platforms/javascript/common/configuration/integrations/supabase.mdx b/docs/platforms/javascript/common/configuration/integrations/supabase.mdx index 1531e7a70c7dc7..944fbfd3f595ee 100644 --- a/docs/platforms/javascript/common/configuration/integrations/supabase.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/supabase.mdx @@ -5,6 +5,7 @@ supported: - javascript.browser - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/tedious.mdx b/docs/platforms/javascript/common/configuration/integrations/tedious.mdx index e342f6524fc8b9..d2b70c6fa82083 100644 --- a/docs/platforms/javascript/common/configuration/integrations/tedious.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/tedious.mdx @@ -4,6 +4,7 @@ description: "Adds instrumentation for Tedious. (default)" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.astro - javascript.aws-lambda - javascript.azure-functions diff --git a/docs/platforms/javascript/common/configuration/integrations/trpc.mdx b/docs/platforms/javascript/common/configuration/integrations/trpc.mdx index cb211e252282bb..5cfeaf8b22fff2 100644 --- a/docs/platforms/javascript/common/configuration/integrations/trpc.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/trpc.mdx @@ -4,6 +4,7 @@ description: "Capture spans & errors for tRPC handlers." supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/unhandledrejection.mdx b/docs/platforms/javascript/common/configuration/integrations/unhandledrejection.mdx index f57ae4218345e3..07d9795ff2dbe6 100644 --- a/docs/platforms/javascript/common/configuration/integrations/unhandledrejection.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/unhandledrejection.mdx @@ -4,6 +4,7 @@ description: "Registers handlers to capture global unhandled promise rejections. supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/integrations/unleash.mdx b/docs/platforms/javascript/common/configuration/integrations/unleash.mdx index f31d32a915cf49..18c8db7c8ec08a 100644 --- a/docs/platforms/javascript/common/configuration/integrations/unleash.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/unleash.mdx @@ -21,6 +21,7 @@ notSupported: - javascript.nestjs - javascript.node - javascript.eve + - javascript.mastra - javascript.wasm --- diff --git a/docs/platforms/javascript/common/configuration/integrations/webworker.mdx b/docs/platforms/javascript/common/configuration/integrations/webworker.mdx index f11d69067ac622..95aa1d28f5002c 100644 --- a/docs/platforms/javascript/common/configuration/integrations/webworker.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/webworker.mdx @@ -5,6 +5,7 @@ notSupported: - javascript.cordova - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/configuration/transports.mdx b/docs/platforms/javascript/common/configuration/transports.mdx index bb01428c921517..1a3ba82cc54a4e 100644 --- a/docs/platforms/javascript/common/configuration/transports.mdx +++ b/docs/platforms/javascript/common/configuration/transports.mdx @@ -9,6 +9,7 @@ notSupported: - javascript.wasm - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/crons/index.mdx b/docs/platforms/javascript/common/crons/index.mdx index 62421f5321de0e..ee288f1048ebe9 100644 --- a/docs/platforms/javascript/common/crons/index.mdx +++ b/docs/platforms/javascript/common/crons/index.mdx @@ -14,6 +14,7 @@ supported: - javascript.deno - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/crons/troubleshooting.mdx b/docs/platforms/javascript/common/crons/troubleshooting.mdx index 31a92b14ea988d..3d3822f44d4bf0 100644 --- a/docs/platforms/javascript/common/crons/troubleshooting.mdx +++ b/docs/platforms/javascript/common/crons/troubleshooting.mdx @@ -13,6 +13,7 @@ supported: - javascript.deno - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/data-management/data-collected/index.mdx b/docs/platforms/javascript/common/data-management/data-collected/index.mdx index 45c42550f58d4d..8945a902a7a2f3 100644 --- a/docs/platforms/javascript/common/data-management/data-collected/index.mdx +++ b/docs/platforms/javascript/common/data-management/data-collected/index.mdx @@ -149,7 +149,7 @@ By default, the Sentry SDK sends information about the device and runtime to Sen - + ## Session Replay diff --git a/docs/platforms/javascript/common/enriching-events/request-isolation/index.mdx b/docs/platforms/javascript/common/enriching-events/request-isolation/index.mdx index 1084ec01f57364..f03d771f8d06f5 100644 --- a/docs/platforms/javascript/common/enriching-events/request-isolation/index.mdx +++ b/docs/platforms/javascript/common/enriching-events/request-isolation/index.mdx @@ -5,6 +5,7 @@ supported: - javascript.nextjs - javascript.node - javascript.eve + - javascript.mastra - javascript.connect - javascript.express - javascript.fastify diff --git a/docs/platforms/javascript/common/feature-flags/index.mdx b/docs/platforms/javascript/common/feature-flags/index.mdx index 02b943bf8c329e..b1675d674b2653 100644 --- a/docs/platforms/javascript/common/feature-flags/index.mdx +++ b/docs/platforms/javascript/common/feature-flags/index.mdx @@ -6,6 +6,7 @@ sidebar_section: features description: "With Feature Flags, Sentry tracks feature flag evaluations in your application using the Sentry JavaScript SDK, keeps an audit log of feature flag changes, and reports any suspicious updates that may have caused an error." notSupported: - javascript.eve + - javascript.mastra --- ## Prerequisites diff --git a/docs/platforms/javascript/common/install/index.mdx b/docs/platforms/javascript/common/install/index.mdx index 890fe54413bc7a..07508f115f5356 100644 --- a/docs/platforms/javascript/common/install/index.mdx +++ b/docs/platforms/javascript/common/install/index.mdx @@ -4,6 +4,7 @@ sidebar_order: 1 description: "Review our alternate installation methods." notSupported: - javascript.eve + - javascript.mastra - javascript.angular - javascript.astro - javascript.bun diff --git a/docs/platforms/javascript/common/install/loader.mdx b/docs/platforms/javascript/common/install/loader.mdx index 2faf83c9ac603c..d3e03fa9c8abca 100644 --- a/docs/platforms/javascript/common/install/loader.mdx +++ b/docs/platforms/javascript/common/install/loader.mdx @@ -24,6 +24,7 @@ notSupported: - javascript.sveltekit - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/install/npm.mdx b/docs/platforms/javascript/common/install/npm.mdx index ee96257346d9a4..02d5422d9c7f70 100644 --- a/docs/platforms/javascript/common/install/npm.mdx +++ b/docs/platforms/javascript/common/install/npm.mdx @@ -25,6 +25,7 @@ notSupported: - javascript.sveltekit - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/logs/index.mdx b/docs/platforms/javascript/common/logs/index.mdx index 7d4e8f57d22fc1..f6ceea5a991c67 100644 --- a/docs/platforms/javascript/common/logs/index.mdx +++ b/docs/platforms/javascript/common/logs/index.mdx @@ -209,7 +209,7 @@ Sentry.init({ Everything in Sentry is linked by trace. When you're viewing a log, you can jump to the parent trace to see the full request context. When you're viewing a trace, you can see all logs emitted during that operation. This connection makes it easy to move between high-level performance data and detailed diagnostic logs. - **[Traces](/product/trace-explorer/)** — Logs emitted during an active span automatically include `sentry.trace.parent_span_id`. Click through from any log to see the full trace, or filter logs by trace ID to see everything that happened during a specific request. -- **[Session Replay](/product/session-replay/)** — Logs include `sentry.replay_id` when a replay is active. Jump from a log entry directly to the replay to see what the user was doing when the log was emitted. +- **[Session Replay](/product/session-replay/)** — Logs include `sentry.replay_id` when a replay is active. Jump from a log entry directly to the replay to see what the user was doing when the log was emitted. - **[Errors](/product/issues/)** — Logs capture the journey leading up to a failure. When an error occurs, your logs show what data was processed, which code paths executed, and what state the system was in — context that stack traces alone can't provide. ## Best Practices @@ -228,6 +228,6 @@ Any attributes set via `Sentry.setAttribute()` / `Sentry.setAttributes()` (or di ## Related Features - Tracing — Logs are automatically linked to traces, so you can see logs in the context of the request or operation that produced them. -- Session Replay — Logs are automatically linked to replays, letting you jump from a log entry to see what the user was doing. +- Session Replay — Logs are automatically linked to replays, letting you jump from a log entry to see what the user was doing. - Error Monitoring — Use logs to add diagnostic context that helps you understand what led to an error. - Attributes — Set attributes once and have them automatically included on all your logs. diff --git a/docs/platforms/javascript/common/metrics/index.mdx b/docs/platforms/javascript/common/metrics/index.mdx index 38719d739d7c76..1e3ad433ef4e95 100644 --- a/docs/platforms/javascript/common/metrics/index.mdx +++ b/docs/platforms/javascript/common/metrics/index.mdx @@ -34,7 +34,7 @@ With [Sentry's Application Metrics](/product/metrics/), you can send counters, g ## Integrations - + - `elementTimingIntegration` diff --git a/docs/platforms/javascript/common/migration/v7-to-v8/v8-opentelemetry.mdx b/docs/platforms/javascript/common/migration/v7-to-v8/v8-opentelemetry.mdx index d16ba4a9f772f3..f2c096e76c4f31 100644 --- a/docs/platforms/javascript/common/migration/v7-to-v8/v8-opentelemetry.mdx +++ b/docs/platforms/javascript/common/migration/v7-to-v8/v8-opentelemetry.mdx @@ -6,6 +6,7 @@ description: "Learn OpenTelemetry support in SDK 8.x" supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx b/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx index a294374981683e..75417420afe616 100644 --- a/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx +++ b/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx @@ -5,6 +5,7 @@ supported: - javascript.nextjs - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.bun @@ -39,7 +40,7 @@ If you are looking to simply add individual OpenTelemetry instrumentation to you - + If you don't need the full `@sentry/node` SDK and want a simpler way to bridge your existing OpenTelemetry setup with Sentry, consider using lightweight mode with the OTLP integration instead. It requires significantly less manual wiring. diff --git a/docs/platforms/javascript/common/opentelemetry/index.mdx b/docs/platforms/javascript/common/opentelemetry/index.mdx index 468373c3a60254..fbde8fe769b4c0 100644 --- a/docs/platforms/javascript/common/opentelemetry/index.mdx +++ b/docs/platforms/javascript/common/opentelemetry/index.mdx @@ -7,6 +7,7 @@ supported: - javascript.nextjs - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.bun diff --git a/docs/platforms/javascript/common/opentelemetry/using-opentelemetry-apis.mdx b/docs/platforms/javascript/common/opentelemetry/using-opentelemetry-apis.mdx index 8d0aaa5120a4a3..40bc8d5179743b 100644 --- a/docs/platforms/javascript/common/opentelemetry/using-opentelemetry-apis.mdx +++ b/docs/platforms/javascript/common/opentelemetry/using-opentelemetry-apis.mdx @@ -5,6 +5,7 @@ supported: - javascript.nextjs - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.bun diff --git a/docs/platforms/javascript/common/session-replay/configuration.mdx b/docs/platforms/javascript/common/session-replay/configuration.mdx index 84acbfae9b5a31..e60c10c2290aa3 100644 --- a/docs/platforms/javascript/common/session-replay/configuration.mdx +++ b/docs/platforms/javascript/common/session-replay/configuration.mdx @@ -8,6 +8,7 @@ notSupported: - javascript.deno - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/session-replay/index.mdx b/docs/platforms/javascript/common/session-replay/index.mdx index 3425738c5b1201..d5ecc2efacf982 100644 --- a/docs/platforms/javascript/common/session-replay/index.mdx +++ b/docs/platforms/javascript/common/session-replay/index.mdx @@ -10,6 +10,7 @@ notSupported: - javascript.deno - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/session-replay/issue-types.mdx b/docs/platforms/javascript/common/session-replay/issue-types.mdx index 952e3ec81101c7..bf47c56691c1cf 100644 --- a/docs/platforms/javascript/common/session-replay/issue-types.mdx +++ b/docs/platforms/javascript/common/session-replay/issue-types.mdx @@ -8,6 +8,7 @@ notSupported: - javascript.deno - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/session-replay/privacy.mdx b/docs/platforms/javascript/common/session-replay/privacy.mdx index 0db38b2eeb2c14..4293be0fbaf747 100644 --- a/docs/platforms/javascript/common/session-replay/privacy.mdx +++ b/docs/platforms/javascript/common/session-replay/privacy.mdx @@ -8,6 +8,7 @@ notSupported: - javascript.deno - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/session-replay/troubleshooting.mdx b/docs/platforms/javascript/common/session-replay/troubleshooting.mdx index b3c077f924ac48..440d3a34f732bc 100644 --- a/docs/platforms/javascript/common/session-replay/troubleshooting.mdx +++ b/docs/platforms/javascript/common/session-replay/troubleshooting.mdx @@ -9,6 +9,7 @@ notSupported: - javascript.deno - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/session-replay/understanding-sessions.mdx b/docs/platforms/javascript/common/session-replay/understanding-sessions.mdx index 65b23532e112f9..9acad435ba9129 100644 --- a/docs/platforms/javascript/common/session-replay/understanding-sessions.mdx +++ b/docs/platforms/javascript/common/session-replay/understanding-sessions.mdx @@ -8,6 +8,7 @@ notSupported: - javascript.deno - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/sourcemaps/uploading/hosting-publicly.mdx b/docs/platforms/javascript/common/sourcemaps/uploading/hosting-publicly.mdx index 268c9c4edaed3a..47620afa80fdd2 100644 --- a/docs/platforms/javascript/common/sourcemaps/uploading/hosting-publicly.mdx +++ b/docs/platforms/javascript/common/sourcemaps/uploading/hosting-publicly.mdx @@ -5,6 +5,7 @@ sidebar_order: 10 notSupported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/tracing/distributed-tracing/dealing-with-cors-issues/index.mdx b/docs/platforms/javascript/common/tracing/distributed-tracing/dealing-with-cors-issues/index.mdx index 2d5297f318241c..9a0469fb29ebb3 100644 --- a/docs/platforms/javascript/common/tracing/distributed-tracing/dealing-with-cors-issues/index.mdx +++ b/docs/platforms/javascript/common/tracing/distributed-tracing/dealing-with-cors-issues/index.mdx @@ -5,6 +5,7 @@ notSupported: - javascript.cordova - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/tracing/index.mdx b/docs/platforms/javascript/common/tracing/index.mdx index 79d730c922d433..91064cd58bc001 100644 --- a/docs/platforms/javascript/common/tracing/index.mdx +++ b/docs/platforms/javascript/common/tracing/index.mdx @@ -95,7 +95,7 @@ You can also manually start spans to instrument specific parts of your code. Thi - Sending Span Metrics: Learn how to capture metrics on your spans - + ## Replay Linking @@ -133,7 +133,7 @@ Instead, neither `tracesSampleRate` nor `tracesSampler` should be defined in you ## Related Features -- Session Replay — Traces appear in the Replay timeline, showing performance data alongside the user's actions. +- Session Replay — Traces appear in the Replay timeline, showing performance data alongside the user's actions. - Logs — Logs emitted during a trace are automatically linked, giving you diagnostic context for each operation. ## Tracing Next Steps diff --git a/docs/platforms/javascript/common/tracing/instrumentation/caches-module.mdx b/docs/platforms/javascript/common/tracing/instrumentation/caches-module.mdx index af5c625753735f..04cf8593c1dbd8 100644 --- a/docs/platforms/javascript/common/tracing/instrumentation/caches-module.mdx +++ b/docs/platforms/javascript/common/tracing/instrumentation/caches-module.mdx @@ -5,6 +5,7 @@ description: "Learn how to manually instrument your code to use Sentry's Cache m supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect @@ -51,7 +52,7 @@ If you're using anything other than Sentry's Redis integration, you'll need to m You'll need to create two spans - one indicating that something is being put into the cache, and a second one indicating that something is being fetched from the cache. - + Make sure that there's an active span before you create your cache spans. If you're using a web framework like Express, a span will be created for you automatically. See Tracing for more information. diff --git a/docs/platforms/javascript/common/tracing/instrumentation/queues-module.mdx b/docs/platforms/javascript/common/tracing/instrumentation/queues-module.mdx index 752ce6b6335319..36c4f25dfea893 100644 --- a/docs/platforms/javascript/common/tracing/instrumentation/queues-module.mdx +++ b/docs/platforms/javascript/common/tracing/instrumentation/queues-module.mdx @@ -5,6 +5,7 @@ sidebar_order: 20 supported: - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/troubleshooting/supported-browsers.mdx b/docs/platforms/javascript/common/troubleshooting/supported-browsers.mdx index 0c6f6ebff99b36..32a83dd416604f 100644 --- a/docs/platforms/javascript/common/troubleshooting/supported-browsers.mdx +++ b/docs/platforms/javascript/common/troubleshooting/supported-browsers.mdx @@ -6,6 +6,7 @@ notSupported: - javascript.cordova - javascript.node - javascript.eve + - javascript.mastra - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/user-feedback/configuration/index.mdx b/docs/platforms/javascript/common/user-feedback/configuration/index.mdx index e776b6bb0d1d7f..26359e0ac67968 100644 --- a/docs/platforms/javascript/common/user-feedback/configuration/index.mdx +++ b/docs/platforms/javascript/common/user-feedback/configuration/index.mdx @@ -5,9 +5,10 @@ description: Learn about general User Feedback configuration fields. og_image: /og-images/platforms-javascript-common-user-feedback-configuration.png notSupported: - javascript.eve + - javascript.mastra --- - + ## User Feedback Widget diff --git a/docs/platforms/javascript/common/user-feedback/configuration/index__v7.x.mdx b/docs/platforms/javascript/common/user-feedback/configuration/index__v7.x.mdx index 30060620d149fb..e696f17382cbe5 100644 --- a/docs/platforms/javascript/common/user-feedback/configuration/index__v7.x.mdx +++ b/docs/platforms/javascript/common/user-feedback/configuration/index__v7.x.mdx @@ -8,6 +8,7 @@ og_image: >- /og-images/platforms-javascript-common-user-feedback-configuration-index__v7.x.png notSupported: - javascript.eve + - javascript.mastra --- @@ -16,7 +17,7 @@ In version 7 of our JavaScript SDK, User Feedback was released as a Beta integra - + ## User Feedback Widget diff --git a/docs/platforms/javascript/common/user-feedback/index.mdx b/docs/platforms/javascript/common/user-feedback/index.mdx index e1972e64c8a427..55ce4afc68739f 100644 --- a/docs/platforms/javascript/common/user-feedback/index.mdx +++ b/docs/platforms/javascript/common/user-feedback/index.mdx @@ -7,6 +7,7 @@ sidebar_section: features og_image: /og-images/platforms-javascript-common-user-feedback.png notSupported: - javascript.eve + - javascript.mastra --- The User Feedback feature allows you to collect user feedback from anywhere inside your application at any time, without needing an error event to occur first. The [Crash-Report Modal](#crash-report-modal) feature, on the other hand, lets you prompt for user feedback when an error event occurs. @@ -17,7 +18,7 @@ The User Feedback feature allows you to collect user feedback from anywhere insi feature. Lower versions may have limited functionality. - + ## User Feedback Widget diff --git a/docs/platforms/javascript/guides/mastra/cloudflare.mdx b/docs/platforms/javascript/guides/mastra/cloudflare.mdx new file mode 100644 index 00000000000000..4ef25a0cc8bc76 --- /dev/null +++ b/docs/platforms/javascript/guides/mastra/cloudflare.mdx @@ -0,0 +1,119 @@ +--- +title: Cloudflare Quick Start +sidebar_order: 0.5 +description: Learn how to send Mastra agent traces, model calls, tool executions, and errors to Sentry from Cloudflare Workers. +--- + +[Mastra](https://mastra.ai/) is a TypeScript framework for building AI applications and agents. This guide sets up the Sentry SDK in a Mastra app running on Cloudflare Workers so agent runs, model generations, tool calls, workflows, and errors flow into [Sentry Agent Tracing](/product/agents/). + + + +Running Mastra on Node.js? Follow the [Mastra Quick Start](../) instead. + +## Prerequisites + +Before you begin, you need: + +- A Sentry [account](https://sentry.io/signup/) and [project](/product/projects/). The project's DSN tells the SDK where to send data. +- A Mastra application using `@mastra/core` version `1.63.2` or later. +- `@mastra/observability`. Sentry's Mastra integration needs it to attach to Mastra's telemetry pipeline. +- `@sentry/cloudflare` version `11.0.0-rc.0` or later. + + + +## Install + +Choose the features you want to configure, and this guide will show you how: + + + +Install the Sentry Cloudflare SDK and Mastra's observability package: + +```bash {tabTitle:npm} +npm install @sentry/cloudflare@^11.0.0-rc.0 @mastra/observability@latest +``` + +```bash {tabTitle:yarn} +yarn add @sentry/cloudflare@^11.0.0-rc.0 @mastra/observability@latest +``` + +```bash {tabTitle:pnpm} +pnpm add @sentry/cloudflare@^11.0.0-rc.0 @mastra/observability@latest +``` + +If Mastra can't load `@mastra/observability`, the integration warns and creates no spans. + +## Configure + +Add the Sentry Vite plugin to your Vite config. It wraps your Worker entry with Sentry at build time: + +```typescript {filename:vite.config.mts} +import { cloudflare } from "@cloudflare/vite-plugin"; +import { sentryCloudflareVitePlugin } from "@sentry/cloudflare/vite"; +import { defineConfig } from "vite"; + +export default defineConfig({ + plugins: [cloudflare(), sentryCloudflareVitePlugin()], +}); +``` + +Create an `instrument.server.ts` file next to your Worker entry (the file named in Wrangler's `main`). The plugin picks it up by convention and uses its default export as the Sentry options: + +```typescript {filename:src/instrument.server.ts} +export default (env: Env) => ({ + dsn: "___PUBLIC_DSN___", + // ___PRODUCT_OPTION_START___ performance + + // Set tracesSampleRate to 1.0 to capture 100% + // of spans for tracing. + // We recommend adjusting this value in production. + tracesSampleRate: 1.0, + // ___PRODUCT_OPTION_END___ performance +}); +``` + +Enable Node.js compatibility in your `wrangler.toml` so Mastra and the SDK can run on Workers: + +```toml {filename:wrangler.toml} +main = "src/index.ts" +compatibility_date = "2026-04-26" +compatibility_flags = ["nodejs_compat"] +``` + +With the plugin in place, `Sentry.init()` runs automatically — you don't add an instrument file or `--import` flag as you do for Node.js. + + + +### Privacy Controls + +The SDK will record generative AI inputs and outputs (the prompts your agent sends and the model responses it receives) by default. To turn recording off, set `genAI.inputs` and `genAI.outputs` to `false` in `dataCollection`: + +```typescript {filename:src/instrument.server.ts} +export default (env: Env) => ({ + dsn: "___PUBLIC_DSN___", + dataCollection: { + genAI: { inputs: false, outputs: false }, + }, +}); +``` + +See [`dataCollection` documentation](../configuration/options/#dataCollection) for details on privacy control options. + + + + + + + + + + + +## Supported Versions + +- `@sentry/cloudflare`: `>=11.0.0-rc.0` +- `@mastra/core`: `>=1.63.2` +- `@mastra/observability`: required for the integration to create spans diff --git a/docs/platforms/javascript/guides/mastra/index.mdx b/docs/platforms/javascript/guides/mastra/index.mdx index 57252d6e24262f..1a221d917d1869 100644 --- a/docs/platforms/javascript/guides/mastra/index.mdx +++ b/docs/platforms/javascript/guides/mastra/index.mdx @@ -1,8 +1,9 @@ --- title: Mastra -description: Learn how to send Mastra agent traces, model calls, and tool executions to Sentry. +description: Learn how to send Mastra agent traces, model calls, tool executions, and errors to Sentry with the Sentry SDK. sdk: sentry.javascript.node -inheritCommonContent: false +fallbackGuide: javascript.node +icon: mastra categories: - javascript - server @@ -14,126 +15,149 @@ keywords: - agent tracing --- -[Mastra](https://mastra.ai/) is a TypeScript framework for building AI applications and agents. This guide configures Mastra's `@mastra/sentry` exporter to send agent runs, model generations, tool calls, and workflows to [Sentry Agent Tracing](/product/agents/). +[Mastra](https://mastra.ai/) is a TypeScript framework for building AI applications and agents. This guide sets up the Sentry SDK in a Mastra app so agent runs, model generations, tool calls, workflows, and errors flow into [Sentry Agent Tracing](/product/agents/). -The exporter uses `@sentry/node` internally, so it can send Mastra telemetry directly to a Sentry project without another Sentry SDK. + + +Running Mastra on Cloudflare Workers? Follow the [Cloudflare Quick Start](./cloudflare/) instead. ## Prerequisites Before you begin, you need: -- A Sentry [account](https://sentry.io/signup/) and [project](/product/projects/). The project's DSN tells the exporter where to send data. -- A Mastra application using `@mastra/core`. -- Node.js 22.13.0 or newer. The Mastra Sentry exporter does not support browser or edge runtimes. +- A Sentry [account](https://sentry.io/signup/) and [project](/product/projects/). The project's DSN tells the SDK where to send data. +- A Mastra application using `@mastra/core` version `1.63.2` or later. +- `@mastra/observability`. Sentry's Mastra integration needs it to attach to Mastra's telemetry pipeline. +- `@sentry/node` version `11.0.0-rc.0` or later, or [`@sentry/cloudflare@^11.0.0-rc.0` when running on Cloudflare](./cloudflare). Browser runtimes are not supported. ## Install -Install the Mastra Sentry exporter and observability packages: +Choose the features you want to configure, and this guide will show you how: + + + +Install the Sentry Node SDK and Mastra's observability package: + + ```bash {tabTitle:npm} -npm install @mastra/sentry@latest @mastra/observability@latest +npm install @sentry/node@^11.0.0-rc.0 @mastra/observability@latest ``` ```bash {tabTitle:yarn} -yarn add @mastra/sentry@latest @mastra/observability@latest +yarn add @sentry/node@^11.0.0-rc.0 @mastra/observability@latest ``` ```bash {tabTitle:pnpm} -pnpm add @mastra/sentry@latest @mastra/observability@latest +pnpm add @sentry/node@^11.0.0-rc.0 @mastra/observability@latest ``` -You don't need to install or initialize `@sentry/node` separately for this setup. The exporter includes it as a dependency and initializes it for you. - -## Configure + -Add your Sentry DSN to the environment. You can find it in **Project Settings > Client Keys (DSN)**. + -```bash {filename:.env} -SENTRY_DSN=___PUBLIC_DSN___ +```bash {tabTitle:npm} +npm install @sentry/node@^11.0.0-rc.0 @sentry/profiling-node@^11.0.0-rc.0 @mastra/observability@latest ``` -Add the Sentry exporter to your Mastra observability configuration: - -```typescript {filename:src/mastra/index.ts} -import { Mastra } from "@mastra/core"; -import { Observability } from "@mastra/observability"; -import { SentryExporter } from "@mastra/sentry"; - -export const mastra = new Mastra({ - // agents, workflows, ... - observability: new Observability({ - configs: { - sentry: { - serviceName: "my-mastra-service", - exporters: [ - new SentryExporter({ - tracesSampleRate: 1.0, - }), - ], - }, - }, - }), -}); +```bash {tabTitle:yarn} +yarn add @sentry/node@^11.0.0-rc.0 @sentry/profiling-node@^11.0.0-rc.0 @mastra/observability@latest ``` -Mastra sends agent data to Sentry as traces. Keep `tracesSampleRate` above `0` to enable tracing. The example sends every trace so you can verify the setup; lower the value in production if needed. - -The exporter also reads `SENTRY_ENVIRONMENT` and `SENTRY_RELEASE` when those environment variables are set. You can instead pass `dsn`, `environment`, and `release` directly to `SentryExporter`. - - +```bash {tabTitle:pnpm} +pnpm add @sentry/node@^11.0.0-rc.0 @sentry/profiling-node@^11.0.0-rc.0 @mastra/observability@latest +``` -This setup covers telemetry produced by Mastra. If a frontend or another service communicates with a separate Mastra server, configure that application with its own [JavaScript framework guide](/platforms/javascript/) and use this guide for the Mastra service. + -`@mastra/sentry` initializes `@sentry/node` internally. If Mastra runs in the same process as an application that already calls `Sentry.init()`, don't initialize Sentry a second time without first confirming that the two SDK setups are compatible. +If Mastra can't load `@mastra/observability`, the integration warns and creates no spans. - +## Configure -## Verify +Create an instrument file that calls `Sentry.init()`, and preload it so Sentry starts before Mastra and the AI SDK load. + +Place the file in your Mastra `public/` directory. `mastra build` and `mastra dev` copy `public/` into the build output, so the file lands next to the compiled server as `instrument.mjs`, where `--import=./instrument.mjs` can resolve it: + +```javascript {filename:src/mastra/public/instrument.mjs} +import * as Sentry from "@sentry/node"; +// ___PRODUCT_OPTION_START___ profiling +import { nodeProfilingIntegration } from "@sentry/profiling-node"; +// ___PRODUCT_OPTION_END___ profiling + +Sentry.init({ + dsn: "___PUBLIC_DSN___", + // ___PRODUCT_OPTION_START___ profiling + + integrations: [ + // Add our Profiling integration + nodeProfilingIntegration(), + ], + // ___PRODUCT_OPTION_END___ profiling + // ___PRODUCT_OPTION_START___ performance + + // Set tracesSampleRate to 1.0 to capture 100% + // of spans for tracing. + // We recommend adjusting this value in production. + // Learn more at + // https://docs.sentry.io/platforms/javascript/guides/node/configuration/options/#tracesSampleRate + tracesSampleRate: 1.0, + // ___PRODUCT_OPTION_END___ performance + // ___PRODUCT_OPTION_START___ profiling + + // Set profileSessionSampleRate to 1.0 to profile every session. + // Learn more at + // https://docs.sentry.io/platforms/javascript/configuration/options/#profileSessionSampleRate + profileSessionSampleRate: 1.0, + // ___PRODUCT_OPTION_END___ profiling +}); +``` -Run one of your Mastra agents, then open the **Agents** page in your Sentry project. You should see an agent run with its model generations, tool calls, token usage, and any related errors. +Preload the instrument file when you start Mastra by passing it through `--custom-args`: -If no data appears, confirm that: +```json {filename:package.json} +{ + "scripts": { + "dev": "mastra dev --custom-args=\"--import=./instrument.mjs\"", + "start": "mastra start --custom-args=\"--import=./instrument.mjs\"" + } +} +``` -- `SENTRY_DSN` belongs to the Sentry project you're viewing. -- `tracesSampleRate` is greater than `0`. -- Your application completed at least one agent run after you added the exporter. + -## Next Steps +### Privacy Controls -- [Name your agents](/product/agents/naming/) so you can identify them in the Agents Dashboard. -- Add a stable thread ID to group multi-turn chats in [Conversations](/product/agents/conversations/). Mastra maps `metadata.threadId` to `gen_ai.conversation.id`. -- Review the [Mastra Sentry exporter reference](https://mastra.ai/integrations/observability/sentry). -- Use the appropriate [JavaScript framework guide](/platforms/javascript/) for application monitoring in a separate frontend or service. +The SDK will record generative AI inputs and outputs (the prompts your agent sends and the model responses it receives) by default. To turn recording off, set `genAI.inputs` and `genAI.outputs` to `false` in `dataCollection`: - +```javascript {filename:src/mastra/public/instrument.mjs} +Sentry.init({ + dsn: "___PUBLIC_DSN___", + dataCollection: { + genAI: { inputs: false, outputs: false }, + }, +}); +``` -Mastra maps its span types to Sentry operations for the Agents dashboards: +See [`dataCollection` documentation](./configuration/options/#dataCollection) for details on privacy control options. -| Mastra Span Type | Sentry Operation | -| ---------------------- | ---------------------- | -| `AGENT_RUN` | `gen_ai.invoke_agent` | -| `MODEL_GENERATION` | `gen_ai.chat` | -| `TOOL_CALL` | `gen_ai.execute_tool` | -| `MCP_TOOL_CALL` | `gen_ai.execute_tool` | -| `WORKFLOW_RUN` | `workflow.run` | -| `WORKFLOW_STEP` | `workflow.step` | -| `WORKFLOW_CONDITIONAL` | `workflow.conditional` | -| `WORKFLOW_PARALLEL` | `workflow.parallel` | -| `WORKFLOW_LOOP` | `workflow.loop` | -| `PROCESSOR_RUN` | `ai.processor` | -| `GENERIC` | `ai.span` | + -`MODEL_STEP` and `MODEL_CHUNK` spans are skipped. Their data is aggregated into parent `MODEL_GENERATION` spans. + -Spans are tagged with `sentry.origin: auto.ai.mastra`. + - + - + ## Supported Versions -- `@mastra/sentry`: `>=1.0.0` -- Node.js: `>=22.13.0` +- `@sentry/node`: `>=11.0.0-rc.0` +- `@sentry/cloudflare`: `>=11.0.0-rc.0` +- `@mastra/core`: `>=1.63.2` +- `@mastra/observability`: required for the integration to create spans diff --git a/includes/mastra/captured-summary.mdx b/includes/mastra/captured-summary.mdx new file mode 100644 index 00000000000000..653845bed99ed8 --- /dev/null +++ b/includes/mastra/captured-summary.mdx @@ -0,0 +1,3 @@ +With this setup, Sentry captures errors thrown by your agents and AI spans for every run (agent runs, model generations, tool calls, workflows, token usage, and latency) along with outgoing HTTP and `fetch` requests. Prompts and model outputs are recorded on your AI spans by default. + +To review what's captured and turn recording of prompts and responses off, see [Privacy Controls](#privacy-controls) below. diff --git a/includes/mastra/link-conversations.mdx b/includes/mastra/link-conversations.mdx new file mode 100644 index 00000000000000..a2d7ec2f68e104 --- /dev/null +++ b/includes/mastra/link-conversations.mdx @@ -0,0 +1,16 @@ +### Link Conversations + +Sentry groups a multi-turn chat into a single [Conversation](/product/agents/conversations/) automatically — there's no Sentry-specific setup. Mastra maps its memory thread id to `gen_ai.conversation.id`, so agent runs that share a thread id are grouped into one conversation. + +Threads come from Mastra's own memory feature. If your app already passes a thread when it calls an agent — as multi-turn chat apps do — Sentry picks it up as the conversation id with no extra work: + +```typescript +const result = await agent.generate(message, { + memory: { + thread: "session-123", + resource: "user-456", + }, +}); +``` + +Your agent needs a storage provider configured before Mastra accepts the `memory` option. Reuse the same thread id across the messages in a session. diff --git a/includes/mastra/next-steps.mdx b/includes/mastra/next-steps.mdx new file mode 100644 index 00000000000000..d464558613e6b4 --- /dev/null +++ b/includes/mastra/next-steps.mdx @@ -0,0 +1,5 @@ +## Next Steps + +- [Name your agents](/product/agents/naming/) so you can identify them in the Agents Dashboard. +- [Track AI agent spend with dashboards and alerts](https://sentry.io/cookbook/monitor-ai-agent-spend-with-dashboards-and-alerts/): build a dashboard for cost, tokens, models, and conversations. +- Use the appropriate [JavaScript framework guide](/platforms/javascript/) for application monitoring in a separate frontend or service. diff --git a/includes/mastra/sdk-setup-alert.mdx b/includes/mastra/sdk-setup-alert.mdx new file mode 100644 index 00000000000000..b4c80d2fe94c0b --- /dev/null +++ b/includes/mastra/sdk-setup-alert.mdx @@ -0,0 +1,5 @@ + + +This guide covers the Sentry SDK-based setup, which replaces the earlier `@mastra/sentry` exporter. It requires JavaScript SDK version `11.0.0-rc.0` or later. If you previously used the `@mastra/sentry` exporter, remove it from your Mastra `exporters` — it calls `Sentry.init()` itself and conflicts with the built-in integration. + + diff --git a/includes/mastra/verify.mdx b/includes/mastra/verify.mdx new file mode 100644 index 00000000000000..190a1b6683dd55 --- /dev/null +++ b/includes/mastra/verify.mdx @@ -0,0 +1,10 @@ +## Verify + +Run one of your Mastra agents, then open [Agent Tracing](/product/agents/) in Sentry and select the run. The timeline shows the model generations, tool calls, token usage, and latency for that run, plus any errors your agent threw. + +If no data appears, confirm that: + +- The `dsn` belongs to the Sentry project you're viewing. +- `tracesSampleRate` is greater than `0`. +- `@mastra/observability` is installed, so the integration can attach to Mastra's telemetry. +- Your application completed at least one agent run after you added the setup. diff --git a/includes/mastra/what-gets-captured.mdx b/includes/mastra/what-gets-captured.mdx new file mode 100644 index 00000000000000..4e1440f1d54d9e --- /dev/null +++ b/includes/mastra/what-gets-captured.mdx @@ -0,0 +1,18 @@ + + +Sentry's Mastra integration maps Mastra's span types to Sentry operations for the Agents dashboards: + +| Mastra Span Type | Sentry Operation | +| -------------------- | --------------------- | +| `AGENT_RUN` | `gen_ai.invoke_agent` | +| `WORKFLOW_RUN` | `gen_ai.invoke_agent` | +| `MODEL_GENERATION` | `gen_ai.chat` | +| `TOOL_CALL` | `gen_ai.execute_tool` | +| `MCP_TOOL_CALL` | `gen_ai.execute_tool` | +| `PROVIDER_TOOL_CALL` | `gen_ai.execute_tool` | +| `CLIENT_TOOL_CALL` | `gen_ai.execute_tool` | +| `RAG_EMBEDDING` | `gen_ai.embeddings` | + +Spans are tagged with `sentry.origin: auto.ai.mastra`. + + diff --git a/redirects.js b/redirects.js index d84976cee1d498..ce4a3cae7c4551 100644 --- a/redirects.js +++ b/redirects.js @@ -2312,14 +2312,11 @@ const userDocsRedirects = [ // Cloudflare setup pages moved from Features to Installation Methods. { source: '/platforms/javascript/guides/cloudflare/features/vite-plugin.md', - destination: - '/platforms/javascript/guides/cloudflare/install/vite-plugin.md', + destination: '/platforms/javascript/guides/cloudflare/install/vite-plugin.md', }, { - source: - '/platforms/javascript/guides/cloudflare/features/vite-plugin/:path*', - destination: - '/platforms/javascript/guides/cloudflare/install/vite-plugin/:path*', + source: '/platforms/javascript/guides/cloudflare/features/vite-plugin/:path*', + destination: '/platforms/javascript/guides/cloudflare/install/vite-plugin/:path*', }, // Cloudflare AI pages moved from Features to Agent Tracing. { @@ -2340,56 +2337,72 @@ const userDocsRedirects = [ destination: '/platforms/javascript/guides/cloudflare/agent-tracing/workers-ai/:path*', }, - // Mastra lives under Agent Tracing alongside the other AI library pages. - // Map older names directly to avoid redirect chains. + // Mastra lifted from the Agent Tracing integration page to a standalone guide. + // Map older names directly to the guide to avoid redirect chains. + { + source: '/platforms/javascript/agent-tracing/mastra.md', + destination: '/platforms/javascript/guides/mastra/', + }, + { + source: '/platforms/javascript/agent-tracing/mastra/:path*', + destination: '/platforms/javascript/guides/mastra/', + }, + { + source: '/platforms/javascript/guides/:guide/agent-tracing/mastra.md', + destination: '/platforms/javascript/guides/mastra/', + }, + { + source: '/platforms/javascript/guides/:guide/agent-tracing/mastra/:path*', + destination: '/platforms/javascript/guides/mastra/', + }, { source: '/platforms/javascript/configuration/integrations/mastra.md', - destination: '/platforms/javascript/agent-tracing/mastra.md', + destination: '/platforms/javascript/guides/mastra/', }, { source: '/platforms/javascript/configuration/integrations/mastra/:path*', - destination: '/platforms/javascript/agent-tracing/mastra/:path*', + destination: '/platforms/javascript/guides/mastra/', }, { source: '/platforms/javascript/guides/:guide/configuration/integrations/mastra.md', - destination: '/platforms/javascript/guides/:guide/agent-tracing/mastra.md', + destination: '/platforms/javascript/guides/mastra/', }, { source: '/platforms/javascript/guides/:guide/configuration/integrations/mastra/:path*', - destination: '/platforms/javascript/guides/:guide/agent-tracing/mastra/:path*', + destination: '/platforms/javascript/guides/mastra/', }, { source: '/platforms/javascript/ai-agent-monitoring/mastra.md', - destination: '/platforms/javascript/agent-tracing/mastra.md', + destination: '/platforms/javascript/guides/mastra/', }, { source: '/platforms/javascript/ai-agent-monitoring/mastra/:path*', - destination: '/platforms/javascript/agent-tracing/mastra/:path*', + destination: '/platforms/javascript/guides/mastra/', }, { source: '/platforms/javascript/guides/:guide/ai-agent-monitoring/mastra.md', - destination: '/platforms/javascript/guides/:guide/agent-tracing/mastra.md', + destination: '/platforms/javascript/guides/mastra/', }, { source: '/platforms/javascript/guides/:guide/ai-agent-monitoring/mastra/:path*', - destination: '/platforms/javascript/guides/:guide/agent-tracing/mastra/:path*', + destination: '/platforms/javascript/guides/mastra/', }, { source: '/platforms/javascript/ai-agent-tracing/mastra.md', - destination: '/platforms/javascript/agent-tracing/mastra.md', + destination: '/platforms/javascript/guides/mastra/', }, { source: '/platforms/javascript/ai-agent-tracing/mastra/:path*', - destination: '/platforms/javascript/agent-tracing/mastra/:path*', + destination: '/platforms/javascript/guides/mastra/', }, { source: '/platforms/javascript/guides/:guide/ai-agent-tracing/mastra.md', - destination: '/platforms/javascript/guides/:guide/agent-tracing/mastra.md', + destination: '/platforms/javascript/guides/mastra/', }, { source: '/platforms/javascript/guides/:guide/ai-agent-tracing/mastra/:path*', - destination: '/platforms/javascript/guides/:guide/agent-tracing/mastra/:path*', + destination: '/platforms/javascript/guides/mastra/', }, // Eve lifted from the Agent Tracing integration page to a standalone guide { diff --git a/src/components/sidebar/platformSidebar.tsx b/src/components/sidebar/platformSidebar.tsx index 8f6ca1b738fd0b..27c660d7c14375 100644 --- a/src/components/sidebar/platformSidebar.tsx +++ b/src/components/sidebar/platformSidebar.tsx @@ -23,6 +23,19 @@ const AGENT_TRACING_ALIAS_PATH_OVERRIDES: Record> const UNALIASED_AGENT_TRACING_PAGES = new Set(['manual-instrumentation']); const CLOUDFLARE_AGENT_TRACING_PAGE_SLUGS = ['agents-sdk', 'workers-ai']; +// Standalone JavaScript guides that own their Agent Tracing setup. They're +// surfaced in every JavaScript Agent Tracing sidebar as link-only entries that +// navigate to the dedicated guide instead of a page under the current guide. +const STANDALONE_AGENT_TRACING_GUIDES: { + guide: string; + sidebar_order: number; + slug: string; + title: string; +}[] = [ + {guide: 'mastra', slug: 'mastra', title: 'Mastra', sidebar_order: 26}, + {guide: 'eve', slug: 'eve', title: 'Eve', sidebar_order: 27}, +]; + export function PlatformSidebar({ rootNode, platformName, @@ -126,10 +139,31 @@ export function PlatformSidebar({ }; }).filter(alias => alias !== undefined); + // Surface the standalone Mastra and Eve guides from every JavaScript Agent + // Tracing sidebar. Their links navigate to the dedicated guide instead of + // creating an Agent Tracing page under the current guide. + const standaloneGuideAgentTracingAliases = + platformName !== 'javascript' || !agentTracingNode + ? [] + : STANDALONE_AGENT_TRACING_GUIDES.filter( + guideData => guideData.guide !== guideName + ).map(guideData => ({ + context: { + platform: {platformName}, + title: guideData.title, + sidebar_order: guideData.sidebar_order, + href: `/platforms/javascript/guides/${guideData.guide}/`, + }, + path: `/${pathRoot}/agent-tracing/${guideData.slug}/`, + })); + const tree = toTree( - [...nodes, ...agentTracingAliases, ...cloudflareAgentTracingAliases].filter( - n => !!n.context - ) + [ + ...nodes, + ...agentTracingAliases, + ...cloudflareAgentTracingAliases, + ...standaloneGuideAgentTracingAliases, + ].filter(n => !!n.context) ); // Use "Getting Started" for Next.js, default title for other platforms