From f1f743030607e1cccb04d5c7ee4d0c8213cf8672 Mon Sep 17 00:00:00 2001 From: RulaKhaled Date: Fri, 18 Sep 2026 14:18:01 +0300 Subject: [PATCH 01/13] docs(javascript): Give Flue its own guide with SDK-based setup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Flue page documented the `flue add tooling sentry` blueprint, which wires Sentry up through `@flue/opentelemetry`. The SDK now instruments Flue directly, so this replaces it with a guide per runtime — the two setups differ enough that one page with platform sections was hiding the important parts. On Node the SDK is registered with `instrument(Sentry.createFlueInstrumentation())`. On Cloudflare the Vite plugin registers it at build time, but each agent runs in its own Durable Object, so the guide leads with the wrapper that gets `Sentry.init()` into that isolate — without it nothing is captured and nothing errors, which is the failure people hit first. Co-Authored-By: Claude Opus 5 --- .../javascript/common/agent-tracing/flue.mdx | 229 ------------------ .../javascript/guides/flue/cloudflare.mdx | 148 +++++++++++ .../javascript/guides/flue/index.mdx | 128 ++++++++++ includes/flue/captured-summary.mdx | 3 + includes/flue/next-steps.mdx | 5 + includes/flue/sdk-setup-alert.mdx | 5 + includes/flue/verify.mdx | 9 + includes/flue/what-gets-captured.mdx | 15 ++ redirects.js | 28 +++ 9 files changed, 341 insertions(+), 229 deletions(-) delete mode 100644 docs/platforms/javascript/common/agent-tracing/flue.mdx create mode 100644 docs/platforms/javascript/guides/flue/cloudflare.mdx create mode 100644 docs/platforms/javascript/guides/flue/index.mdx create mode 100644 includes/flue/captured-summary.mdx create mode 100644 includes/flue/next-steps.mdx create mode 100644 includes/flue/sdk-setup-alert.mdx create mode 100644 includes/flue/verify.mdx create mode 100644 includes/flue/what-gets-captured.mdx diff --git a/docs/platforms/javascript/common/agent-tracing/flue.mdx b/docs/platforms/javascript/common/agent-tracing/flue.mdx deleted file mode 100644 index db903967a4e56..0000000000000 --- a/docs/platforms/javascript/common/agent-tracing/flue.mdx +++ /dev/null @@ -1,229 +0,0 @@ ---- -title: Flue -sidebar_title: Flue -sidebar_order: 28 -description: "Learn how to send Flue agent traces, logs, and errors to Sentry." -supported: - - javascript.node - - javascript.eve - - javascript.cloudflare ---- - -[Flue](https://flueframework.com/) is an open TypeScript framework for building AI agents, made by the Astro team. Flue ships an official Sentry blueprint that installs the Sentry SDK, wires Flue's OpenTelemetry instrumentation into it, and bridges Flue's runtime events to Sentry. You don't need to add Sentry calls to each agent or tool. - -With a valid `SENTRY_DSN`, Flue can send three connected signals to Sentry: - -- **Traces**: When `SENTRY_TRACES_SAMPLE_RATE` is above `0`, Flue sends its `invoke_agent`, `chat`, and `execute_tool` span hierarchy with token usage, following the OpenTelemetry GenAI semantic conventions. Sentry shows these traces in [trace explorer](/product/trace-explorer/), and builds a wider view for debugging your [agents](/product/agents/). -- **Logs**: With `enableLogs: true` in the generated Sentry SDK configuration, every `log.info`, `log.warn`, and `log.error` call from your tools and hooks appears as Sentry Logs. When tracing is enabled, Sentry correlates these logs with the trace. -- **Issues**: The generated bridge captures terminal failures, such as a failed prompt, skill, task, or shell operation, as Sentry error issues. Recovered tool errors remain diagnostic context on the trace when tracing is enabled and don't create issues. - - - - - -The blueprint installs `@sentry/node` for the Node.js target and `@sentry/cloudflare` for the Cloudflare target. Read the [Cloudflare version](/platforms/javascript/guides/cloudflare/agent-tracing/flue/) of this page if you deploy Flue agents to Cloudflare. - - - - - -## Installation - -From your project root, ask your coding agent to run the Sentry blueprint. The agent follows the blueprint to create a `sentry.ts` module next to `app.ts`, import it once, and install `@flue/opentelemetry` together with the Sentry SDK for your target: - -```bash -flue add tooling sentry -``` - -If you start from a regular terminal, pipe the blueprint to your coding agent's CLI, replacing `` with its command: - -```bash -flue add tooling sentry --print | -``` - -## Configuration - -The generated module reads its configuration from environment variables. Only `SENTRY_DSN` is required. - -| Variable | Default | Purpose | -| --------------------------- | ------- | ------------------------------------------------------------------------------------------------------- | -| `SENTRY_DSN` | | Your project's [DSN](/concepts/key-terms/dsn-explainer/). Without it, all Sentry calls are no-ops. | -| `SENTRY_ENVIRONMENT` | | The deployment environment, such as `production` or `staging`. | -| `SENTRY_RELEASE` | | The release identifier, such as a commit SHA. | -| `SENTRY_TRACES_SAMPLE_RATE` | `0` | A value from `0` to `1`. At `0`, Flue sends errors and logs only. Above `0`, Flue also sends AI traces. | -| `SENTRY_AI_RECORD_INPUTS` | `false` | Set to `true` to include prompts, system instructions, and tool definitions and arguments in spans. | -| `SENTRY_AI_RECORD_OUTPUTS` | `false` | Set to `true` to include model output, tool results, and exception messages and stacks in spans. | - - - -```bash {filename:.env} -SENTRY_DSN="___PUBLIC_DSN___" -SENTRY_TRACES_SAMPLE_RATE=1 -``` - - - - - -Set the DSN as a Worker secret and the remaining values as variables in `wrangler.jsonc`: - -```bash -wrangler secret put SENTRY_DSN -``` - -```json {filename:wrangler.jsonc} -{ - "vars": { - "SENTRY_TRACES_SAMPLE_RATE": "1", - "SENTRY_ENVIRONMENT": "production" - } -} -``` - - - -Set `SENTRY_TRACES_SAMPLE_RATE=1` while you verify the setup. Lower it afterwards if your agent runs at high volume. - -### Record Prompts and Responses - -By default, spans carry timing, token usage, model identifiers, and correlation IDs, but no message or tool content. Set `SENTRY_AI_RECORD_INPUTS` and `SENTRY_AI_RECORD_OUTPUTS` to `true` so the Agent Tracing transcript includes the full conversation, tool arguments, and tool results. The blueprint scrubs keys such as `token`, `secret`, and `password` and truncates each attribute to 16 KiB. - -Review the data your agent handles before you enable these options in production. - -## How It Works - - - -On Node.js, the generated `sentry.ts` calls `Sentry.init` at module scope. Sentry becomes the global OpenTelemetry tracer provider, so the spans from `@flue/opentelemetry` flow to Sentry without extra wiring. The following abridged example shows the core of the generated file. It omits helper definitions and the terminal-failure capture implementation, so use the file generated by the blueprint rather than copying this example: - -```typescript {filename:src/sentry.ts} -import { createOpenTelemetryInstrumentation } from "@flue/opentelemetry"; -import { instrument } from "@flue/runtime"; -import * as Sentry from "@sentry/node"; - -// `clampRate` keeps the value between 0 and 1 and falls back to 0. -const tracesSampleRate = clampRate(process.env.SENTRY_TRACES_SAMPLE_RATE, 0); - -Sentry.init({ - dsn: process.env.SENTRY_DSN, - enabled: Boolean(process.env.SENTRY_DSN), - tracesSampleRate, - traceLifecycle: "stream", - streamGenAiSpans: true, - enableLogs: true, - // Flue already emits one `chat` span per model call, so Sentry's - // AI provider integrations are removed to avoid double counting. - integrations: (defaults) => - defaults.filter((i) => !SENTRY_AI_PROVIDER_INTEGRATIONS.has(i.name)), -}); - -if (tracesSampleRate > 0) { - instrument(createOpenTelemetryInstrumentation({ content: contentPolicy() })); -} - -instrument({ - key: Symbol.for("flue.sentry.bridge"), - observe(event) { - if (event.type === "operation" && event.isError) { - // Terminal failures become issues. - } - if (event.type === "log") { - Sentry.logger[event.level](event.message, logAttributes(event)); - } - }, - interceptor: (_operation, _ctx, next) => next(), - async dispose() { - await Sentry.flush(2000); - }, -}); -``` - -Because `Sentry.init` runs after the application starts importing modules, the blueprint does not enable Sentry's HTTP or database auto-instrumentation. If you need those, add the preload setup before your application imports and verify it against the built Flue server. - - - - - -On Cloudflare, each agent conversation runs in its own Durable Object isolate, so the generated `sentry.ts` does not call `Sentry.init`. Instead, it exports a `cloudflare` extension that wraps every generated agent Durable Object with `instrumentDurableObjectWithSentry`. The wrapper initializes the SDK once per isolate from the Worker's bindings. This abridged example omits helper definitions, so use the file generated by the blueprint rather than copying it: - -```typescript {filename:src/sentry.ts} -import { createOpenTelemetryInstrumentation } from "@flue/opentelemetry"; -import { instrument } from "@flue/runtime"; -import { extend } from "@flue/runtime/cloudflare"; -import * as Sentry from "@sentry/cloudflare"; - -// The per-isolate `env` bindings exist only inside the wrapper below, so the -// module-scope `instrument` gate reads `process.env` instead. -const tracesSampleRate = clampRate(process.env.SENTRY_TRACES_SAMPLE_RATE, 0); - -export const cloudflare = extend({ - wrap: (Final) => - Sentry.instrumentDurableObjectWithSentry( - (env: Env) => ({ - dsn: env.SENTRY_DSN, - enabled: Boolean(env.SENTRY_DSN), - environment: env.SENTRY_ENVIRONMENT, - release: env.SENTRY_RELEASE, - tracesSampleRate: clampRate(env.SENTRY_TRACES_SAMPLE_RATE, 0), - traceLifecycle: "stream", - streamGenAiSpans: true, - enableLogs: true, - integrations: (defaults) => - defaults.filter((i) => !SENTRY_AI_PROVIDER_INTEGRATIONS.has(i.name)), - }), - Final - ), -}); - -if (tracesSampleRate > 0) { - instrument(createOpenTelemetryInstrumentation({ content: contentPolicy() })); -} -``` - -Each agent module re-exports the extension so the build applies it: - -```typescript {filename:src/agents/support.ts} -export { cloudflare } from "../sentry.ts"; -``` - -The wrapper covers the agent Durable Objects only. It does not instrument the outer Worker or an authored Hono application. Wrap the Worker with [`withSentry`](/platforms/javascript/guides/cloudflare/) if you also need request instrumentation. Don't use `@sentry/node` on Cloudflare. - -The SDK sends traces and issues during the run and flushes logs on a best-effort basis through the platform's event lifecycle. An isolate shutdown can cut off very recently buffered logs. - - - -### Correlation Tags - -Issues, logs, and spans share the `flue.instance.id`, `flue.agent.name`, and `flue.submission.id` attributes. The conversation identifier is `flue.conversation.id` on issues and logs and `gen_ai.conversation.id` on spans. Search for a shared `flue.*` value in Sentry to find every signal from a single agent instance. Filter by `gen_ai.agent.name` to compare token use and latency across a lead agent and its subagents. - -## Verify - -Set `SENTRY_TRACES_SAMPLE_RATE=1` against a non-production project, then: - -1. Prompt a tool-using agent. Open [Agent Tracing](/product/agents/) and confirm one trace with `invoke_agent`, `chat`, and `execute_tool` spans and token usage on the `chat` span. -2. Call `log.info` from a tool. Confirm the line appears in Logs on the same trace. -3. Trigger one terminal failure. Confirm exactly one issue with the original error and stack trace. -4. Confirm that the application still starts without a configured DSN. - - - -Also confirm that a wrapped agent delivers spans, logs, and issues from `workerd`, for example by running `wrangler dev`. - - - -## Troubleshooting - -- **Logs and issues arrive but no traces.** `SENTRY_TRACES_SAMPLE_RATE` defaults to `0`. Set it above `0`. -- **Token and cost values are doubled.** Don't add a second AI tracing integration such as the Vercel AI integration or Anthropic integration. The blueprint removes them on purpose because Flue already emits the model spans. -- **A tool error did not create an issue.** Only terminal operation and submission failures create issues. A recovered tool error stays on the trace as diagnostic context. - -## Supported Versions - -- `@sentry/node` or `@sentry/cloudflare`: `>=10.64.0` -- `@flue/opentelemetry`: the version that matches your Flue project - -## Next Steps - -- [Instrument Flue agents with Sentry](https://sentry.io/cookbook/instrument-flue-agents-with-sentry/): a step-by-step cookbook with screenshots of the result in Sentry. -- [Monitor 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. -- [Flue's Sentry tooling page](https://flueframework.com/docs/ecosystem/tooling/sentry/) and [observability guide](https://flueframework.com/docs/guide/observability/): the same setup from the Flue side, and the event model behind it. diff --git a/docs/platforms/javascript/guides/flue/cloudflare.mdx b/docs/platforms/javascript/guides/flue/cloudflare.mdx new file mode 100644 index 0000000000000..f6a34cd70ee99 --- /dev/null +++ b/docs/platforms/javascript/guides/flue/cloudflare.mdx @@ -0,0 +1,148 @@ +--- +title: Cloudflare Quick Start +sidebar_order: 0.5 +description: Learn how to send Flue agent traces, model calls, tool executions, and errors to Sentry from Cloudflare Workers. +--- + +[Flue](https://flueframework.com/) is an open TypeScript framework for building AI agents, made by the Astro team. This guide sets up the Sentry SDK in a Flue app running on Cloudflare Workers so agent turns, model calls, tool executions, and errors flow into [Sentry Agent Tracing](/product/agents/). + + + +Running Flue on Node.js? Follow the [Flue 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 Flue application using `@flue/runtime` version `2.0.0` or later, targeting Cloudflare. +- `@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: + +```bash {tabTitle:npm} +npm install @sentry/cloudflare@^11.0.0-rc.0 +``` + +```bash {tabTitle:yarn} +yarn add @sentry/cloudflare@^11.0.0-rc.0 +``` + +```bash {tabTitle:pnpm} +pnpm add @sentry/cloudflare@^11.0.0-rc.0 +``` + +## Configure + +Add the Sentry Vite plugin to your Vite config, after Flue's: + +```typescript {filename:vite.config.mts} +import { cloudflare } from "@cloudflare/vite-plugin"; +import { flue, flueWorkerConfig } from "@flue/vite"; +import { sentryCloudflareVitePlugin } from "@sentry/cloudflare/vite"; +import { defineConfig } from "vite"; + +export default defineConfig({ + plugins: [ + flue(), + cloudflare({ config: flueWorkerConfig() }), + sentryCloudflareVitePlugin(), + ], +}); +``` + +The plugin registers the Flue instrumentation for you at build time, so you don't write an `instrument()` call as you do on Node.js. + +Each Flue agent runs in its own Durable Object, which is a separate isolate from your Worker entry. `Sentry.init()` has to run inside it, so create a module that wraps the generated agent Durable Object: + +```typescript {filename:src/sentry.ts} +import { extend } from "@flue/runtime/cloudflare"; +import * as Sentry from "@sentry/cloudflare"; + +export const cloudflare = extend({ + wrap: (Final) => + Sentry.instrumentDurableObjectWithSentry( + (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 + }), + Final + ), +}); +``` + +Re-export it as `cloudflare` from each agent module. This is how Flue applies the wrapper — defining it anywhere else has no effect: + +```typescript {filename:src/agents/support.ts} +export { cloudflare } from "../sentry.ts"; +``` + + + +Without this re-export the agent still runs normally and nothing errors, but no `Sentry.init()` ever runs in that isolate, so nothing is captured at all. + + + +Enable Node.js compatibility in your Wrangler config so the SDK can run on Workers: + +```json {filename:wrangler.jsonc} +{ + "compatibility_flags": ["nodejs_compat"] +} +``` + + + +### 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/sentry.ts} +Sentry.instrumentDurableObjectWithSentry( + (env: Env) => ({ + dsn: "___PUBLIC_DSN___", + dataCollection: { + genAI: { inputs: false, outputs: false }, + }, + }), + Final +); +``` + +See [`dataCollection` documentation](../configuration/options/#dataCollection) for details on privacy control options. + + + + + +## Troubleshooting + +- **The agent runs but nothing reaches Sentry.** Confirm each agent module re-exports `cloudflare` from your `src/sentry.ts`. This is the most common cause, and it fails silently. +- **`instrument.server.ts` has no effect.** That convention needs a worker entry named in Wrangler's `main`. Flue supplies its own virtual entry instead, so the file is never picked up. Use the Durable Object wrapper above. +- **Token and cost values are doubled.** Remove the `createOpenTelemetryInstrumentation` call left over from the `flue add tooling sentry` blueprint. + + + + + +## Supported Versions + +- `@sentry/cloudflare`: `>=11.0.0-rc.0` +- `@flue/runtime`: `>=2.0.0 <3.0.0` diff --git a/docs/platforms/javascript/guides/flue/index.mdx b/docs/platforms/javascript/guides/flue/index.mdx new file mode 100644 index 0000000000000..ee910d407fc86 --- /dev/null +++ b/docs/platforms/javascript/guides/flue/index.mdx @@ -0,0 +1,128 @@ +--- +title: Flue +description: Learn how to send Flue agent traces, model calls, tool executions, and errors to Sentry with the Sentry SDK. +sdk: sentry.javascript.node +fallbackGuide: javascript.node +icon: flue +categories: + - javascript + - server + - server-node +keywords: + - flue + - ai + - agents + - agent tracing +--- + +[Flue](https://flueframework.com/) is an open TypeScript framework for building AI agents, made by the Astro team. This guide sets up the Sentry SDK in a Flue app so agent turns, model calls, tool executions, and errors flow into [Sentry Agent Tracing](/product/agents/). + + + +Deploying Flue agents to 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 SDK where to send data. +- A Flue application using `@flue/runtime` version `2.0.0` or later. Flue requires Node.js `22.19` or later. +- `@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 + +Choose the features you want to configure, and this guide will show you how: + + + +Install the Sentry Node SDK: + +```bash {tabTitle:npm} +npm install @sentry/node@^11.0.0-rc.0 +``` + +```bash {tabTitle:yarn} +yarn add @sentry/node@^11.0.0-rc.0 +``` + +```bash {tabTitle:pnpm} +pnpm add @sentry/node@^11.0.0-rc.0 +``` + +## Configure + +Create a file that calls `Sentry.init()` and registers the Flue instrumentation. Flue is instrumented by registering with it rather than by patching, so this `instrument()` call is what connects the two: + +```typescript {filename:sentry-init.ts} +import { instrument } from "@flue/runtime"; +import * as Sentry from "@sentry/node"; + +Sentry.init({ + 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 +}); + +instrument(Sentry.createFlueInstrumentation()); +``` + +Import it as the first line of your app entry, before Flue loads your agents: + +```typescript {filename:src/app.ts} +import "../sentry-init.ts"; +``` + +Call `instrument()` once, at module scope. Registering twice would install a second observer and duplicate every span. + + + +### Instrument HTTP and Database Calls + +To also trace the outgoing requests and database queries your tools make, preload the SDK when you start the server: + +```json {filename:package.json} +{ + "scripts": { + "start": "NODE_OPTIONS='--import=@sentry/node/import' node dist/server.mjs" + } +} +``` + +### 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:sentry-init.ts} +Sentry.init({ + dsn: "___PUBLIC_DSN___", + dataCollection: { + genAI: { inputs: false, outputs: false }, + }, +}); +``` + +See [`dataCollection` documentation](./configuration/options/#dataCollection) for details on privacy control options. + + + + + + + + + +## Supported Versions + +- `@sentry/node`: `>=11.0.0-rc.0` +- `@sentry/cloudflare`: `>=11.0.0-rc.0` +- `@flue/runtime`: `>=2.0.0 <3.0.0` diff --git a/includes/flue/captured-summary.mdx b/includes/flue/captured-summary.mdx new file mode 100644 index 0000000000000..1aa1039fc66e0 --- /dev/null +++ b/includes/flue/captured-summary.mdx @@ -0,0 +1,3 @@ +With this setup, Sentry captures errors thrown by your agents and tools, and AI spans for every run (agent turns, model calls, tool executions, token usage, and latency). Manual spans you start inside a tool nest under that tool's span, and other instrumented libraries your tools call appear in the same trace. + +To review what's captured and turn recording of prompts and responses off, see [Privacy Controls](#privacy-controls) below. diff --git a/includes/flue/next-steps.mdx b/includes/flue/next-steps.mdx new file mode 100644 index 0000000000000..d464558613e6b --- /dev/null +++ b/includes/flue/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/flue/sdk-setup-alert.mdx b/includes/flue/sdk-setup-alert.mdx new file mode 100644 index 0000000000000..2c27831f60dfb --- /dev/null +++ b/includes/flue/sdk-setup-alert.mdx @@ -0,0 +1,5 @@ + + +This guide covers the Sentry SDK-based setup, which replaces the `flue add tooling sentry` blueprint. It requires JavaScript SDK version `11.0.0-rc.0` or later. If you previously ran the blueprint, remove its `createOpenTelemetryInstrumentation` call — it emits its own `gen_ai` spans and will double-count against the ones the SDK creates. + + diff --git a/includes/flue/verify.mdx b/includes/flue/verify.mdx new file mode 100644 index 0000000000000..25d6801567488 --- /dev/null +++ b/includes/flue/verify.mdx @@ -0,0 +1,9 @@ +## Verify + +Send a message to one of your agents, then open [Agent Tracing](/product/agents/) in Sentry and select the run. The timeline shows the agent turn, the model calls, the tool executions, token usage, and latency, plus any errors your tools threw. + +If no data appears, confirm that: + +- The `dsn` belongs to the Sentry project you're viewing. +- `tracesSampleRate` is greater than `0`. +- Your agent completed at least one turn after you added the setup. diff --git a/includes/flue/what-gets-captured.mdx b/includes/flue/what-gets-captured.mdx new file mode 100644 index 0000000000000..89c9c6aad3591 --- /dev/null +++ b/includes/flue/what-gets-captured.mdx @@ -0,0 +1,15 @@ + + +Sentry's Flue integration maps Flue's runtime operations to Sentry operations for the Agents dashboards: + +| Flue Operation | Sentry Operation | +| ---------------- | --------------------- | +| Agent submission | `gen_ai.invoke_agent` | +| Model turn | `gen_ai.chat` | +| Tool execution | `gen_ai.execute_tool` | + +Spans are tagged with `sentry.origin: auto.ai.flue`. + +A tool that throws is captured as an error and its span is marked failed. A tool error your agent recovers from stays on the trace as context. + + diff --git a/redirects.js b/redirects.js index 1df9360e960bb..f02665dfb4f70 100644 --- a/redirects.js +++ b/redirects.js @@ -2332,6 +2332,34 @@ const userDocsRedirects = [ destination: '/platforms/javascript/guides/cloudflare/agent-tracing/workers-ai/:path*', }, + // Flue moved from Agent Tracing to its own guide when the SDK-based setup + // replaced the `flue add tooling sentry` blueprint. + // Map older names directly to the guide to avoid redirect chains. The + // Cloudflare page is listed first so its readers keep landing on it. + { + source: '/platforms/javascript/guides/cloudflare/agent-tracing/flue.md', + destination: '/platforms/javascript/guides/flue/cloudflare/', + }, + { + source: '/platforms/javascript/guides/cloudflare/agent-tracing/flue/:path*', + destination: '/platforms/javascript/guides/flue/cloudflare/', + }, + { + source: '/platforms/javascript/agent-tracing/flue.md', + destination: '/platforms/javascript/guides/flue/', + }, + { + source: '/platforms/javascript/agent-tracing/flue/:path*', + destination: '/platforms/javascript/guides/flue/', + }, + { + source: '/platforms/javascript/guides/:guide/agent-tracing/flue.md', + destination: '/platforms/javascript/guides/flue/', + }, + { + source: '/platforms/javascript/guides/:guide/agent-tracing/flue/:path*', + destination: '/platforms/javascript/guides/flue/', + }, // Mastra lives under Agent Tracing alongside the other AI library pages. // Map older names directly to avoid redirect chains. { From 8f8215274642b7ed3d1b849e0e8fa3ad607ccd17 Mon Sep 17 00:00:00 2001 From: RulaKhaled Date: Mon, 21 Sep 2026 16:45:57 +0300 Subject: [PATCH 02/13] docs(javascript): Carry the Flue page's conversation and troubleshooting content forward The rework dropped sections the old page got right. Conversations come back as `gen_ai.conversation.id`, corrected from the blueprint's `flue.*` correlation tags, which the SDK does not emit. Adds `flue.turn.purpose` to the captured table, the doubling and missing-span troubleshooting entries, and Flue's own observability guide to next steps. Co-Authored-By: Claude Opus 5 --- docs/platforms/javascript/guides/flue/cloudflare.mdx | 2 ++ docs/platforms/javascript/guides/flue/index.mdx | 7 +++++++ includes/flue/link-conversations.mdx | 5 +++++ includes/flue/next-steps.mdx | 1 + includes/flue/what-gets-captured.mdx | 6 ++++-- 5 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 includes/flue/link-conversations.mdx diff --git a/docs/platforms/javascript/guides/flue/cloudflare.mdx b/docs/platforms/javascript/guides/flue/cloudflare.mdx index f6a34cd70ee99..9a90a72d2e90c 100644 --- a/docs/platforms/javascript/guides/flue/cloudflare.mdx +++ b/docs/platforms/javascript/guides/flue/cloudflare.mdx @@ -128,6 +128,8 @@ Sentry.instrumentDurableObjectWithSentry( See [`dataCollection` documentation](../configuration/options/#dataCollection) for details on privacy control options. + + diff --git a/docs/platforms/javascript/guides/flue/index.mdx b/docs/platforms/javascript/guides/flue/index.mdx index ee910d407fc86..61cf99cdb2f2d 100644 --- a/docs/platforms/javascript/guides/flue/index.mdx +++ b/docs/platforms/javascript/guides/flue/index.mdx @@ -113,10 +113,17 @@ Sentry.init({ See [`dataCollection` documentation](./configuration/options/#dataCollection) for details on privacy control options. + + +## Troubleshooting + +- **Token and cost values are doubled.** Remove the `createOpenTelemetryInstrumentation` call left over from the `flue add tooling sentry` blueprint. Flue emits its own model spans through it, so both it and the SDK count the same turn. +- **No AI spans at all.** Confirm `instrument(Sentry.createFlueInstrumentation())` runs before Flue loads your agents. Importing `sentry-init.ts` as the first line of `src/app.ts` is what guarantees that. + diff --git a/includes/flue/link-conversations.mdx b/includes/flue/link-conversations.mdx new file mode 100644 index 0000000000000..25e19038f4e2f --- /dev/null +++ b/includes/flue/link-conversations.mdx @@ -0,0 +1,5 @@ +### Link Conversations + +Sentry groups a multi-turn chat into a single [Conversation](/product/agents/conversations/) automatically — there's no Sentry-specific setup. Flue already tracks a conversation per agent instance, and the SDK maps that id to `gen_ai.conversation.id` on every span in the turn. + +Spans also carry `gen_ai.agent.name`, so you can compare token use and latency across a lead agent and its subagents. diff --git a/includes/flue/next-steps.mdx b/includes/flue/next-steps.mdx index d464558613e6b..f8c8ce95e111f 100644 --- a/includes/flue/next-steps.mdx +++ b/includes/flue/next-steps.mdx @@ -2,4 +2,5 @@ - [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. +- [Flue's observability guide](https://flueframework.com/docs/guide/observability/): the event model behind the spans, from the Flue side. - Use the appropriate [JavaScript framework guide](/platforms/javascript/) for application monitoring in a separate frontend or service. diff --git a/includes/flue/what-gets-captured.mdx b/includes/flue/what-gets-captured.mdx index 89c9c6aad3591..cd4cdae89ec94 100644 --- a/includes/flue/what-gets-captured.mdx +++ b/includes/flue/what-gets-captured.mdx @@ -8,8 +8,10 @@ Sentry's Flue integration maps Flue's runtime operations to Sentry operations fo | Model turn | `gen_ai.chat` | | Tool execution | `gen_ai.execute_tool` | -Spans are tagged with `sentry.origin: auto.ai.flue`. +Spans are tagged with `sentry.origin: auto.ai.flue` and carry the model, token usage, and finish reasons for the turn. -A tool that throws is captured as an error and its span is marked failed. A tool error your agent recovers from stays on the trace as context. +A `chat` span also carries `flue.turn.purpose`, which is how you tell a context-compaction turn from a user-facing one. There's no conventional attribute for that distinction. + +A tool that throws is captured as an error and its span is marked failed. A tool error your agent recovers from stays on the trace as context rather than becoming an issue. From 005278cdf62fe0dacaae731a2e00f6428c7966ed Mon Sep 17 00:00:00 2001 From: RulaKhaled Date: Mon, 21 Sep 2026 16:55:02 +0300 Subject: [PATCH 03/13] docs(javascript): Register javascript.flue in the JS common content MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Flue guide extends the Node guide through `fallbackGuide`, but `PlatformSection` doesn't resolve that, so `javascript.flue` has to be enumerated wherever `javascript.eve` already is — in both directions. Without it the inherited Node sections don't render in the Flue guide and browser-only content isn't hidden from it. 102 frontmatter entries and 37 PlatformSection arrays across 106 files, matching what #19445 does for `javascript.mastra`. Co-Authored-By: Claude Opus 5 --- .../javascript/common/agent-tracing/anthropic.mdx | 11 ++++++----- .../common/agent-tracing/google-genai.mdx | 11 ++++++----- .../javascript/common/agent-tracing/index.mdx | 1 + .../javascript/common/agent-tracing/langchain.mdx | 11 ++++++----- .../javascript/common/agent-tracing/langgraph.mdx | 11 ++++++----- .../common/agent-tracing/manual-instrumentation.mdx | 1 + .../javascript/common/agent-tracing/mastra.mdx | 1 + .../javascript/common/agent-tracing/openai.mdx | 13 +++++++------ .../javascript/common/agent-tracing/vercelai.mdx | 1 + .../javascript/common/best-practices/index.mdx | 1 + .../common/best-practices/micro-frontends.mdx | 1 + .../best-practices/multiple-sentry-instances.mdx | 1 + .../common/best-practices/offline-caching.mdx | 1 + .../common/best-practices/shared-environments.mdx | 1 + .../common/best-practices/web-workers.mdx | 1 + .../common/configuration/async-context.mdx | 1 + .../common/configuration/event-loop-block.mdx | 1 + .../common/configuration/integrations/amqplib.mdx | 1 + .../common/configuration/integrations/anr.mdx | 1 + .../configuration/integrations/breadcrumbs.mdx | 1 + .../configuration/integrations/browserapierrors.mdx | 1 + .../configuration/integrations/browserprofiling.mdx | 1 + .../configuration/integrations/browsersession.mdx | 1 + .../configuration/integrations/browsertracing.mdx | 1 + .../configuration/integrations/childProcess.mdx | 1 + .../common/configuration/integrations/console.mdx | 1 + .../configuration/integrations/contextlines.mdx | 1 + .../configuration/integrations/dataloader.mdx | 1 + .../configuration/integrations/elementtiming.mdx | 1 + .../configuration/integrations/event-loop-block.mdx | 1 + .../common/configuration/integrations/fastify.mdx | 1 + .../common/configuration/integrations/firebase.mdx | 1 + .../common/configuration/integrations/fs.mdx | 1 + .../configuration/integrations/genericpool.mdx | 1 + .../configuration/integrations/globalhandlers.mdx | 1 + .../common/configuration/integrations/graphql.mdx | 1 + .../configuration/integrations/graphqlclient.mdx | 1 + .../common/configuration/integrations/hapi.mdx | 1 + .../common/configuration/integrations/http.mdx | 1 + .../configuration/integrations/httpclient.mdx | 1 + .../configuration/integrations/httpcontext.mdx | 1 + .../common/configuration/integrations/kafka.mdx | 1 + .../common/configuration/integrations/knex.mdx | 1 + .../common/configuration/integrations/koa.mdx | 1 + .../configuration/integrations/launchdarkly.mdx | 1 + .../configuration/integrations/localvariables.mdx | 1 + .../configuration/integrations/lrumemoizer.mdx | 1 + .../configuration/integrations/modulemetadata.mdx | 1 + .../common/configuration/integrations/modules.mdx | 1 + .../common/configuration/integrations/mongo.mdx | 1 + .../common/configuration/integrations/mongoose.mdx | 1 + .../common/configuration/integrations/mysql.mdx | 1 + .../common/configuration/integrations/mysql2.mdx | 1 + .../common/configuration/integrations/nest.mdx | 1 + .../configuration/integrations/nodecontext.mdx | 1 + .../common/configuration/integrations/nodefetch.mdx | 1 + .../configuration/integrations/nodeprofiling.mdx | 1 + .../integrations/noderuntimemetrics.mdx | 1 + .../integrations/onuncaughtexception.mdx | 1 + .../configuration/integrations/openfeature.mdx | 1 + .../common/configuration/integrations/pino.mdx | 1 + .../common/configuration/integrations/postgres.mdx | 1 + .../common/configuration/integrations/prisma.mdx | 1 + .../configuration/integrations/prisma__v8.x.mdx | 1 + .../common/configuration/integrations/redis.mdx | 1 + .../common/configuration/integrations/replay.mdx | 1 + .../configuration/integrations/replaycanvas.mdx | 1 + .../integrations/reportingobserver.mdx | 1 + .../configuration/integrations/requestdata.mdx | 1 + .../common/configuration/integrations/statsig.mdx | 1 + .../common/configuration/integrations/supabase.mdx | 1 + .../common/configuration/integrations/tedious.mdx | 1 + .../common/configuration/integrations/trpc.mdx | 1 + .../integrations/unhandledrejection.mdx | 1 + .../common/configuration/integrations/unleash.mdx | 1 + .../common/configuration/integrations/webworker.mdx | 1 + .../javascript/common/configuration/transports.mdx | 1 + docs/platforms/javascript/common/crons/index.mdx | 1 + .../javascript/common/crons/troubleshooting.mdx | 1 + .../common/data-management/data-collected/index.mdx | 2 +- .../enriching-events/request-isolation/index.mdx | 1 + .../javascript/common/feature-flags/index.mdx | 1 + docs/platforms/javascript/common/install/index.mdx | 1 + docs/platforms/javascript/common/install/loader.mdx | 1 + docs/platforms/javascript/common/install/npm.mdx | 1 + docs/platforms/javascript/common/logs/index.mdx | 4 ++-- docs/platforms/javascript/common/metrics/index.mdx | 2 +- .../common/migration/v7-to-v8/v8-opentelemetry.mdx | 1 + .../common/opentelemetry/custom-setup.mdx | 3 ++- .../javascript/common/opentelemetry/index.mdx | 1 + .../opentelemetry/using-opentelemetry-apis.mdx | 1 + .../common/session-replay/configuration.mdx | 1 + .../javascript/common/session-replay/index.mdx | 1 + .../common/session-replay/issue-types.mdx | 1 + .../javascript/common/session-replay/privacy.mdx | 1 + .../common/session-replay/troubleshooting.mdx | 1 + .../session-replay/understanding-sessions.mdx | 1 + .../sourcemaps/uploading/hosting-publicly.mdx | 1 + .../dealing-with-cors-issues/index.mdx | 1 + docs/platforms/javascript/common/tracing/index.mdx | 4 ++-- .../tracing/instrumentation/caches-module.mdx | 3 ++- .../tracing/instrumentation/queues-module.mdx | 1 + .../common/troubleshooting/supported-browsers.mdx | 1 + .../common/user-feedback/configuration/index.mdx | 3 ++- .../user-feedback/configuration/index__v7.x.mdx | 3 ++- .../javascript/common/user-feedback/index.mdx | 3 ++- 106 files changed, 139 insertions(+), 37 deletions(-) diff --git a/docs/platforms/javascript/common/agent-tracing/anthropic.mdx b/docs/platforms/javascript/common/agent-tracing/anthropic.mdx index 52f5435bf37be..412193e57193f 100644 --- a/docs/platforms/javascript/common/agent-tracing/anthropic.mdx +++ b/docs/platforms/javascript/common/agent-tracing/anthropic.mdx @@ -5,6 +5,7 @@ sidebar_order: 22 supported: - javascript.node - javascript.eve + - javascript.flue - javascript.aws-lambda - javascript.azure-functions - javascript.connect @@ -33,13 +34,13 @@ supported: - + ## Automatic Instrumentation _Import name: `Sentry.anthropicAIIntegration`_ - + If you are using a different runtime (like Bun, Cloudflare Workers or a Browser) or experiencing missing spans, you need to use **[Manual Instrumentation](#manual-instrumentation)** to explicitly wrap your AI client instance instead. @@ -53,7 +54,7 @@ supported: - + ## Manual Instrumentation @@ -111,7 +112,7 @@ Defaults to `true` if `dataCollection.genAI.outputs` is `true` (which is the def **Usage** - + Using the `anthropicAIIntegration` integration for **automatic instrumentation**: @@ -130,7 +131,7 @@ Defaults to `true` if `dataCollection.genAI.outputs` is `true` (which is the def - + Using the `instrumentAnthropicAiClient` wrapper for **manual instrumentation**: diff --git a/docs/platforms/javascript/common/agent-tracing/google-genai.mdx b/docs/platforms/javascript/common/agent-tracing/google-genai.mdx index 1f4b5f8bb4d3a..2c45664a7df50 100644 --- a/docs/platforms/javascript/common/agent-tracing/google-genai.mdx +++ b/docs/platforms/javascript/common/agent-tracing/google-genai.mdx @@ -5,6 +5,7 @@ sidebar_order: 23 supported: - javascript.node - javascript.eve + - javascript.flue - javascript.aws-lambda - javascript.azure-functions - javascript.connect @@ -33,13 +34,13 @@ supported: - + ## Automatic Instrumentation _Import name: `Sentry.googleGenAIIntegration`_ - + If you are using a different runtime (like Bun, Cloudflare Workers or a Browser) or experiencing missing spans, you need to use **[Manual Instrumentation](#manual-instrumentation)** to explicitly wrap your AI client instance instead. @@ -53,7 +54,7 @@ supported: - + ## Manual Instrumentation @@ -107,7 +108,7 @@ Defaults to `true` if `dataCollection.genAI.outputs` is `true` (which is the def **Usage** - + Using the `googleGenAIIntegration` integration for **automatic instrumentation**: @@ -126,7 +127,7 @@ Sentry.init({ - + Using the `instrumentGoogleGenAIClient` wrapper for **manual instrumentation**: diff --git a/docs/platforms/javascript/common/agent-tracing/index.mdx b/docs/platforms/javascript/common/agent-tracing/index.mdx index ab8cc2dfde6c1..140f01bbf1af7 100644 --- a/docs/platforms/javascript/common/agent-tracing/index.mdx +++ b/docs/platforms/javascript/common/agent-tracing/index.mdx @@ -8,6 +8,7 @@ new: true supported: - javascript.node - javascript.eve + - javascript.flue - javascript.aws-lambda - javascript.azure-functions - javascript.bun diff --git a/docs/platforms/javascript/common/agent-tracing/langchain.mdx b/docs/platforms/javascript/common/agent-tracing/langchain.mdx index c6f230c55139e..fe4d1d922f721 100644 --- a/docs/platforms/javascript/common/agent-tracing/langchain.mdx +++ b/docs/platforms/javascript/common/agent-tracing/langchain.mdx @@ -5,6 +5,7 @@ sidebar_order: 24 supported: - javascript.node - javascript.eve + - javascript.flue - javascript.aws-lambda - javascript.azure-functions - javascript.connect @@ -33,13 +34,13 @@ supported: - + ## Automatic Instrumentation _Import name: `Sentry.langChainIntegration`_ - + If you are using a different runtime (like Bun, Cloudflare Workers or a Browser) or experiencing missing spans, you need to use **[Manual Instrumentation](#manual-instrumentation)** to explicitly wrap your AI client instance instead. @@ -53,7 +54,7 @@ supported: - + ## Manual Instrumentation @@ -111,7 +112,7 @@ Defaults to `true` if `dataCollection.genAI.outputs` is `true` (which is the def **Usage** - + Using the `langChainIntegration` integration for **automatic instrumentation**: @@ -130,7 +131,7 @@ Sentry.init({ - + Using the `createLangChainCallbackHandler` wrapper for **manual instrumentation**: diff --git a/docs/platforms/javascript/common/agent-tracing/langgraph.mdx b/docs/platforms/javascript/common/agent-tracing/langgraph.mdx index d624bf14c23f4..a029b7c590bcd 100644 --- a/docs/platforms/javascript/common/agent-tracing/langgraph.mdx +++ b/docs/platforms/javascript/common/agent-tracing/langgraph.mdx @@ -5,6 +5,7 @@ sidebar_order: 25 supported: - javascript.node - javascript.eve + - javascript.flue - javascript.aws-lambda - javascript.azure-functions - javascript.connect @@ -33,13 +34,13 @@ supported: - + ## Automatic Instrumentation _Import name: `Sentry.langGraphIntegration`_ - + If you are using a different runtime (like Bun, Cloudflare Workers or a Browser) or experiencing missing spans, you need to use **[Manual Instrumentation](#manual-instrumentation)** to explicitly wrap your AI client instance instead. @@ -53,7 +54,7 @@ supported: - + ## Manual Instrumentation @@ -133,7 +134,7 @@ Defaults to `true` if `dataCollection.genAI.outputs` is `true` (which is the def **Usage** - + Using the `langGraphIntegration` integration for **automatic instrumentation**: @@ -152,7 +153,7 @@ Sentry.init({ - + Using the `instrumentLangGraph` wrapper for **manual instrumentation**: diff --git a/docs/platforms/javascript/common/agent-tracing/manual-instrumentation.mdx b/docs/platforms/javascript/common/agent-tracing/manual-instrumentation.mdx index 98657524519c3..aa1bf8bd27b7a 100644 --- a/docs/platforms/javascript/common/agent-tracing/manual-instrumentation.mdx +++ b/docs/platforms/javascript/common/agent-tracing/manual-instrumentation.mdx @@ -6,6 +6,7 @@ description: "Learn how to manually instrument your agents to capture spans, tok supported: - javascript.node - javascript.eve + - javascript.flue - javascript.aws-lambda - javascript.azure-functions - javascript.bun diff --git a/docs/platforms/javascript/common/agent-tracing/mastra.mdx b/docs/platforms/javascript/common/agent-tracing/mastra.mdx index ba86d6c4f97c5..b8186eb062a0f 100644 --- a/docs/platforms/javascript/common/agent-tracing/mastra.mdx +++ b/docs/platforms/javascript/common/agent-tracing/mastra.mdx @@ -6,6 +6,7 @@ sidebar_order: 26 supported: - javascript.node - javascript.eve + - javascript.flue - javascript.aws-lambda - javascript.azure-functions - javascript.connect diff --git a/docs/platforms/javascript/common/agent-tracing/openai.mdx b/docs/platforms/javascript/common/agent-tracing/openai.mdx index 4f7dcea270c05..dafbfd035145f 100644 --- a/docs/platforms/javascript/common/agent-tracing/openai.mdx +++ b/docs/platforms/javascript/common/agent-tracing/openai.mdx @@ -5,6 +5,7 @@ sidebar_order: 21 supported: - javascript.node - javascript.eve + - javascript.flue - javascript.aws-lambda - javascript.azure-functions - javascript.connect @@ -33,13 +34,13 @@ supported: - + ## Automatic Instrumentation _Import name: `Sentry.openAIIntegration`_ - + If you are using a different runtime (like Bun, Cloudflare Workers or a Browser) or experiencing missing spans, **[wrap the client](#instrument-the-client)** with `instrumentOpenAiClient` instead. @@ -53,7 +54,7 @@ supported: - + ## Instrument the Client @@ -156,7 +157,7 @@ Defaults to `true` if `dataCollection.genAI.outputs` is `true` (which is the def **Usage** - + Using the `openAIIntegration` integration for **automatic instrumentation**: @@ -175,7 +176,7 @@ Sentry.init({ - + Using the `instrumentOpenAiClient` wrapper: @@ -204,7 +205,7 @@ Instrumented calls record model, token usage, latency, and (when enabled) inputs The OpenAI SDK does **not** run your tools — your application does, after the model returns `tool_calls`. Because of that, `instrumentOpenAiClient` / `openAIIntegration` do **not** create `gen_ai.execute_tool` spans for local tool handlers. - + To get the full agent tree (`gen_ai.invoke_agent` → `gen_ai.chat` + `gen_ai.execute_tool`), wrap your tool loop with manual instrumentation. diff --git a/docs/platforms/javascript/common/agent-tracing/vercelai.mdx b/docs/platforms/javascript/common/agent-tracing/vercelai.mdx index e9fcdfda98cfc..c10931554f14e 100644 --- a/docs/platforms/javascript/common/agent-tracing/vercelai.mdx +++ b/docs/platforms/javascript/common/agent-tracing/vercelai.mdx @@ -5,6 +5,7 @@ sidebar_order: 20 supported: - javascript.node - javascript.eve + - javascript.flue - javascript.aws-lambda - javascript.azure-functions - javascript.bun diff --git a/docs/platforms/javascript/common/best-practices/index.mdx b/docs/platforms/javascript/common/best-practices/index.mdx index 57cdce4fcceaa..d3e4e7a0f9350 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.flue - 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 bf50bf3a9805e..2219fb2132867 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.flue - 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 0344370105230..6d7101dae8c8b 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.flue - 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 57e3bd0da439d..e92460f62e4e3 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.flue - 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 37df027b4baf7..3d9f9e2e1bcf2 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.flue - 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 01b4155158c1e..2934b8db8cb74 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.flue - 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 774ac970e84fa..118da42d8a2cd 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.flue - 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 08e8f23867274..3fe5c65318064 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.flue - 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 765b47e3fd338..b387e95342dbb 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.flue - 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 9ce2402119572..87e32b330f33a 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.flue - 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 c716a0b9d7f63..dbf0cd61cba74 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.flue - 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 313f75aa9c4b3..c3351cbb22b76 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.flue - 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 bbc4597c1dc41..aa6c6b6175bb5 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.flue - 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 f616107f64c8c..b9559ab938390 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.flue - 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 7023b09a91373..2aeccef8ad209 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.flue - 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 0aaaf5c3eaa56..a65707fae615e 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.flue - 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 22dc2061773b7..cf2a5eb7847d0 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.flue - 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 bc795fb4e9909..b910470c116ab 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.flue - 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 15e3d3e46831d..fc25f1cee46ac 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.flue - 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 92420c8534a2c..1804f3edbbb80 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.flue - 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 9d4984ee0f9e9..d46d012e8c9ea 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.flue - 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 fd749df93d73b..cae78ede54156 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.flue - javascript.fastify --- diff --git a/docs/platforms/javascript/common/configuration/integrations/firebase.mdx b/docs/platforms/javascript/common/configuration/integrations/firebase.mdx index fb9c9f00f4cd3..d527e36505491 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.flue - 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 661bacd94e01c..aaa142df59f8e 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.flue - 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 0aa1350f115fd..2f9a7adb9f663 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.flue - 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 f07bdf244fde3..0b0bd4f64a262 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.flue - 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 9edaeac99c8ba..5b5fa6b836b22 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.flue - 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 98cad960e93a8..7e4ff9ec16b03 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.flue - 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 6314788ed8812..d83402bc57c4a 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.flue - javascript.hapi --- diff --git a/docs/platforms/javascript/common/configuration/integrations/http.mdx b/docs/platforms/javascript/common/configuration/integrations/http.mdx index 0f77b8856ad11..2d3e54bf0f0ab 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.flue - 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 b144ecd9154ad..14d33cbb7a5a7 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.flue - 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 d8823c58e92f7..1594f880199b9 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.flue - 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 5ae1028210873..77536c9131d7d 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.flue - 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 d06ea622f3630..c6df7f0964acf 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.flue - 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 61d424f1ce3ee..498c925c40afc 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.flue - javascript.koa --- diff --git a/docs/platforms/javascript/common/configuration/integrations/launchdarkly.mdx b/docs/platforms/javascript/common/configuration/integrations/launchdarkly.mdx index b163fb03f3213..12e4db668f7db 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.flue - javascript.wasm --- diff --git a/docs/platforms/javascript/common/configuration/integrations/localvariables.mdx b/docs/platforms/javascript/common/configuration/integrations/localvariables.mdx index 1c50a5f3a95b0..b9985ebce8409 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.flue - 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 80d0fd3a30dbd..f3d06a906e080 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.flue - 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 f85e2a883a497..198420659abbf 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.flue - 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 e40b89abb5f73..3231a72951a3e 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.flue - 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 3d85d4b179e79..7d966cbc442be 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.flue - 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 96e408d5425c7..af64f0f344cc8 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.flue - 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 b7fba3defe1b7..1173e00aad03f 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.flue - 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 373a1b27f9207..782a252c1781b 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.flue - 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 1a6802fb6650e..39e09ad99ced9 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.flue - javascript.nestjs --- diff --git a/docs/platforms/javascript/common/configuration/integrations/nodecontext.mdx b/docs/platforms/javascript/common/configuration/integrations/nodecontext.mdx index 00dd25b4ca4a0..bbbcc494ee0f3 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.flue - 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 db82aabe65cc4..f772125b2e107 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.flue - 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 791eaf85f08c6..bb2f5076e2368 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.flue - 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 0e5a92497e4b3..6059942b83a23 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.flue - 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 484e79e031c69..4c4565673735f 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.flue - 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 a9627d67176b8..125d527e715f7 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.flue - javascript.wasm --- diff --git a/docs/platforms/javascript/common/configuration/integrations/pino.mdx b/docs/platforms/javascript/common/configuration/integrations/pino.mdx index dbe804bf90558..c609a50b50e60 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.flue - 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 aec67e91dc941..316ac093ced1d 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.flue - 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 2bec381ae26e9..596194e458a74 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.flue - 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 f80a1e160eca7..eaf1e15b0f3d4 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.flue - 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 f4c58b07063ed..206ef1b4187de 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.flue - 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 86d835b4ddfdc..f69c902c16ab8 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.flue - 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 e43d41949c299..94580dea21813 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.flue - 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 f74cb23c5e0ab..4b1d9a1f2e7d5 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.flue - 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 50d66b3e590b0..4167ced431a14 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.flue - 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 b7acf31037ead..cdaf3b29edb87 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.flue - javascript.wasm --- diff --git a/docs/platforms/javascript/common/configuration/integrations/supabase.mdx b/docs/platforms/javascript/common/configuration/integrations/supabase.mdx index 1531e7a70c7dc..0648db318ca5a 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.flue - 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 e342f6524fc8b..f099a74d06dbe 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.flue - 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 cb211e252282b..6ebe82dda22eb 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.flue - 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 f57ae4218345e..3d6ef48fccde9 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.flue - 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 f31d32a915cf4..3b6faa5611bbf 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.flue - javascript.wasm --- diff --git a/docs/platforms/javascript/common/configuration/integrations/webworker.mdx b/docs/platforms/javascript/common/configuration/integrations/webworker.mdx index f11d69067ac62..5b73ab23b8029 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.flue - 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 bb01428c92151..61991dbf2f388 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.flue - 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 62421f5321de0..c9bb6b7db59e4 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.flue - 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 31a92b14ea988..4f3e1968caeea 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.flue - 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 45c42550f58d4..b2b9bb5a57444 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 1084ec01f5736..b95d42a7af4e4 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.flue - 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 02b943bf8c329..51ade53f65387 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.flue --- ## Prerequisites diff --git a/docs/platforms/javascript/common/install/index.mdx b/docs/platforms/javascript/common/install/index.mdx index 890fe54413bc7..f40fd37822699 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.flue - 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 2faf83c9ac603..346db5e169e17 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.flue - 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 ee96257346d9a..3fbec99b4e57a 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.flue - 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 7d4e8f57d22fc..f146a8dd34653 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 38719d739d7c7..02db47e5f47e8 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 d16ba4a9f772f..964997b67bac3 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.flue - 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 a294374981683..d4ad35ecd4388 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.flue - 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 468373c3a6025..a7114d3cf2c7e 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.flue - 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 8d0aaa5120a4a..ef6fa6ace1776 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.flue - 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 84acbfae9b5a3..384b1dfce9ddc 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.flue - 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 3425738c5b120..3adcc3ee35488 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.flue - 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 952e3ec81101c..f6549df73ce5c 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.flue - 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 0db38b2eeb2c1..9372a968a96bd 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.flue - 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 b3c077f924ac4..7b494521ffec3 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.flue - 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 65b23532e112f..317f0930e6564 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.flue - 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 268c9c4edaed3..d512c1b8e9f5c 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.flue - 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 2d5297f318241..83768cf3cb8fb 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.flue - 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 79d730c922d43..663ca69be3e4f 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 af5c625753735..944f9b6702b2f 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.flue - 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 752ce6b633531..549adcaa450d5 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.flue - 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 0c6f6ebff99b3..9ff9ccba17aeb 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.flue - 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 e776b6bb0d1d7..fb4a293a18cd0 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.flue --- - + ## 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 30060620d149f..2713ca2ad20b4 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.flue --- @@ -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 e1972e64c8a42..e4bbdef1c6605 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.flue --- 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 From b34b8a011a7245d7bc9fa9b5fdfff195df6b8a42 Mon Sep 17 00:00:00 2001 From: RulaKhaled Date: Tue, 22 Sep 2026 12:42:34 +0300 Subject: [PATCH 04/13] docs(javascript): Add Flue to the standalone Agent Tracing sidebar guides Master added `STANDALONE_AGENT_TRACING_GUIDES` when it lifted Mastra into its own guide, so every JavaScript guide's Agent Tracing section keeps a link-only entry pointing at the dedicated guide. This branch forked before that existed and deletes `common/agent-tracing/flue.mdx`, so Flue was dropping out of those sidebars entirely. `sidebar_order: 28` is the order the deleted page carried, which keeps Flue after Mastra and Eve where readers already expect it. Co-Authored-By: Claude Opus 5 --- src/components/sidebar/platformSidebar.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/sidebar/platformSidebar.tsx b/src/components/sidebar/platformSidebar.tsx index 27c660d7c1437..9f8fa5f32a620 100644 --- a/src/components/sidebar/platformSidebar.tsx +++ b/src/components/sidebar/platformSidebar.tsx @@ -34,6 +34,7 @@ const STANDALONE_AGENT_TRACING_GUIDES: { }[] = [ {guide: 'mastra', slug: 'mastra', title: 'Mastra', sidebar_order: 26}, {guide: 'eve', slug: 'eve', title: 'Eve', sidebar_order: 27}, + {guide: 'flue', slug: 'flue', title: 'Flue', sidebar_order: 28}, ]; export function PlatformSidebar({ @@ -139,7 +140,7 @@ export function PlatformSidebar({ }; }).filter(alias => alias !== undefined); - // Surface the standalone Mastra and Eve guides from every JavaScript Agent + // Surface the standalone agent-framework 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 = From 0f11a1b46060f8f89a31e6aecafa18d19d6f2873 Mon Sep 17 00:00:00 2001 From: RulaKhaled Date: Tue, 22 Sep 2026 13:17:39 +0300 Subject: [PATCH 05/13] docs(javascript): Drop unverifiable claims from the Flue guide MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Checked every claim in the guide against the SDK source and against a real `flue build` app (`@sentry/node@11.0.0-rc.1`, `@flue/runtime@2.0.3`, Node 24.11.1, live provider). What did not hold up: - "Instrument HTTP and Database Calls" is gone. Running the app with and without `NODE_OPTIONS='--import=@sentry/node/import'` produced the same spans both times: `http.server`, two `http.client` to the provider, and the full `gen_ai` set. The Node client constructor already calls `registerDiagnosticsChannelInjection()`, so `Sentry.init()` installs the hooks itself. The database half could never be true either — Flue's default `sqlite()` adapter is `node:sqlite`, which has no entry in `SENTRY_RUNTIME_INSTRUMENTATIONS`. - Registering twice does not stack observers. `createFlueInstrumentation()` sets `key: FLUE_INSTRUMENTATION_KEY`, so Flue throws `InstrumentationAlreadyInstalledError` in production and swaps the registration in dev. The warning described the keyless case. - "before Flue loads your agents" is not the requirement. A real `flue build` hoists `@flue/runtime` above the bundle body that runs `Sentry.init()`, and the spans still arrive. Running before a turn is what matters. - The conversation id is per conversation, not per agent instance. Two chat ids against one agent in one process produced two different `gen_ai.conversation.id` values. - `gen_ai.agent.name` lands only on the `invoke_agent` span, so it cannot be used to compare token use, which is recorded on the `chat` span. - Tool errors are always captured. `endToolSpan()` calls `captureToolError()` whenever `isError` is set, and the recovered case is exactly the one Flue hands back to the model, so nothing "stays on the trace as context". - The Cloudflare floor was wrong. `sentryFlueRuntimeProviderPlugin` is absent from `@sentry/cloudflare@11.0.0-rc.0` and first ships in rc.1. `@sentry/node`'s `createFlueInstrumentation` is in rc.0, so that floor stays. Verified and left alone: the `dataCollection.genAI` defaults (both `true` in `resolveDataCollectionOptions`), the operation mapping table, the `auto.ai.flue` origin, `flue.turn.purpose`, the `instrument.server.ts` troubleshooting note, and every API name on the Cloudflare page. Co-Authored-By: Claude Opus 5 --- .../javascript/guides/flue/cloudflare.mdx | 10 ++++----- .../javascript/guides/flue/index.mdx | 22 +++++-------------- includes/flue/link-conversations.mdx | 4 ++-- includes/flue/sdk-setup-alert.mdx | 2 +- includes/flue/what-gets-captured.mdx | 2 +- 5 files changed, 14 insertions(+), 26 deletions(-) diff --git a/docs/platforms/javascript/guides/flue/cloudflare.mdx b/docs/platforms/javascript/guides/flue/cloudflare.mdx index 9a90a72d2e90c..57e74e488e3c6 100644 --- a/docs/platforms/javascript/guides/flue/cloudflare.mdx +++ b/docs/platforms/javascript/guides/flue/cloudflare.mdx @@ -16,7 +16,7 @@ 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 Flue application using `@flue/runtime` version `2.0.0` or later, targeting Cloudflare. -- `@sentry/cloudflare` version `11.0.0-rc.0` or later. +- `@sentry/cloudflare` version `11.0.0-rc.1` or later. @@ -32,15 +32,15 @@ Choose the features you want to configure, and this guide will show you how: Install the Sentry Cloudflare SDK: ```bash {tabTitle:npm} -npm install @sentry/cloudflare@^11.0.0-rc.0 +npm install @sentry/cloudflare@^11.0.0-rc.1 ``` ```bash {tabTitle:yarn} -yarn add @sentry/cloudflare@^11.0.0-rc.0 +yarn add @sentry/cloudflare@^11.0.0-rc.1 ``` ```bash {tabTitle:pnpm} -pnpm add @sentry/cloudflare@^11.0.0-rc.0 +pnpm add @sentry/cloudflare@^11.0.0-rc.1 ``` ## Configure @@ -146,5 +146,5 @@ See [`dataCollection` documentation](../configuration/options/#dataCollection) f ## Supported Versions -- `@sentry/cloudflare`: `>=11.0.0-rc.0` +- `@sentry/cloudflare`: `>=11.0.0-rc.1` - `@flue/runtime`: `>=2.0.0 <3.0.0` diff --git a/docs/platforms/javascript/guides/flue/index.mdx b/docs/platforms/javascript/guides/flue/index.mdx index 4f40f424d25a9..96bb52921a3f1 100644 --- a/docs/platforms/javascript/guides/flue/index.mdx +++ b/docs/platforms/javascript/guides/flue/index.mdx @@ -26,7 +26,7 @@ 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 Flue application using `@flue/runtime` version `2.0.0` or later. Flue requires Node.js `22.19` or later. -- `@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. +- `@sentry/node` version `11.0.0-rc.0` or later, or [`@sentry/cloudflare@^11.0.0-rc.1` when running on Cloudflare](./cloudflare). Browser runtimes are not supported. @@ -75,28 +75,16 @@ Sentry.init({ instrument(Sentry.createFlueInstrumentation()); ``` -Import it as the first line of your app entry, before Flue loads your agents: +Import it at the top of your app entry, so it runs before your agents take a turn: ```typescript {filename:src/app.ts} import "../sentry-init.ts"; ``` -Call `instrument()` once, at module scope. Registering twice would install a second observer and duplicate every span. +Call `instrument()` once, at module scope. -### Instrument HTTP and Database Calls - -To also trace the outgoing requests and database queries your tools make, preload the SDK when you start the server: - -```json {filename:package.json} -{ - "scripts": { - "start": "NODE_OPTIONS='--import=@sentry/node/import' node dist/server.mjs" - } -} -``` - ### 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`: @@ -121,7 +109,7 @@ See [`dataCollection` documentation](./configuration/options/#dataCollection) fo ## Troubleshooting - **Token and cost values are doubled.** Remove the `createOpenTelemetryInstrumentation` call left over from the `flue add tooling sentry` blueprint. Flue emits its own model spans through it, so both it and the SDK count the same turn. -- **No AI spans at all.** Confirm `instrument(Sentry.createFlueInstrumentation())` runs before Flue loads your agents. Importing `sentry-init.ts` as the first line of `src/app.ts` is what guarantees that. +- **No AI spans at all.** Confirm `instrument(Sentry.createFlueInstrumentation())` actually runs. Importing `sentry-init.ts` at the top of `src/app.ts` runs it during app startup, before any agent takes a turn. @@ -130,5 +118,5 @@ See [`dataCollection` documentation](./configuration/options/#dataCollection) fo ## Supported Versions - `@sentry/node`: `>=11.0.0-rc.0` -- `@sentry/cloudflare`: `>=11.0.0-rc.0` +- `@sentry/cloudflare`: `>=11.0.0-rc.1` - `@flue/runtime`: `>=2.0.0 <3.0.0` diff --git a/includes/flue/link-conversations.mdx b/includes/flue/link-conversations.mdx index 25e19038f4e2f..4222f01a38212 100644 --- a/includes/flue/link-conversations.mdx +++ b/includes/flue/link-conversations.mdx @@ -1,5 +1,5 @@ ### Link Conversations -Sentry groups a multi-turn chat into a single [Conversation](/product/agents/conversations/) automatically — there's no Sentry-specific setup. Flue already tracks a conversation per agent instance, and the SDK maps that id to `gen_ai.conversation.id` on every span in the turn. +Sentry groups a multi-turn chat into a single [Conversation](/product/agents/conversations/) automatically — there's no Sentry-specific setup. Flue already tracks a conversation id per conversation, and the SDK maps it to `gen_ai.conversation.id` on the agent, model, and tool spans of every turn. -Spans also carry `gen_ai.agent.name`, so you can compare token use and latency across a lead agent and its subagents. +The agent span also carries `gen_ai.agent.name`, so you can tell a lead agent's runs from its subagents'. diff --git a/includes/flue/sdk-setup-alert.mdx b/includes/flue/sdk-setup-alert.mdx index 2c27831f60dfb..c1c1f9c55b4ab 100644 --- a/includes/flue/sdk-setup-alert.mdx +++ b/includes/flue/sdk-setup-alert.mdx @@ -1,5 +1,5 @@ -This guide covers the Sentry SDK-based setup, which replaces the `flue add tooling sentry` blueprint. It requires JavaScript SDK version `11.0.0-rc.0` or later. If you previously ran the blueprint, remove its `createOpenTelemetryInstrumentation` call — it emits its own `gen_ai` spans and will double-count against the ones the SDK creates. +This guide covers the Sentry SDK-based setup, which replaces the `flue add tooling sentry` blueprint. If you previously ran the blueprint, remove its `createOpenTelemetryInstrumentation` call — it emits its own `gen_ai` spans and will double-count against the ones the SDK creates. diff --git a/includes/flue/what-gets-captured.mdx b/includes/flue/what-gets-captured.mdx index cd4cdae89ec94..90aeb1922e8a3 100644 --- a/includes/flue/what-gets-captured.mdx +++ b/includes/flue/what-gets-captured.mdx @@ -12,6 +12,6 @@ Spans are tagged with `sentry.origin: auto.ai.flue` and carry the model, token u A `chat` span also carries `flue.turn.purpose`, which is how you tell a context-compaction turn from a user-facing one. There's no conventional attribute for that distinction. -A tool that throws is captured as an error and its span is marked failed. A tool error your agent recovers from stays on the trace as context rather than becoming an issue. +A tool that throws is captured as an error and its span is marked failed. Flue catches the throw and hands it back to the model as a tool result, so the error is reported as handled. From cdcf3c86c453545f97d7dba916eef5e19ee163c1 Mon Sep 17 00:00:00 2001 From: RulaKhaled Date: Tue, 22 Sep 2026 19:59:28 +0300 Subject: [PATCH 06/13] docs(javascript): Rename the Flue init file to instrument.ts `sentry-init.ts` was not used anywhere else in the docs. The Node convention is `instrument.*`, which is what the Mastra guide and the generic Node pages already use. Deliberately not `instrument.server.ts`: the Flue Cloudflare page documents that name as having no effect for Flue, so reusing it here would collide with a troubleshooting entry one page over. Co-Authored-By: Claude Opus 5 --- .../javascript/guides/flue/index.mdx | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/platforms/javascript/guides/flue/index.mdx b/docs/platforms/javascript/guides/flue/index.mdx index 96bb52921a3f1..1be55611aee5c 100644 --- a/docs/platforms/javascript/guides/flue/index.mdx +++ b/docs/platforms/javascript/guides/flue/index.mdx @@ -26,7 +26,7 @@ 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 Flue application using `@flue/runtime` version `2.0.0` or later. Flue requires Node.js `22.19` or later. -- `@sentry/node` version `11.0.0-rc.0` or later, or [`@sentry/cloudflare@^11.0.0-rc.1` when running on Cloudflare](./cloudflare). Browser runtimes are not supported. +- `@sentry/node` or `@sentry/cloudflare` version `11.0.0` or later. Browser runtimes are not supported. @@ -42,22 +42,22 @@ Choose the features you want to configure, and this guide will show you how: Install the Sentry Node SDK: ```bash {tabTitle:npm} -npm install @sentry/node@^11.0.0-rc.0 +npm install @sentry/node@^11.0.0 ``` ```bash {tabTitle:yarn} -yarn add @sentry/node@^11.0.0-rc.0 +yarn add @sentry/node@^11.0.0 ``` ```bash {tabTitle:pnpm} -pnpm add @sentry/node@^11.0.0-rc.0 +pnpm add @sentry/node@^11.0.0 ``` ## Configure Create a file that calls `Sentry.init()` and registers the Flue instrumentation. Flue is instrumented by registering with it rather than by patching, so this `instrument()` call is what connects the two: -```typescript {filename:sentry-init.ts} +```typescript {filename:instrument.ts} import { instrument } from "@flue/runtime"; import * as Sentry from "@sentry/node"; @@ -78,7 +78,7 @@ instrument(Sentry.createFlueInstrumentation()); Import it at the top of your app entry, so it runs before your agents take a turn: ```typescript {filename:src/app.ts} -import "../sentry-init.ts"; +import "../instrument.ts"; ``` Call `instrument()` once, at module scope. @@ -89,7 +89,7 @@ Call `instrument()` once, at module scope. 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:sentry-init.ts} +```typescript {filename:instrument.ts} Sentry.init({ dsn: "___PUBLIC_DSN___", dataCollection: { @@ -109,7 +109,7 @@ See [`dataCollection` documentation](./configuration/options/#dataCollection) fo ## Troubleshooting - **Token and cost values are doubled.** Remove the `createOpenTelemetryInstrumentation` call left over from the `flue add tooling sentry` blueprint. Flue emits its own model spans through it, so both it and the SDK count the same turn. -- **No AI spans at all.** Confirm `instrument(Sentry.createFlueInstrumentation())` actually runs. Importing `sentry-init.ts` at the top of `src/app.ts` runs it during app startup, before any agent takes a turn. +- **No AI spans at all.** Confirm `instrument(Sentry.createFlueInstrumentation())` actually runs. Importing `instrument.ts` at the top of `src/app.ts` runs it during app startup, before any agent takes a turn. @@ -117,6 +117,6 @@ See [`dataCollection` documentation](./configuration/options/#dataCollection) fo ## Supported Versions -- `@sentry/node`: `>=11.0.0-rc.0` -- `@sentry/cloudflare`: `>=11.0.0-rc.1` +- `@sentry/node`: `>=11.0.0` +- `@sentry/cloudflare`: `>=11.0.0` - `@flue/runtime`: `>=2.0.0 <3.0.0` From 5f48a476452fd2e47c8a74e5fe25fc1bb352c394 Mon Sep 17 00:00:00 2001 From: RulaKhaled Date: Tue, 22 Sep 2026 19:59:35 +0300 Subject: [PATCH 07/13] docs(javascript): Move the Flue guide to v11 Drops the `-rc.1` suffix from all 11 version strings across both Flue pages. Both packages now share one floor, so the split `@sentry/node` rc.0 / `@sentry/cloudflare` rc.1 table goes away with it. Note that `^11.0.0` does not resolve until v11 GA, so this wants to land with the release rather than before it. Co-Authored-By: Claude Opus 5 --- docs/platforms/javascript/guides/flue/cloudflare.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/platforms/javascript/guides/flue/cloudflare.mdx b/docs/platforms/javascript/guides/flue/cloudflare.mdx index 57e74e488e3c6..a02e342a18eec 100644 --- a/docs/platforms/javascript/guides/flue/cloudflare.mdx +++ b/docs/platforms/javascript/guides/flue/cloudflare.mdx @@ -16,7 +16,7 @@ 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 Flue application using `@flue/runtime` version `2.0.0` or later, targeting Cloudflare. -- `@sentry/cloudflare` version `11.0.0-rc.1` or later. +- `@sentry/cloudflare` version `11.0.0` or later. @@ -32,15 +32,15 @@ Choose the features you want to configure, and this guide will show you how: Install the Sentry Cloudflare SDK: ```bash {tabTitle:npm} -npm install @sentry/cloudflare@^11.0.0-rc.1 +npm install @sentry/cloudflare@^11.0.0 ``` ```bash {tabTitle:yarn} -yarn add @sentry/cloudflare@^11.0.0-rc.1 +yarn add @sentry/cloudflare@^11.0.0 ``` ```bash {tabTitle:pnpm} -pnpm add @sentry/cloudflare@^11.0.0-rc.1 +pnpm add @sentry/cloudflare@^11.0.0 ``` ## Configure @@ -146,5 +146,5 @@ See [`dataCollection` documentation](../configuration/options/#dataCollection) f ## Supported Versions -- `@sentry/cloudflare`: `>=11.0.0-rc.1` +- `@sentry/cloudflare`: `>=11.0.0` - `@flue/runtime`: `>=2.0.0 <3.0.0` From 1a090cb270e877e4b66b5cd4f0bef28f3b408110 Mon Sep 17 00:00:00 2001 From: RulaKhaled Date: Wed, 23 Sep 2026 16:26:30 +0300 Subject: [PATCH 08/13] docs(javascript): Move the Flue init file into src @mydea asked why it sat at the repo root. No good reason: the Cloudflare page already puts its equivalent at `src/sentry.ts`, so the Node page was the odd one out. `@flue/vite` scans `src/` for `'use agent'` modules, and a plain module there is inert, so the agent binding still resolves after the move. Co-Authored-By: Claude Opus 5 --- docs/platforms/javascript/guides/flue/index.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/platforms/javascript/guides/flue/index.mdx b/docs/platforms/javascript/guides/flue/index.mdx index 1be55611aee5c..e583f0861b49f 100644 --- a/docs/platforms/javascript/guides/flue/index.mdx +++ b/docs/platforms/javascript/guides/flue/index.mdx @@ -57,7 +57,7 @@ pnpm add @sentry/node@^11.0.0 Create a file that calls `Sentry.init()` and registers the Flue instrumentation. Flue is instrumented by registering with it rather than by patching, so this `instrument()` call is what connects the two: -```typescript {filename:instrument.ts} +```typescript {filename:src/instrument.ts} import { instrument } from "@flue/runtime"; import * as Sentry from "@sentry/node"; @@ -78,7 +78,7 @@ instrument(Sentry.createFlueInstrumentation()); Import it at the top of your app entry, so it runs before your agents take a turn: ```typescript {filename:src/app.ts} -import "../instrument.ts"; +import "./instrument.ts"; ``` Call `instrument()` once, at module scope. @@ -89,7 +89,7 @@ Call `instrument()` once, at module scope. 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:instrument.ts} +```typescript {filename:src/instrument.ts} Sentry.init({ dsn: "___PUBLIC_DSN___", dataCollection: { @@ -109,7 +109,7 @@ See [`dataCollection` documentation](./configuration/options/#dataCollection) fo ## Troubleshooting - **Token and cost values are doubled.** Remove the `createOpenTelemetryInstrumentation` call left over from the `flue add tooling sentry` blueprint. Flue emits its own model spans through it, so both it and the SDK count the same turn. -- **No AI spans at all.** Confirm `instrument(Sentry.createFlueInstrumentation())` actually runs. Importing `instrument.ts` at the top of `src/app.ts` runs it during app startup, before any agent takes a turn. +- **No AI spans at all.** Confirm `instrument(Sentry.createFlueInstrumentation())` actually runs. Importing `src/instrument.ts` at the top of `src/app.ts` runs it during app startup, before any agent takes a turn. From 79315bda6f11b7e94acbcb91e5c87c14efe00611 Mon Sep 17 00:00:00 2001 From: RulaKhaled Date: Wed, 23 Sep 2026 16:26:47 +0300 Subject: [PATCH 09/13] docs(javascript): Offer profiling in the Flue guide MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @mydea asked whether there was a reason it was missing. There wasn't — the Eve and Mastra guides both offer it and nothing about a Flue app blocks `@sentry/profiling-node`. Mirrors Eve's structure exactly, so the two pages stay diffable: the split install block, the integration, and `profileSessionSampleRate`. Co-Authored-By: Claude Opus 5 --- .../javascript/guides/flue/index.mdx | 39 ++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/docs/platforms/javascript/guides/flue/index.mdx b/docs/platforms/javascript/guides/flue/index.mdx index e583f0861b49f..d14c0339cca8d 100644 --- a/docs/platforms/javascript/guides/flue/index.mdx +++ b/docs/platforms/javascript/guides/flue/index.mdx @@ -35,12 +35,14 @@ Before you begin, you need: Choose the features you want to configure, and this guide will show you how: Install the Sentry Node SDK: + + ```bash {tabTitle:npm} npm install @sentry/node@^11.0.0 ``` @@ -53,6 +55,24 @@ yarn add @sentry/node@^11.0.0 pnpm add @sentry/node@^11.0.0 ``` + + + + +```bash {tabTitle:npm} +npm install @sentry/node@^11.0.0 @sentry/profiling-node@^11.0.0 +``` + +```bash {tabTitle:yarn} +yarn add @sentry/node@^11.0.0 @sentry/profiling-node@^11.0.0 +``` + +```bash {tabTitle:pnpm} +pnpm add @sentry/node@^11.0.0 @sentry/profiling-node@^11.0.0 +``` + + + ## Configure Create a file that calls `Sentry.init()` and registers the Flue instrumentation. Flue is instrumented by registering with it rather than by patching, so this `instrument()` call is what connects the two: @@ -60,9 +80,19 @@ Create a file that calls `Sentry.init()` and registers the Flue instrumentation. ```typescript {filename:src/instrument.ts} import { instrument } from "@flue/runtime"; 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% @@ -70,6 +100,13 @@ Sentry.init({ // We recommend adjusting this value in production. 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 }); instrument(Sentry.createFlueInstrumentation()); From e9e8eb1b9f944ac84ef3060b61fcf9b61d060b5c Mon Sep 17 00:00:00 2001 From: RulaKhaled Date: Wed, 23 Sep 2026 16:27:03 +0300 Subject: [PATCH 10/13] docs(javascript): Add the Sentry loader step to the Flue guide @mydea asked for this and was right twice over. I had cut an earlier version of the step after measuring no difference, but the probes were `node:http` and `graphql`, neither of which goes through the orchestrion module transform, so both were always going to pass without the loader. Re-measured with `dataloader`, which is what `node-flue/tests/dataloader.test.ts` asserts on. Without the loader the tool runs and emits no span at all; with it, four `cache.get` spans nest under `gen_ai.execute_tool`. A Flue build hoists dependencies above the bundle body, so `dataloader` is loaded before `Sentry.init()` installs the hooks and can never be transformed. His second point was the summary include promising that "other instrumented libraries your tools call appear in the same trace" unconditionally. That rendered on both pages and was only true on one of them, so the claim moves to where it can state its own terms: the loader step on Node, and the build-time Vite plugin on Cloudflare. Co-Authored-By: Claude Opus 5 --- .../javascript/guides/flue/cloudflare.mdx | 2 +- docs/platforms/javascript/guides/flue/index.mdx | 17 ++++++++++++++++- includes/flue/captured-summary.mdx | 2 +- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/docs/platforms/javascript/guides/flue/cloudflare.mdx b/docs/platforms/javascript/guides/flue/cloudflare.mdx index a02e342a18eec..e5c274aa0189d 100644 --- a/docs/platforms/javascript/guides/flue/cloudflare.mdx +++ b/docs/platforms/javascript/guides/flue/cloudflare.mdx @@ -62,7 +62,7 @@ export default defineConfig({ }); ``` -The plugin registers the Flue instrumentation for you at build time, so you don't write an `instrument()` call as you do on Node.js. +The plugin registers the Flue instrumentation for you at build time, so you don't write an `instrument()` call as you do on Node.js. It instruments the other libraries your tools call at the same point, so their spans land in the agent's trace. Each Flue agent runs in its own Durable Object, which is a separate isolate from your Worker entry. `Sentry.init()` has to run inside it, so create a module that wraps the generated agent Durable Object: diff --git a/docs/platforms/javascript/guides/flue/index.mdx b/docs/platforms/javascript/guides/flue/index.mdx index d14c0339cca8d..5a87966bc49b9 100644 --- a/docs/platforms/javascript/guides/flue/index.mdx +++ b/docs/platforms/javascript/guides/flue/index.mdx @@ -118,7 +118,22 @@ Import it at the top of your app entry, so it runs before your agents take a tur import "./instrument.ts"; ``` -Call `instrument()` once, at module scope. +Call `instrument()` once, at module scope. On Cloudflare the Vite plugin registers the instrumentation at build time instead; on Node there's no equivalent, so this call is what installs it. + +### Run With the Sentry Loader + +Libraries like database drivers, caches, and `dataloader` are instrumented by a module transform that has to be installed before your app loads them. A Flue build imports your dependencies before `src/instrument.ts` runs, so start the server with the Sentry loader to catch them: + +```json {filename:package.json} +{ + "scripts": { + "dev": "NODE_OPTIONS='--import=@sentry/node/import' vite dev", + "start": "NODE_OPTIONS='--import=@sentry/node/import' node dist/server.mjs" + } +} +``` + +Agent, model, and tool spans arrive without this, as do outgoing HTTP requests. Everything instrumented through the module transform needs it. diff --git a/includes/flue/captured-summary.mdx b/includes/flue/captured-summary.mdx index 1aa1039fc66e0..f09194a81d8e4 100644 --- a/includes/flue/captured-summary.mdx +++ b/includes/flue/captured-summary.mdx @@ -1,3 +1,3 @@ -With this setup, Sentry captures errors thrown by your agents and tools, and AI spans for every run (agent turns, model calls, tool executions, token usage, and latency). Manual spans you start inside a tool nest under that tool's span, and other instrumented libraries your tools call appear in the same trace. +With this setup, Sentry captures errors thrown by your agents and tools, and AI spans for every run (agent turns, model calls, tool executions, token usage, and latency). Manual spans you start inside a tool nest under that tool's span. To review what's captured and turn recording of prompts and responses off, see [Privacy Controls](#privacy-controls) below. From 84b90d3835a3295a43e9f9f726ebc288e96edcd8 Mon Sep 17 00:00:00 2001 From: RulaKhaled Date: Wed, 23 Sep 2026 16:27:15 +0300 Subject: [PATCH 11/13] docs(javascript): Pin the Flue guide to 11.0.0-rc.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `@sentry/node@11.0.0` is not published — npm has `11.0.0-alpha.0` through `11.0.0-rc.1`, with `latest` still on 10.x — so `^11.0.0` resolved to nothing and the guide's first install command failed. The Eve and Mastra guides pin rc.1 in twelve places; the Flue pages were the only ones out of step. Revert this when v11 ships, along with the other two guides. Co-Authored-By: Claude Opus 5 --- .../javascript/guides/flue/cloudflare.mdx | 10 +++++----- .../platforms/javascript/guides/flue/index.mdx | 18 +++++++++--------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/platforms/javascript/guides/flue/cloudflare.mdx b/docs/platforms/javascript/guides/flue/cloudflare.mdx index e5c274aa0189d..dea6cecf8b172 100644 --- a/docs/platforms/javascript/guides/flue/cloudflare.mdx +++ b/docs/platforms/javascript/guides/flue/cloudflare.mdx @@ -16,7 +16,7 @@ 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 Flue application using `@flue/runtime` version `2.0.0` or later, targeting Cloudflare. -- `@sentry/cloudflare` version `11.0.0` or later. +- `@sentry/cloudflare` version `11.0.0-rc.1` or later. @@ -32,15 +32,15 @@ Choose the features you want to configure, and this guide will show you how: Install the Sentry Cloudflare SDK: ```bash {tabTitle:npm} -npm install @sentry/cloudflare@^11.0.0 +npm install @sentry/cloudflare@^11.0.0-rc.1 ``` ```bash {tabTitle:yarn} -yarn add @sentry/cloudflare@^11.0.0 +yarn add @sentry/cloudflare@^11.0.0-rc.1 ``` ```bash {tabTitle:pnpm} -pnpm add @sentry/cloudflare@^11.0.0 +pnpm add @sentry/cloudflare@^11.0.0-rc.1 ``` ## Configure @@ -146,5 +146,5 @@ See [`dataCollection` documentation](../configuration/options/#dataCollection) f ## Supported Versions -- `@sentry/cloudflare`: `>=11.0.0` +- `@sentry/cloudflare`: `>=11.0.0-rc.1` - `@flue/runtime`: `>=2.0.0 <3.0.0` diff --git a/docs/platforms/javascript/guides/flue/index.mdx b/docs/platforms/javascript/guides/flue/index.mdx index 5a87966bc49b9..e88516217890e 100644 --- a/docs/platforms/javascript/guides/flue/index.mdx +++ b/docs/platforms/javascript/guides/flue/index.mdx @@ -26,7 +26,7 @@ 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 Flue application using `@flue/runtime` version `2.0.0` or later. Flue requires Node.js `22.19` or later. -- `@sentry/node` or `@sentry/cloudflare` version `11.0.0` or later. Browser runtimes are not supported. +- `@sentry/node` or `@sentry/cloudflare` version `11.0.0-rc.1` or later. Browser runtimes are not supported. @@ -44,15 +44,15 @@ Install the Sentry Node SDK: ```bash {tabTitle:npm} -npm install @sentry/node@^11.0.0 +npm install @sentry/node@^11.0.0-rc.1 ``` ```bash {tabTitle:yarn} -yarn add @sentry/node@^11.0.0 +yarn add @sentry/node@^11.0.0-rc.1 ``` ```bash {tabTitle:pnpm} -pnpm add @sentry/node@^11.0.0 +pnpm add @sentry/node@^11.0.0-rc.1 ``` @@ -60,15 +60,15 @@ pnpm add @sentry/node@^11.0.0 ```bash {tabTitle:npm} -npm install @sentry/node@^11.0.0 @sentry/profiling-node@^11.0.0 +npm install @sentry/node@^11.0.0-rc.1 @sentry/profiling-node@^11.0.0-rc.1 ``` ```bash {tabTitle:yarn} -yarn add @sentry/node@^11.0.0 @sentry/profiling-node@^11.0.0 +yarn add @sentry/node@^11.0.0-rc.1 @sentry/profiling-node@^11.0.0-rc.1 ``` ```bash {tabTitle:pnpm} -pnpm add @sentry/node@^11.0.0 @sentry/profiling-node@^11.0.0 +pnpm add @sentry/node@^11.0.0-rc.1 @sentry/profiling-node@^11.0.0-rc.1 ``` @@ -169,6 +169,6 @@ See [`dataCollection` documentation](./configuration/options/#dataCollection) fo ## Supported Versions -- `@sentry/node`: `>=11.0.0` -- `@sentry/cloudflare`: `>=11.0.0` +- `@sentry/node`: `>=11.0.0-rc.1` +- `@sentry/cloudflare`: `>=11.0.0-rc.1` - `@flue/runtime`: `>=2.0.0 <3.0.0` From f756d9e4f30c12c31d7c0f6da4c3766a2e70bf10 Mon Sep 17 00:00:00 2001 From: RulaKhaled Date: Wed, 23 Sep 2026 16:27:22 +0300 Subject: [PATCH 12/13] docs(javascript): Take @mydea's wording for the blueprint alert Shorter and says the same thing. The version sentence his suggestion also dropped was already gone: this include renders on the Node and Cloudflare pages both, and they have different floors, so it could not name one. Co-Authored-By: Claude Opus 5 --- includes/flue/sdk-setup-alert.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/flue/sdk-setup-alert.mdx b/includes/flue/sdk-setup-alert.mdx index c1c1f9c55b4ab..f65ee642d8308 100644 --- a/includes/flue/sdk-setup-alert.mdx +++ b/includes/flue/sdk-setup-alert.mdx @@ -1,5 +1,5 @@ -This guide covers the Sentry SDK-based setup, which replaces the `flue add tooling sentry` blueprint. If you previously ran the blueprint, remove its `createOpenTelemetryInstrumentation` call — it emits its own `gen_ai` spans and will double-count against the ones the SDK creates. +This guide covers the Sentry SDK-based setup, which replaces the `flue add tooling sentry` blueprint. If you previously ran the blueprint, remove its `createOpenTelemetryInstrumentation` call — otherwise, you will get duplicate spans. From 692a08b1d56ebb55d3b3612202718fa39a20edff Mon Sep 17 00:00:00 2001 From: RulaKhaled Date: Wed, 23 Sep 2026 16:41:58 +0300 Subject: [PATCH 13/13] docs(javascript): Redirect the pre-rename Flue paths in one hop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Flue block only covered agent-tracing sources. The generic rename redirects rewrite the older names onto those paths, chaining two hops: /platforms/javascript/ai-agent-monitoring/flue/ -> /platforms/javascript/guides/node/agent-tracing/flue/ -> /platforms/javascript/guides/flue/ Direct rules for ai-agent-monitoring and ai-agent-tracing collapse that to one, mirroring the Mastra block. The Cloudflare rules are listed before the `:guide` wildcard so its readers keep landing on the Cloudflare page, same as the agent-tracing rules above them. The chain linter cannot see this chain — the first hop's destination comes out of a `:path*` substitution, which never literally equals another rule's source. Co-Authored-By: Claude Opus 5 --- redirects.js | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/redirects.js b/redirects.js index 0257ff91155d5..ffb1e43a097f4 100644 --- a/redirects.js +++ b/redirects.js @@ -2476,6 +2476,57 @@ const userDocsRedirects = [ source: '/platforms/javascript/guides/:guide/agent-tracing/flue/:path*', destination: '/platforms/javascript/guides/flue/', }, + // The pre-rename names (ai-agent-monitoring, ai-agent-tracing) need their own + // rules: the generic rename redirects rewrite them onto agent-tracing/flue + // paths, which the rules above redirect again — a 2-hop chain. + { + source: '/platforms/javascript/guides/cloudflare/ai-agent-monitoring/flue.md', + destination: '/platforms/javascript/guides/flue/cloudflare/', + }, + { + source: '/platforms/javascript/guides/cloudflare/ai-agent-monitoring/flue/:path*', + destination: '/platforms/javascript/guides/flue/cloudflare/', + }, + { + source: '/platforms/javascript/guides/cloudflare/ai-agent-tracing/flue.md', + destination: '/platforms/javascript/guides/flue/cloudflare/', + }, + { + source: '/platforms/javascript/guides/cloudflare/ai-agent-tracing/flue/:path*', + destination: '/platforms/javascript/guides/flue/cloudflare/', + }, + { + source: '/platforms/javascript/ai-agent-monitoring/flue.md', + destination: '/platforms/javascript/guides/flue/', + }, + { + source: '/platforms/javascript/ai-agent-monitoring/flue/:path*', + destination: '/platforms/javascript/guides/flue/', + }, + { + source: '/platforms/javascript/guides/:guide/ai-agent-monitoring/flue.md', + destination: '/platforms/javascript/guides/flue/', + }, + { + source: '/platforms/javascript/guides/:guide/ai-agent-monitoring/flue/:path*', + destination: '/platforms/javascript/guides/flue/', + }, + { + source: '/platforms/javascript/ai-agent-tracing/flue.md', + destination: '/platforms/javascript/guides/flue/', + }, + { + source: '/platforms/javascript/ai-agent-tracing/flue/:path*', + destination: '/platforms/javascript/guides/flue/', + }, + { + source: '/platforms/javascript/guides/:guide/ai-agent-tracing/flue.md', + destination: '/platforms/javascript/guides/flue/', + }, + { + source: '/platforms/javascript/guides/:guide/ai-agent-tracing/flue/:path*', + destination: '/platforms/javascript/guides/flue/', + }, // Mastra lifted from the Agent Tracing integration page to a standalone guide. // Map older names directly to the guide to avoid redirect chains. {