[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-sentry-sentry-node-sdk":3,"mdc-ymjt8b-key":36,"related-repo-sentry-sentry-node-sdk":12813,"related-org-sentry-sentry-node-sdk":12919},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":24,"repoUrl":25,"updatedAt":26,"license":27,"forks":28,"topics":29,"repo":31,"sourceUrl":34,"mdContent":35},"sentry-node-sdk","integrate Sentry SDK into Node.js applications","Full Sentry SDK setup for Node.js, Bun, and Deno. Use when asked to \"add Sentry to Node.js\", \"add Sentry to Bun\", \"add Sentry to Deno\", \"install @sentry\u002Fnode\", \"@sentry\u002Fbun\", or \"@sentry\u002Fdeno\", or configure error monitoring, tracing, logging, profiling, metrics, crons, or AI monitoring for server-side JavaScript\u002FTypeScript runtimes.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"sentry","Sentry","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fsentry.png","getsentry",[13,17,20,23],{"name":14,"slug":15,"type":16},"Observability","observability","tag",{"name":18,"slug":19,"type":16},"Monitoring","monitoring",{"name":21,"slug":22,"type":16},"Node.js","node-js",{"name":9,"slug":8,"type":16},237,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsentry-for-ai","2026-07-11T05:52:54.33672","Apache-2.0",30,[30],"tag-production",{"repoUrl":25,"stars":24,"forks":28,"topics":32,"description":33},[30],"Teach your AI coding assistant how to use Sentry - setup, debugging, alerts, and more","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsentry-for-ai\u002Ftree\u002FHEAD\u002Fskills-legacy\u002Fsentry-node-sdk","---\nname: sentry-node-sdk\ndescription: Full Sentry SDK setup for Node.js, Bun, and Deno. Use when asked to \"add Sentry to Node.js\", \"add Sentry to Bun\", \"add Sentry to Deno\", \"install @sentry\u002Fnode\", \"@sentry\u002Fbun\", or \"@sentry\u002Fdeno\", or configure error monitoring, tracing, logging, profiling, metrics, crons, or AI monitoring for server-side JavaScript\u002FTypeScript runtimes.\nlicense: Apache-2.0\ncategory: sdk-setup\nparent: sentry-sdk-setup\ndisable-model-invocation: true\n---\n\n> [All Skills](..\u002F..\u002FSKILL_TREE.md) > [SDK Setup](..\u002Fsentry-sdk-setup\u002FSKILL.md) > Node.js \u002F Bun \u002F Deno SDK\n\n# Sentry Node.js \u002F Bun \u002F Deno SDK\n\nOpinionated wizard that scans your project and guides you through complete Sentry setup for server-side JavaScript and TypeScript runtimes: Node.js, Bun, and Deno.\n\n## Invoke This Skill When\n\n- User asks to \"add Sentry to Node.js\", \"Bun\", or \"Deno\"\n- User wants to install or configure `@sentry\u002Fnode`, `@sentry\u002Fbun`, or `@sentry\u002Fdeno`\n- User wants error monitoring, tracing, logging, profiling, crons, metrics, or AI monitoring for a backend JS\u002FTS app\n- User asks about `instrument.js`, `--import .\u002Finstrument.mjs`, `bun --preload`, or `npm:@sentry\u002Fdeno`\n- User wants to monitor Express, Fastify, Koa, Hapi, Connect, Bun.serve(), or Deno.serve()\n\n> **NestJS?** Use [`sentry-nestjs-sdk`](..\u002Fsentry-nestjs-sdk\u002FSKILL.md) instead — it uses `@sentry\u002Fnestjs` with NestJS-native decorators and filters.\n> **Next.js?** Use [`sentry-nextjs-sdk`](..\u002Fsentry-nextjs-sdk\u002FSKILL.md) instead — it handles the three-runtime architecture (browser, server, edge).\n\n> **Note:** SDK versions below reflect current Sentry docs at time of writing (`@sentry\u002Fnode` ≥10.42.0, `@sentry\u002Fbun` ≥10.42.0, `@sentry\u002Fdeno` ≥10.42.0).\n> Always verify against [docs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnode\u002F](https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnode\u002F) before implementing.\n\n---\n\n## Phase 1: Detect\n\nRun these commands to identify the runtime, framework, and existing Sentry setup:\n\n```bash\n# Detect runtime\nbun --version 2>\u002Fdev\u002Fnull && echo \"Bun detected\"\ndeno --version 2>\u002Fdev\u002Fnull && echo \"Deno detected\"\nnode --version 2>\u002Fdev\u002Fnull && echo \"Node.js detected\"\n\n# Detect existing Sentry packages\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"@sentry\u002F'\ncat deno.json deno.jsonc 2>\u002Fdev\u002Fnull | grep -i sentry\n\n# Detect Node.js framework\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"express\"|\"fastify\"|\"@hapi\u002Fhapi\"|\"koa\"|\"@nestjs\u002Fcore\"|\"connect\"'\n\n# Detect Bun-specific frameworks\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"elysia\"|\"hono\"'\n\n# Detect Deno frameworks (deno.json imports)\ncat deno.json deno.jsonc 2>\u002Fdev\u002Fnull | grep -E '\"oak\"|\"hono\"|\"fresh\"'\n\n# Detect module system (Node.js)\ncat package.json 2>\u002Fdev\u002Fnull | grep '\"type\"'\nls *.mjs *.cjs 2>\u002Fdev\u002Fnull | head -5\n\n# Detect existing instrument file\nls instrument.js instrument.mjs instrument.ts instrument.cjs 2>\u002Fdev\u002Fnull\n\n# Detect logging libraries\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"winston\"|\"pino\"|\"bunyan\"'\n\n# Detect cron \u002F scheduling\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"node-cron\"|\"cron\"|\"agenda\"|\"bull\"|\"bullmq\"'\n\n# Detect AI \u002F LLM usage\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"openai\"|\"@anthropic-ai\"|\"@langchain\"|\"@vercel\u002Fai\"|\"@google\u002Fgenerative-ai\"'\n\n# Detect OpenTelemetry tracing\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"@opentelemetry\u002Fsdk-node\"|\"@opentelemetry\u002Fsdk-trace-node\"|\"@opentelemetry\u002Fsdk-trace-base\"'\ngrep -rn \"NodeTracerProvider\\|trace\\.getTracer\\|startActiveSpan\" \\\n  --include=\"*.ts\" --include=\"*.js\" --include=\"*.mjs\" 2>\u002Fdev\u002Fnull | head -5\n\n# Check for companion frontend\nls frontend\u002F web\u002F client\u002F ui\u002F 2>\u002Fdev\u002Fnull\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"react\"|\"vue\"|\"svelte\"|\"next\"'\n```\n\n**What to determine:**\n\n| Question | Impact |\n|----------|--------|\n| Which runtime? (Node.js \u002F Bun \u002F Deno) | Determines package, init pattern, and preload flag |\n| Node.js: ESM or CJS? | ESM requires `--import .\u002Finstrument.mjs`; CJS uses `require(\".\u002Finstrument\")` |\n| Framework detected? | Determines which error handler to register |\n| `@sentry\u002F*` already installed? | Skip install, go straight to feature config |\n| `instrument.js` \u002F `instrument.mjs` already exists? | Merge into it rather than overwrite |\n| Logging library detected? | Recommend Sentry Logs |\n| Cron \u002F job scheduler detected? | Recommend Crons monitoring |\n| AI library detected? | Recommend AI Monitoring |\n| OpenTelemetry tracing detected? | Use OTLP path instead of native tracing |\n| Companion frontend found? | Trigger Phase 4 cross-link |\n\n---\n\n## Phase 2: Recommend\n\nPresent a concrete recommendation based on what you found. Don't ask open-ended questions — lead with a proposal:\n\n**Route from OTel detection:**\n- **OTel tracing detected** (`@opentelemetry\u002Fsdk-node` or `@opentelemetry\u002Fsdk-trace-node` in `package.json`, or `NodeTracerProvider` in source) → use OTLP path: `otlpIntegration()` via `@sentry\u002Fnode-core\u002Flight`; do **not** set `tracesSampleRate`; Sentry links errors to OTel traces automatically\n\n**Recommended (core coverage):**\n- ✅ **Error Monitoring** — always; captures unhandled exceptions, promise rejections, and framework errors\n- ✅ **Tracing** — automatic HTTP, DB, and queue instrumentation via OpenTelemetry\n\n**Optional (enhanced observability):**\n- ⚡ **Logging** — structured logs via `Sentry.logger.*`; recommend when `winston`\u002F`pino`\u002F`bunyan` or log search is needed\n- ⚡ **Profiling** — continuous CPU profiling (Node.js only; not available on Bun or Deno); **not available with OTLP path**\n- ⚡ **AI Monitoring** — OpenAI, Anthropic, LangChain, Vercel AI SDK; recommend when AI\u002FLLM calls detected\n- ⚡ **Crons** — detect missed or failed scheduled jobs; recommend when node-cron, Bull, or Agenda is detected\n- ⚡ **Metrics** — custom counters, gauges, distributions; recommend when custom KPIs needed\n- ⚡ **Runtime Metrics** — automatic collection of memory, CPU, and event loop metrics; `nodeRuntimeMetricsIntegration()` (Node.js) \u002F `bunRuntimeMetricsIntegration()` (Bun)\n\n**Recommendation logic:**\n\n| Feature | Recommend when... |\n|---------|------------------|\n| Error Monitoring | **Always** — non-negotiable baseline |\n| OTLP Integration | OTel tracing detected — **replaces** native Tracing |\n| Tracing | **Always for server apps** — HTTP spans + DB spans are high-value; **skip if OTel tracing detected** |\n| Logging | App uses winston, pino, bunyan, or needs log-to-trace correlation |\n| Profiling | **Node.js only** — performance-critical service; native addon compatible; **skip if OTel tracing detected** (requires `tracesSampleRate`, incompatible with OTLP) |\n| AI Monitoring | App calls OpenAI, Anthropic, LangChain, Vercel AI, or Google GenAI |\n| Crons | App uses node-cron, Bull, BullMQ, Agenda, or any scheduled task pattern |\n| Metrics | App needs custom counters, gauges, or histograms |\n| Runtime Metrics | Any Node.js or Bun service wanting automatic memory\u002FCPU\u002Fevent-loop visibility |\n\n**OTel tracing detected:** *\"I see OpenTelemetry tracing in the project. I recommend Sentry's OTLP integration for tracing (via your existing OTel setup) + Error Monitoring + Sentry Logging [+ Metrics\u002FCrons\u002FAI Monitoring if applicable]. Shall I proceed?\"*\n\n**No OTel:** *\"I recommend setting up Error Monitoring + Tracing. Want me to also add Logging or Profiling?\"*\n\n---\n\n## Phase 3: Guide\n\n### Runtime: Node.js\n\n#### Option 1: Wizard (Recommended for Node.js)\n\n> **You need to run this yourself** — the wizard opens a browser for login and requires interactive input that the agent can't handle. Copy-paste into your terminal:\n>\n> ```\n> npx @sentry\u002Fwizard@latest -i node\n> ```\n>\n> It handles login, org\u002Fproject selection, SDK installation, `instrument.js` creation, and package.json script updates.\n>\n> **Once it finishes, come back and skip to [Verification](#verification).**\n\nIf the user skips the wizard, proceed with Option 2 (Manual Setup) below.\n\n---\n\n#### Option 2: Manual Setup — Node.js\n\n##### Install\n\n```bash\nnpm install @sentry\u002Fnode --save\n# or\nyarn add @sentry\u002Fnode\n# or\npnpm add @sentry\u002Fnode\n```\n\n##### Create the Instrument File\n\n**CommonJS (`instrument.js`):**\n\n```javascript\n\u002F\u002F instrument.js — must be loaded before all other modules\nconst Sentry = require(\"@sentry\u002Fnode\");\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN ?? \"___DSN___\",\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnode\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n\n  \u002F\u002F 100% in dev, lower in production\n  tracesSampleRate: process.env.NODE_ENV === \"development\" ? 1.0 : 0.1,\n\n  \u002F\u002F Capture local variable values in stack frames\n  includeLocalVariables: true,\n\n  enableLogs: true,\n});\n```\n\n**ESM (`instrument.mjs`):**\n\n```javascript\n\u002F\u002F instrument.mjs — loaded via --import flag before any other module\nimport * as Sentry from \"@sentry\u002Fnode\";\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN ?? \"___DSN___\",\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnode\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n  tracesSampleRate: process.env.NODE_ENV === \"development\" ? 1.0 : 0.1,\n  includeLocalVariables: true,\n  enableLogs: true,\n});\n```\n\n##### Start Your App with Sentry Loaded First\n\n**CommonJS** — add `require(\".\u002Finstrument\")` as the very first line of your entry file:\n\n```javascript\n\u002F\u002F app.js\nrequire(\".\u002Finstrument\"); \u002F\u002F must be first\n\nconst express = require(\"express\");\n\u002F\u002F ... rest of your app\n```\n\n**ESM** — use the `--import` flag so Sentry loads before all other modules (Node.js 18.19.0+ required):\n\n```bash\nnode --import .\u002Finstrument.mjs app.mjs\n```\n\nAdd to `package.json` scripts:\n\n```json\n{\n  \"scripts\": {\n    \"start\": \"node --import .\u002Finstrument.mjs server.mjs\",\n    \"dev\": \"node --import .\u002Finstrument.mjs --watch server.mjs\"\n  }\n}\n```\n\nOr via environment variable (useful for wrapping existing start commands):\n\n```bash\nNODE_OPTIONS=\"--import .\u002Finstrument.mjs\" npm start\n```\n\n##### Framework Error Handlers\n\nRegister the Sentry error handler **after all routes** so it can capture framework errors:\n\n**Express:**\n\n```javascript\nconst express = require(\"express\");\nconst Sentry = require(\"@sentry\u002Fnode\");\n\nconst app = express();\n\n\u002F\u002F ... your routes\n\n\u002F\u002F Add AFTER all routes — captures 5xx errors by default\nSentry.setupExpressErrorHandler(app);\n\n\u002F\u002F Optional: capture 4xx errors too\n\u002F\u002F Sentry.setupExpressErrorHandler(app, {\n\u002F\u002F   shouldHandleError(error) { return error.status >= 400; },\n\u002F\u002F });\n\napp.listen(3000);\n```\n\n**Fastify:**\n\n```javascript\nconst Fastify = require(\"fastify\");\nconst Sentry = require(\"@sentry\u002Fnode\");\n\nconst fastify = Fastify();\n\n\u002F\u002F Add BEFORE routes (unlike Express!)\nSentry.setupFastifyErrorHandler(fastify);\n\n\u002F\u002F ... your routes\n\nawait fastify.listen({ port: 3000 });\n```\n\n**Koa:**\n\n```javascript\nconst Koa = require(\"koa\");\nconst Sentry = require(\"@sentry\u002Fnode\");\n\nconst app = new Koa();\n\n\u002F\u002F Add as FIRST middleware (catches errors thrown by later middleware)\nSentry.setupKoaErrorHandler(app);\n\n\u002F\u002F ... your other middleware and routes\n\napp.listen(3000);\n```\n\n**Hapi (async — must await):**\n\n```javascript\nconst Hapi = require(\"@hapi\u002Fhapi\");\nconst Sentry = require(\"@sentry\u002Fnode\");\n\nconst server = Hapi.server({ port: 3000 });\n\n\u002F\u002F ... your routes\n\n\u002F\u002F Must await — Hapi registration is async\nawait Sentry.setupHapiErrorHandler(server);\n\nawait server.start();\n```\n\n**Connect:**\n\n```javascript\nconst connect = require(\"connect\");\nconst Sentry = require(\"@sentry\u002Fnode\");\n\nconst app = connect();\n\n\u002F\u002F Add BEFORE routes (like Fastify and Koa)\nSentry.setupConnectErrorHandler(app);\n\n\u002F\u002F ... your middleware and routes\n\nrequire(\"http\").createServer(app).listen(3000);\n```\n\n**NestJS** — has its own dedicated skill with full coverage:\n\n> **Use the [`sentry-nestjs-sdk`](..\u002Fsentry-nestjs-sdk\u002FSKILL.md) skill instead.**\n> NestJS uses a separate package (`@sentry\u002Fnestjs`) with NestJS-native constructs:\n> `SentryModule.forRoot()`, `SentryGlobalFilter`, `@SentryTraced`, `@SentryCron` decorators,\n> and GraphQL\u002FMicroservices support. Load that skill for complete NestJS setup.\n\n**Vanilla Node.js `http` module** — wrap request handler manually:\n\n```javascript\nconst http = require(\"http\");\nconst Sentry = require(\"@sentry\u002Fnode\");\n\nconst server = http.createServer((req, res) => {\n  Sentry.withIsolationScope(() => {\n    try {\n      \u002F\u002F your handler\n      res.end(\"OK\");\n    } catch (err) {\n      Sentry.captureException(err);\n      res.writeHead(500);\n      res.end(\"Internal Server Error\");\n    }\n  });\n});\n\nserver.listen(3000);\n```\n\n**Framework error handler summary:**\n\n| Framework | Function | Placement | Async? |\n|-----------|----------|-----------|--------|\n| Express | `setupExpressErrorHandler(app)` | **After** all routes | No |\n| Fastify | `setupFastifyErrorHandler(fastify)` | **Before** routes | No |\n| Koa | `setupKoaErrorHandler(app)` | **First** middleware | No |\n| Hapi | `setupHapiErrorHandler(server)` | Before `server.start()` | **Yes** |\n| Connect | `setupConnectErrorHandler(app)` | **Before** routes | No |\n| NestJS | → Use [`sentry-nestjs-sdk`](..\u002Fsentry-nestjs-sdk\u002FSKILL.md) | Dedicated skill | — |\n\n---\n\n### Runtime: Bun\n\n> **No wizard available for Bun.** Manual setup only.\n\n#### Install\n\n```bash\nbun add @sentry\u002Fbun\n```\n\n#### Create `instrument.ts` (or `instrument.js`)\n\n```typescript\n\u002F\u002F instrument.ts\nimport * as Sentry from \"@sentry\u002Fbun\";\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN ?? \"___DSN___\",\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnode\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n  tracesSampleRate: process.env.NODE_ENV === \"development\" ? 1.0 : 0.1,\n  enableLogs: true,\n});\n```\n\n#### Start Your App with `--preload`\n\n```bash\nbun --preload .\u002Finstrument.ts server.ts\n```\n\nAdd to `package.json`:\n\n```json\n{\n  \"scripts\": {\n    \"start\": \"bun --preload .\u002Finstrument.ts server.ts\",\n    \"dev\": \"bun --watch --preload .\u002Finstrument.ts server.ts\"\n  }\n}\n```\n\n#### Bun.serve() — Auto-Instrumentation\n\n`@sentry\u002Fbun` automatically instruments `Bun.serve()` via JavaScript Proxy. No extra setup is required — just initialize with `--preload` and your `Bun.serve()` calls are traced:\n\n```typescript\n\u002F\u002F server.ts\nconst server = Bun.serve({\n  port: 3000,\n  fetch(req) {\n    return new Response(\"Hello from Bun!\");\n  },\n});\n```\n\n#### Framework Error Handlers on Bun\n\nBun can run Express, Fastify, Hono, and Elysia. Use the same `@sentry\u002Fbun` import and the `@sentry\u002Fnode` error handler functions (re-exported by `@sentry\u002Fbun`):\n\n```typescript\nimport * as Sentry from \"@sentry\u002Fbun\";\nimport express from \"express\";\n\nconst app = express();\n\u002F\u002F ... routes\nSentry.setupExpressErrorHandler(app);\napp.listen(3000);\n```\n\n#### Bun Feature Support\n\n| Feature | Bun Support | Notes |\n|---------|-------------|-------|\n| Error Monitoring | ✅ Full | Same API as Node |\n| Tracing | ✅ Via `@sentry\u002Fnode` OTel | Most auto-instrumentations work |\n| Logging | ✅ Full | `enableLogs: true` + `Sentry.logger.*` |\n| Profiling | ❌ Not available | `@sentry\u002Fprofiling-node` uses native addons incompatible with Bun |\n| Metrics | ✅ Full | `Sentry.metrics.*` |\n| Runtime Metrics | ✅ Full | `bunRuntimeMetricsIntegration()` — memory, CPU, event loop (no event loop delay percentiles) |\n| Crons | ✅ Full | `Sentry.withMonitor()` |\n| AI Monitoring | ✅ Full | OpenAI, Anthropic integrations work |\n\n---\n\n### Runtime: Deno\n\n> **No wizard available for Deno.** Manual setup only.\n> **Requires Deno 2.0+.** Deno 1.x is not supported.\n> **Use `npm:` specifier.** The `deno.land\u002Fx\u002Fsentry` registry is deprecated.\n\n#### Install via `deno.json` (Recommended)\n\n```json\n{\n  \"imports\": {\n    \"@sentry\u002Fdeno\": \"npm:@sentry\u002Fdeno@10.42.0\"\n  }\n}\n```\n\nOr import directly with the `npm:` specifier:\n\n```typescript\nimport * as Sentry from \"npm:@sentry\u002Fdeno\";\n```\n\n#### Initialize — Add to Entry File\n\n```typescript\n\u002F\u002F main.ts — Sentry.init() must be called before any other code\nimport * as Sentry from \"@sentry\u002Fdeno\";\n\nSentry.init({\n  dsn: Deno.env.get(\"SENTRY_DSN\") ?? \"___DSN___\",\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnode\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n  tracesSampleRate: Deno.env.get(\"DENO_ENV\") === \"development\" ? 1.0 : 0.1,\n  enableLogs: true,\n});\n\n\u002F\u002F Your application code follows\nDeno.serve({ port: 8000 }, (req) => {\n  return new Response(\"Hello from Deno!\");\n});\n```\n\n> Unlike Node.js and Bun, Deno does not have a `--preload` or `--import` flag. Sentry must be the first `import` in your entry file.\n\n#### Required Deno Permissions\n\nThe SDK requires network access to reach your Sentry ingest domain:\n\n```bash\ndeno run \\\n  --allow-net=o\u003CORG_ID>.ingest.sentry.io \\\n  --allow-read=.\u002Fsrc \\\n  --allow-env=SENTRY_DSN,SENTRY_RELEASE \\\n  main.ts\n```\n\nFor development, `--allow-all` works but is not recommended for production.\n\n#### Deno Cron Integration\n\nDeno provides native cron scheduling. Use `denoCronIntegration` for automatic monitoring:\n\n```typescript\nimport * as Sentry from \"@sentry\u002Fdeno\";\nimport { denoCronIntegration } from \"@sentry\u002Fdeno\";\n\nSentry.init({\n  dsn: Deno.env.get(\"SENTRY_DSN\") ?? \"___DSN___\",\n  integrations: [denoCronIntegration()],\n});\n\n\u002F\u002F Cron is automatically monitored\nDeno.cron(\"daily-cleanup\", \"0 0 * * *\", () => {\n  \u002F\u002F cleanup logic\n});\n```\n\n#### Deno Feature Support\n\n| Feature | Deno Support | Notes |\n|---------|-------------|-------|\n| Error Monitoring | ✅ Full | Unhandled exceptions + `captureException` |\n| Tracing | ✅ Custom OTel | Automatic spans for `Deno.serve()` and `fetch` |\n| Logging | ✅ Full | `enableLogs: true` + `Sentry.logger.*` |\n| Profiling | ❌ Not available | No profiling addon for Deno |\n| Metrics | ✅ Full | `Sentry.metrics.*` |\n| Runtime Metrics | ❌ Not available | No runtime metrics integration for Deno |\n| Crons | ✅ Full | `denoCronIntegration()` + `Sentry.withMonitor()` |\n| AI Monitoring | ✅ Partial | Vercel AI SDK integration works; OpenAI\u002FAnthropic via `npm:` |\n\n---\n\n### OTLP Integration (OTel-First Projects — Node.js Only)\n\n> Use this path **only when OpenTelemetry tracing was detected** in Phase 1\n> (e.g., `@opentelemetry\u002Fsdk-node` or `@opentelemetry\u002Fsdk-trace-node` in `package.json`).\n> For projects without an existing OTel setup, use the standard `@sentry\u002Fnode` path above.\n\nThe OTLP integration uses `@sentry\u002Fnode-core\u002Flight` — a lightweight Sentry SDK that does not bundle its own OpenTelemetry. Instead, it hooks into the user's existing OTel `TracerProvider` and exports spans to Sentry via OTLP.\n\n#### When to Use\n\n| Scenario | Recommended path |\n|----------|-----------------|\n| New project, no existing OTel | Standard `@sentry\u002Fnode` (above) — includes built-in OTel |\n| Existing OTel setup, want Sentry tracing | `@sentry\u002Fnode-core\u002Flight` + `otlpIntegration()` |\n| Existing OTel setup, sending to own Collector | `@sentry\u002Fnode-core\u002Flight` + `otlpIntegration({ collectorUrl })` |\n\n#### Install\n\n```bash\nnpm install @sentry\u002Fnode-core @opentelemetry\u002Fapi @opentelemetry\u002Fsdk-trace-node @opentelemetry\u002Fsdk-trace-base\n# or\nyarn add @sentry\u002Fnode-core @opentelemetry\u002Fapi @opentelemetry\u002Fsdk-trace-node @opentelemetry\u002Fsdk-trace-base\n# or\npnpm add @sentry\u002Fnode-core @opentelemetry\u002Fapi @opentelemetry\u002Fsdk-trace-node @opentelemetry\u002Fsdk-trace-base\n```\n\n> The `@opentelemetry\u002F*` packages are peer dependencies. If the project already has them installed, skip duplicates.\n\n#### Initialize\n\n```javascript\n\u002F\u002F instrument.mjs — load via --import flag before any other module\nimport { NodeTracerProvider } from '@opentelemetry\u002Fsdk-trace-node';\nimport * as Sentry from '@sentry\u002Fnode-core\u002Flight';\nimport { otlpIntegration } from '@sentry\u002Fnode-core\u002Flight\u002Fotlp';\n\n\u002F\u002F Register the user's OTel TracerProvider first\nconst provider = new NodeTracerProvider();\nprovider.register();\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN ?? '___DSN___',\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnode\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n  enableLogs: true,\n\n  \u002F\u002F Do NOT set tracesSampleRate — OTel controls sampling\n  integrations: [\n    otlpIntegration({\n      \u002F\u002F Export OTel spans to Sentry via OTLP (default: true)\n      setupOtlpTracesExporter: true,\n    }),\n  ],\n});\n```\n\n**With a custom Collector endpoint:**\n\n```javascript\nSentry.init({\n  dsn: process.env.SENTRY_DSN ?? '___DSN___',\n  integrations: [\n    otlpIntegration({\n      collectorUrl: 'http:\u002F\u002Flocalhost:4318\u002Fv1\u002Ftraces',\n    }),\n  ],\n});\n```\n\n#### Start Your App\n\nSame `--import` pattern as the standard Node.js setup:\n\n```bash\nnode --import .\u002Finstrument.mjs app.mjs\n```\n\n#### Key Differences from Standard `@sentry\u002Fnode`\n\n| Aspect | `@sentry\u002Fnode` (standard) | `@sentry\u002Fnode-core\u002Flight` (OTLP) |\n|--------|--------------------------|----------------------------------|\n| OTel bundled | ✅ Yes — built-in TracerProvider | ❌ No — uses your existing provider |\n| Tracing control | `tracesSampleRate` in `Sentry.init()` | OTel SDK controls sampling |\n| Auto-instrumentation | ✅ Built-in (HTTP, DB, etc.) | ❌ You manage OTel instrumentations |\n| Profiling | ✅ Available | ❌ Not compatible |\n| Error ↔ trace linking | ✅ Automatic | ✅ Automatic (via `otlpIntegration`) |\n| Package size | Larger (includes OTel) | Smaller (light mode) |\n\n---\n\n### For Each Agreed Feature\n\nLoad the corresponding reference file and follow its steps:\n\n| Feature | Reference file | Load when... |\n|---------|---------------|-------------|\n| Error Monitoring | `references\u002Ferror-monitoring.md` | Always (baseline) — captures, scopes, enrichment, beforeSend |\n| OTLP Integration | See [OTLP Integration](#otlp-integration-otel-first-projects--nodejs-only) above | OTel tracing detected — **replaces** native Tracing |\n| Tracing | `references\u002Ftracing.md` | OTel auto-instrumentation, custom spans, distributed tracing, sampling; **skip if OTel tracing detected** |\n| Logging | `references\u002Flogging.md` | Structured logs, `Sentry.logger.*`, log-to-trace correlation |\n| Profiling | `references\u002Fprofiling.md` | Node.js only — CPU profiling, Bun\u002FDeno gaps documented; **skip if OTel tracing detected** |\n| Metrics | `references\u002Fmetrics.md` | Custom counters, gauges, distributions |\n| Runtime Metrics | See inline below | Automatic memory, CPU, and event loop metrics for Node.js and Bun |\n| Crons | `references\u002Fcrons.md` | Scheduled job monitoring, node-cron, Bull, Agenda, Deno.cron |\n| AI Monitoring | Load `sentry-setup-ai-monitoring` skill | OpenAI, Anthropic, LangChain, Vercel AI, Google GenAI |\n\nFor each feature: read the reference file, follow its steps exactly, and verify before moving on.\n\n### Runtime Metrics\n\nAutomatically collect Node.js and Bun runtime health metrics (memory, CPU utilization, event loop delay\u002Futilization, uptime) at a configurable interval. Metrics appear in Sentry's Metrics product under the `node.runtime.*` \u002F `bun.runtime.*` namespace.\n\n**Node.js** — add `nodeRuntimeMetricsIntegration()` to your `instrument.js`:\n\n```javascript\nconst Sentry = require(\"@sentry\u002Fnode\");\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN,\n  integrations: [\n    Sentry.nodeRuntimeMetricsIntegration(),\n    \u002F\u002F Optional: change collection interval (default 30 000 ms)\n    \u002F\u002F Sentry.nodeRuntimeMetricsIntegration({ collectionIntervalMs: 60_000 }),\n  ],\n});\n```\n\nMetrics collected by default: `node.runtime.mem.rss`, `node.runtime.mem.heap_used`, `node.runtime.mem.heap_total`, `node.runtime.cpu.utilization`, `node.runtime.event_loop.delay.p50`, `node.runtime.event_loop.delay.p99`, `node.runtime.event_loop.utilization`, `node.runtime.process.uptime`.\n\n**Bun** — add `bunRuntimeMetricsIntegration()` to your `instrument.ts`:\n\n```typescript\nimport * as Sentry from \"@sentry\u002Fbun\";\nimport { bunRuntimeMetricsIntegration } from \"@sentry\u002Fbun\";\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN,\n  integrations: [\n    bunRuntimeMetricsIntegration(),\n    \u002F\u002F Optional: change collection interval (default 30 000 ms)\n    \u002F\u002F bunRuntimeMetricsIntegration({ collectionIntervalMs: 60_000 }),\n  ],\n});\n```\n\nMetrics collected: same as Node.js except no event loop delay percentiles (unavailable in Bun). Prefixed with `bun.runtime.*`.\n\n---\n\n## Configuration Reference\n\n### `Sentry.init()` Core Options\n\n| Option | Type | Default | Notes |\n|--------|------|---------|-------|\n| `dsn` | `string` | — | Required. Also from `SENTRY_DSN` env var |\n| `tracesSampleRate` | `number` | — | 0–1; required to enable tracing; **do not set when using OTLP path** |\n| `dataCollection` | `object` | conservative unless set | Fine-grained control over auto-collected categories (`userInfo`, `cookies`, `httpHeaders`, `httpBodies`, `queryParams`, `genAI`). When omitted, the SDK falls back to `sendDefaultPii` (default `false`). Passing the object — even `{}` — flips unset categories to their permissive defaults; opt out per category. |\n| `includeLocalVariables` | `boolean` | `false` | Add local variable values to stack frames (Node.js) |\n| `enableLogs` | `boolean` | `false` | Enable Sentry Logs product (v9.41.0+) |\n| `environment` | `string` | `\"production\"` | Also from `SENTRY_ENVIRONMENT` env var |\n| `release` | `string` | — | Also from `SENTRY_RELEASE` env var |\n| `debug` | `boolean` | `false` | Log SDK activity to console |\n| `enabled` | `boolean` | `true` | Set `false` in tests to disable sending |\n| `sampleRate` | `number` | `1.0` | Fraction of error events to send (0–1) |\n| `shutdownTimeout` | `number` | `2000` | Milliseconds to flush events before process exit |\n\n### `nativeNodeFetchIntegration()` Options\n\nConfigures outgoing `fetch`\u002F`undici` span capture. Since `@opentelemetry\u002Finstrumentation-undici@0.22.0`, response headers like `content-length` are no longer captured automatically — use `headersToSpanAttributes` to opt in:\n\n```javascript\nSentry.init({\n  integrations: [\n    Sentry.nativeNodeFetchIntegration({\n      headersToSpanAttributes: {\n        requestHeaders: [\"x-request-id\"],\n        responseHeaders: [\"content-length\", \"content-type\"],\n      },\n    }),\n  ],\n});\n```\n\n| Option | Type | Default | Notes |\n|--------|------|---------|-------|\n| `breadcrumbs` | `boolean` | `true` | Record breadcrumbs for outgoing fetch requests |\n| `headersToSpanAttributes.requestHeaders` | `string[]` | — | Request header names to capture as span attributes |\n| `headersToSpanAttributes.responseHeaders` | `string[]` | — | Response header names to capture as span attributes |\n\n### `otlpIntegration()` Options (`@sentry\u002Fnode-core\u002Flight\u002Fotlp`)\n\nFor OTel-first projects using `@sentry\u002Fnode-core\u002Flight`. Import: `import { otlpIntegration } from '@sentry\u002Fnode-core\u002Flight\u002Fotlp'`.\n\n| Option | Type | Default | Purpose |\n|--------|------|---------|---------|\n| `setupOtlpTracesExporter` | `boolean` | `true` | Auto-configure OTLP exporter to send spans to Sentry; set `false` if you already export to your own Collector |\n| `collectorUrl` | `string` | `undefined` | OTLP HTTP endpoint of an OTel Collector (e.g., `http:\u002F\u002Flocalhost:4318\u002Fv1\u002Ftraces`); when set, spans are sent to the collector instead of the DSN-derived Sentry endpoint |\n\n### Graceful Shutdown\n\nFlush buffered events before process exit — important for short-lived scripts and serverless:\n\n```javascript\nprocess.on(\"SIGTERM\", async () => {\n  await Sentry.close(2000); \u002F\u002F flush with 2s timeout\n  process.exit(0);\n});\n```\n\n### Environment Variables\n\n| Variable | Purpose | Runtime |\n|----------|---------|---------|\n| `SENTRY_DSN` | DSN (alternative to hardcoding in `init()`) | All |\n| `SENTRY_ENVIRONMENT` | Deployment environment | All |\n| `SENTRY_RELEASE` | Release version string (auto-detected from git) | All |\n| `SENTRY_AUTH_TOKEN` | Source map upload token | Build time |\n| `SENTRY_ORG` | Org slug for source map upload | Build time |\n| `SENTRY_PROJECT` | Project slug for source map upload | Build time |\n| `NODE_OPTIONS` | Set `--import .\u002Finstrument.mjs` for ESM | Node.js |\n\n### Source Maps (Node.js)\n\nReadable stack traces in production require uploading source maps with `@sentry\u002Fcli` or the webpack\u002Fesbuild\u002Frollup plugins — for example, an inject + upload step in your build:\n\n```json\n{\n  \"scripts\": {\n    \"build\": \"tsc && sentry-cli sourcemaps inject .\u002Fdist && sentry-cli sourcemaps upload .\u002Fdist\"\n  }\n}\n```\n\nUpload needs a `SENTRY_AUTH_TOKEN` (a build-time secret). For creating the token and wiring it into CI, see [`sentry-source-maps`](..\u002Fsentry-source-maps\u002FSKILL.md).\n\n---\n\n## Verification\n\nAfter setup, verify Sentry is receiving events:\n\n```javascript\n\u002F\u002F Add temporarily to your entry file or a test route, then remove\nimport * as Sentry from \"@sentry\u002Fnode\"; \u002F\u002F or @sentry\u002Fbun \u002F @sentry\u002Fdeno\n\nSentry.captureException(new Error(\"Sentry test error — delete me\"));\n```\n\nOr trigger an unhandled exception:\n\n```javascript\n\u002F\u002F In a route handler or startup — will be captured automatically\nthrow new Error(\"Sentry test error — delete me\");\n```\n\nThen check your [Sentry Issues dashboard](https:\u002F\u002Fsentry.io\u002Fissues\u002F) — the error should appear within ~30 seconds.\n\n**Verification checklist:**\n\n| Check | How |\n|-------|-----|\n| Error captured | Throw in a handler, verify in Sentry Issues |\n| Tracing working | Check Performance tab — should show HTTP spans |\n| `includeLocalVariables` working | Stack frame in Sentry should show variable values |\n| Source maps working | Stack trace shows readable file names, not minified |\n\n---\n\n## Phase 4: Cross-Link\n\nAfter completing backend setup, check for companion services:\n\n```bash\n# Frontend companion\nls frontend\u002F web\u002F client\u002F ui\u002F 2>\u002Fdev\u002Fnull\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"react\"|\"vue\"|\"svelte\"|\"next\"'\n\n# Other backend services\nls ..\u002Fgo.mod ..\u002Frequirements.txt ..\u002FGemfile 2>\u002Fdev\u002Fnull\n```\n\nIf a frontend, framework-specific SDK, or other backend is found, suggest the matching skill:\n\n**Dedicated JavaScript framework skills (prefer these over generic node-sdk):**\n\n| Detected | Prefer skill | Why |\n|----------|-------------|-----|\n| NestJS (`@nestjs\u002Fcore` in `package.json`) | [`sentry-nestjs-sdk`](..\u002Fsentry-nestjs-sdk\u002FSKILL.md) | Uses `@sentry\u002Fnestjs` with NestJS-native decorators, filters, and GraphQL support |\n| Next.js (`next` in `package.json`) | [`sentry-nextjs-sdk`](..\u002Fsentry-nextjs-sdk\u002FSKILL.md) | Three-runtime architecture (browser, server, edge), `withSentryConfig`, source map upload |\n\n**Frontend companions:**\n\n| Detected | Suggest |\n|---------|---------|\n| React app (`react` in `package.json`) | [`sentry-react-sdk`](..\u002Fsentry-react-sdk\u002FSKILL.md) |\n| Svelte\u002FSvelteKit | [`sentry-svelte-sdk`](..\u002Fsentry-svelte-sdk\u002FSKILL.md) |\n\n**Other backend companions:**\n\n| Detected | Suggest |\n|---------|---------|\n| Go backend (`go.mod`) | [`sentry-go-sdk`](..\u002Fsentry-go-sdk\u002FSKILL.md) |\n| Python backend (`requirements.txt`, `pyproject.toml`) | [`sentry-python-sdk`](..\u002Fsentry-python-sdk\u002FSKILL.md) |\n| Ruby backend (`Gemfile`) | [`sentry-ruby-sdk`](..\u002Fsentry-ruby-sdk\u002FSKILL.md) |\n\nConnecting frontend and backend with the same DSN or linked projects enables **distributed tracing** — stack traces that span your browser, API server, and database in a single trace view.\n\n---\n\n## Troubleshooting\n\n| Issue | Cause | Solution |\n|-------|-------|----------|\n| Events not appearing | `instrument.js` loaded too late | Ensure it's the first `require()` \u002F loaded via `--import` or `--preload` |\n| Tracing spans missing | `tracesSampleRate` not set | Add `tracesSampleRate: 1.0` to `Sentry.init()` |\n| ESM instrumentation not working | Missing `--import` flag | Run with `node --import .\u002Finstrument.mjs`; `import \".\u002Finstrument.mjs\"` inside app is not sufficient |\n| `@sentry\u002Fprofiling-node` install fails on Bun | Native addon incompatible | Profiling is not supported on Bun — remove `@sentry\u002Fprofiling-node` |\n| Deno: events not sent | Missing `--allow-net` permission | Run with `--allow-net=o\u003CORG_ID>.ingest.sentry.io` |\n| Deno: `deno.land\u002Fx\u002Fsentry` not working | Deprecated and frozen at v8.55.0 | Switch to `npm:@sentry\u002Fdeno` specifier |\n| `includeLocalVariables` not showing values | Integration not activated or minified code | Ensure `includeLocalVariables: true` in init; check source maps |\n| NestJS: errors not captured | Wrong SDK or missing filter | Use [`sentry-nestjs-sdk`](..\u002Fsentry-nestjs-sdk\u002FSKILL.md) — NestJS needs `@sentry\u002Fnestjs`, not `@sentry\u002Fnode` |\n| Hapi: `setupHapiErrorHandler` timing issue | Not awaited | Must `await Sentry.setupHapiErrorHandler(server)` before `server.start()` |\n| Shutdown: events lost | Process exits before flush | Add `await Sentry.close(2000)` in SIGTERM\u002FSIGINT handler |\n| Stack traces show minified code | Source maps not uploaded | Configure `@sentry\u002Fcli` source map upload in build step |\n| No traces appearing (OTLP) | Missing `@opentelemetry\u002F*` packages or `otlpIntegration` not added | Verify `@opentelemetry\u002Fsdk-trace-node` is installed; add `otlpIntegration()` to `integrations`; do **not** set `tracesSampleRate` |\n| OTLP: errors not linked to traces | `otlpIntegration` not registered | Ensure `otlpIntegration()` is in the `integrations` array — it registers the propagation context that links errors to OTel traces |\n| Profiling not starting (OTLP) | Profiling requires `tracesSampleRate` | Profiling is **not compatible** with the OTLP path; use the standard `@sentry\u002Fnode` setup instead |\n",{"data":37,"body":41},{"name":4,"description":6,"license":27,"category":38,"parent":39,"disable-model-invocation":40},"sdk-setup","sentry-sdk-setup",true,{"type":42,"children":43},"root",[44,71,78,83,90,170,222,265,269,275,280,1362,1370,1560,1563,1569,1574,1582,1657,1665,1691,1699,1821,1829,2000,2023,2037,2040,2046,2053,2060,2111,2116,2119,2125,2132,2211,2217,2232,2627,2641,2957,2963,2980,3094,3112,3141,3153,3281,3286,3327,3333,3345,3353,3618,3626,3875,3883,4110,4118,4376,4384,4640,4650,4709,4726,5201,5209,5430,5433,5439,5452,5457,5480,5500,5795,5807,5836,5846,5965,5971,6003,6163,6169,6194,6367,6373,6567,6570,6576,6619,6633,6717,6729,6775,6781,7251,7279,7285,7290,7377,7390,7396,7409,7748,7754,7955,7958,7964,8005,8025,8031,8118,8123,8229,8245,8251,8733,8741,8922,8928,8940,8965,8976,9137,9140,9146,9151,9388,9393,9398,9418,9439,9636,9697,9718,9941,9952,9955,9961,9972,10457,10469,10512,10737,10857,10874,10893,11003,11009,11014,11167,11173,11357,11363,11376,11460,11483,11486,11491,11496,11617,11622,11677,11691,11699,11778,11781,11787,11792,11926,11931,11939,12055,12063,12139,12147,12258,12270,12273,12279,12807],{"type":45,"tag":46,"props":47,"children":48},"element","blockquote",{},[49],{"type":45,"tag":50,"props":51,"children":52},"p",{},[53,61,63,69],{"type":45,"tag":54,"props":55,"children":57},"a",{"href":56},"..\u002F..\u002FSKILL_TREE.md",[58],{"type":59,"value":60},"text","All Skills",{"type":59,"value":62}," > ",{"type":45,"tag":54,"props":64,"children":66},{"href":65},"..\u002Fsentry-sdk-setup\u002FSKILL.md",[67],{"type":59,"value":68},"SDK Setup",{"type":59,"value":70}," > Node.js \u002F Bun \u002F Deno SDK",{"type":45,"tag":72,"props":73,"children":75},"h1",{"id":74},"sentry-nodejs-bun-deno-sdk",[76],{"type":59,"value":77},"Sentry Node.js \u002F Bun \u002F Deno SDK",{"type":45,"tag":50,"props":79,"children":80},{},[81],{"type":59,"value":82},"Opinionated wizard that scans your project and guides you through complete Sentry setup for server-side JavaScript and TypeScript runtimes: Node.js, Bun, and Deno.",{"type":45,"tag":84,"props":85,"children":87},"h2",{"id":86},"invoke-this-skill-when",[88],{"type":59,"value":89},"Invoke This Skill When",{"type":45,"tag":91,"props":92,"children":93},"ul",{},[94,100,128,133,165],{"type":45,"tag":95,"props":96,"children":97},"li",{},[98],{"type":59,"value":99},"User asks to \"add Sentry to Node.js\", \"Bun\", or \"Deno\"",{"type":45,"tag":95,"props":101,"children":102},{},[103,105,112,114,120,122],{"type":59,"value":104},"User wants to install or configure ",{"type":45,"tag":106,"props":107,"children":109},"code",{"className":108},[],[110],{"type":59,"value":111},"@sentry\u002Fnode",{"type":59,"value":113},", ",{"type":45,"tag":106,"props":115,"children":117},{"className":116},[],[118],{"type":59,"value":119},"@sentry\u002Fbun",{"type":59,"value":121},", or ",{"type":45,"tag":106,"props":123,"children":125},{"className":124},[],[126],{"type":59,"value":127},"@sentry\u002Fdeno",{"type":45,"tag":95,"props":129,"children":130},{},[131],{"type":59,"value":132},"User wants error monitoring, tracing, logging, profiling, crons, metrics, or AI monitoring for a backend JS\u002FTS app",{"type":45,"tag":95,"props":134,"children":135},{},[136,138,144,145,151,152,158,159],{"type":59,"value":137},"User asks about ",{"type":45,"tag":106,"props":139,"children":141},{"className":140},[],[142],{"type":59,"value":143},"instrument.js",{"type":59,"value":113},{"type":45,"tag":106,"props":146,"children":148},{"className":147},[],[149],{"type":59,"value":150},"--import .\u002Finstrument.mjs",{"type":59,"value":113},{"type":45,"tag":106,"props":153,"children":155},{"className":154},[],[156],{"type":59,"value":157},"bun --preload",{"type":59,"value":121},{"type":45,"tag":106,"props":160,"children":162},{"className":161},[],[163],{"type":59,"value":164},"npm:@sentry\u002Fdeno",{"type":45,"tag":95,"props":166,"children":167},{},[168],{"type":59,"value":169},"User wants to monitor Express, Fastify, Koa, Hapi, Connect, Bun.serve(), or Deno.serve()",{"type":45,"tag":46,"props":171,"children":172},{},[173],{"type":45,"tag":50,"props":174,"children":175},{},[176,182,184,194,196,202,204,209,210,220],{"type":45,"tag":177,"props":178,"children":179},"strong",{},[180],{"type":59,"value":181},"NestJS?",{"type":59,"value":183}," Use ",{"type":45,"tag":54,"props":185,"children":187},{"href":186},"..\u002Fsentry-nestjs-sdk\u002FSKILL.md",[188],{"type":45,"tag":106,"props":189,"children":191},{"className":190},[],[192],{"type":59,"value":193},"sentry-nestjs-sdk",{"type":59,"value":195}," instead — it uses ",{"type":45,"tag":106,"props":197,"children":199},{"className":198},[],[200],{"type":59,"value":201},"@sentry\u002Fnestjs",{"type":59,"value":203}," with NestJS-native decorators and filters.\n",{"type":45,"tag":177,"props":205,"children":206},{},[207],{"type":59,"value":208},"Next.js?",{"type":59,"value":183},{"type":45,"tag":54,"props":211,"children":213},{"href":212},"..\u002Fsentry-nextjs-sdk\u002FSKILL.md",[214],{"type":45,"tag":106,"props":215,"children":217},{"className":216},[],[218],{"type":59,"value":219},"sentry-nextjs-sdk",{"type":59,"value":221}," instead — it handles the three-runtime architecture (browser, server, edge).",{"type":45,"tag":46,"props":223,"children":224},{},[225],{"type":45,"tag":50,"props":226,"children":227},{},[228,233,235,240,242,247,248,253,255,263],{"type":45,"tag":177,"props":229,"children":230},{},[231],{"type":59,"value":232},"Note:",{"type":59,"value":234}," SDK versions below reflect current Sentry docs at time of writing (",{"type":45,"tag":106,"props":236,"children":238},{"className":237},[],[239],{"type":59,"value":111},{"type":59,"value":241}," ≥10.42.0, ",{"type":45,"tag":106,"props":243,"children":245},{"className":244},[],[246],{"type":59,"value":119},{"type":59,"value":241},{"type":45,"tag":106,"props":249,"children":251},{"className":250},[],[252],{"type":59,"value":127},{"type":59,"value":254}," ≥10.42.0).\nAlways verify against ",{"type":45,"tag":54,"props":256,"children":260},{"href":257,"rel":258},"https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnode\u002F",[259],"nofollow",[261],{"type":59,"value":262},"docs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnode\u002F",{"type":59,"value":264}," before implementing.",{"type":45,"tag":266,"props":267,"children":268},"hr",{},[],{"type":45,"tag":84,"props":270,"children":272},{"id":271},"phase-1-detect",[273],{"type":59,"value":274},"Phase 1: Detect",{"type":45,"tag":50,"props":276,"children":277},{},[278],{"type":59,"value":279},"Run these commands to identify the runtime, framework, and existing Sentry setup:",{"type":45,"tag":281,"props":282,"children":287},"pre",{"className":283,"code":284,"language":285,"meta":286,"style":286},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Detect runtime\nbun --version 2>\u002Fdev\u002Fnull && echo \"Bun detected\"\ndeno --version 2>\u002Fdev\u002Fnull && echo \"Deno detected\"\nnode --version 2>\u002Fdev\u002Fnull && echo \"Node.js detected\"\n\n# Detect existing Sentry packages\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"@sentry\u002F'\ncat deno.json deno.jsonc 2>\u002Fdev\u002Fnull | grep -i sentry\n\n# Detect Node.js framework\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"express\"|\"fastify\"|\"@hapi\u002Fhapi\"|\"koa\"|\"@nestjs\u002Fcore\"|\"connect\"'\n\n# Detect Bun-specific frameworks\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"elysia\"|\"hono\"'\n\n# Detect Deno frameworks (deno.json imports)\ncat deno.json deno.jsonc 2>\u002Fdev\u002Fnull | grep -E '\"oak\"|\"hono\"|\"fresh\"'\n\n# Detect module system (Node.js)\ncat package.json 2>\u002Fdev\u002Fnull | grep '\"type\"'\nls *.mjs *.cjs 2>\u002Fdev\u002Fnull | head -5\n\n# Detect existing instrument file\nls instrument.js instrument.mjs instrument.ts instrument.cjs 2>\u002Fdev\u002Fnull\n\n# Detect logging libraries\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"winston\"|\"pino\"|\"bunyan\"'\n\n# Detect cron \u002F scheduling\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"node-cron\"|\"cron\"|\"agenda\"|\"bull\"|\"bullmq\"'\n\n# Detect AI \u002F LLM usage\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"openai\"|\"@anthropic-ai\"|\"@langchain\"|\"@vercel\u002Fai\"|\"@google\u002Fgenerative-ai\"'\n\n# Detect OpenTelemetry tracing\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"@opentelemetry\u002Fsdk-node\"|\"@opentelemetry\u002Fsdk-trace-node\"|\"@opentelemetry\u002Fsdk-trace-base\"'\ngrep -rn \"NodeTracerProvider\\|trace\\.getTracer\\|startActiveSpan\" \\\n  --include=\"*.ts\" --include=\"*.js\" --include=\"*.mjs\" 2>\u002Fdev\u002Fnull | head -5\n\n# Check for companion frontend\nls frontend\u002F web\u002F client\u002F ui\u002F 2>\u002Fdev\u002Fnull\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"react\"|\"vue\"|\"svelte\"|\"next\"'\n","bash","",[288],{"type":45,"tag":106,"props":289,"children":290},{"__ignoreMap":286},[291,303,356,398,440,449,458,510,554,562,571,616,624,633,678,686,695,744,752,761,802,853,861,870,907,915,924,969,977,986,1030,1038,1047,1092,1100,1109,1154,1187,1264,1272,1281,1317],{"type":45,"tag":292,"props":293,"children":296},"span",{"class":294,"line":295},"line",1,[297],{"type":45,"tag":292,"props":298,"children":300},{"style":299},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[301],{"type":59,"value":302},"# Detect runtime\n",{"type":45,"tag":292,"props":304,"children":306},{"class":294,"line":305},2,[307,313,319,325,330,335,341,346,351],{"type":45,"tag":292,"props":308,"children":310},{"style":309},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[311],{"type":59,"value":312},"bun",{"type":45,"tag":292,"props":314,"children":316},{"style":315},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[317],{"type":59,"value":318}," --version",{"type":45,"tag":292,"props":320,"children":322},{"style":321},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[323],{"type":59,"value":324}," 2>",{"type":45,"tag":292,"props":326,"children":327},{"style":315},[328],{"type":59,"value":329},"\u002Fdev\u002Fnull",{"type":45,"tag":292,"props":331,"children":332},{"style":321},[333],{"type":59,"value":334}," &&",{"type":45,"tag":292,"props":336,"children":338},{"style":337},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[339],{"type":59,"value":340}," echo",{"type":45,"tag":292,"props":342,"children":343},{"style":321},[344],{"type":59,"value":345}," \"",{"type":45,"tag":292,"props":347,"children":348},{"style":315},[349],{"type":59,"value":350},"Bun detected",{"type":45,"tag":292,"props":352,"children":353},{"style":321},[354],{"type":59,"value":355},"\"\n",{"type":45,"tag":292,"props":357,"children":359},{"class":294,"line":358},3,[360,365,369,373,377,381,385,389,394],{"type":45,"tag":292,"props":361,"children":362},{"style":309},[363],{"type":59,"value":364},"deno",{"type":45,"tag":292,"props":366,"children":367},{"style":315},[368],{"type":59,"value":318},{"type":45,"tag":292,"props":370,"children":371},{"style":321},[372],{"type":59,"value":324},{"type":45,"tag":292,"props":374,"children":375},{"style":315},[376],{"type":59,"value":329},{"type":45,"tag":292,"props":378,"children":379},{"style":321},[380],{"type":59,"value":334},{"type":45,"tag":292,"props":382,"children":383},{"style":337},[384],{"type":59,"value":340},{"type":45,"tag":292,"props":386,"children":387},{"style":321},[388],{"type":59,"value":345},{"type":45,"tag":292,"props":390,"children":391},{"style":315},[392],{"type":59,"value":393},"Deno detected",{"type":45,"tag":292,"props":395,"children":396},{"style":321},[397],{"type":59,"value":355},{"type":45,"tag":292,"props":399,"children":401},{"class":294,"line":400},4,[402,407,411,415,419,423,427,431,436],{"type":45,"tag":292,"props":403,"children":404},{"style":309},[405],{"type":59,"value":406},"node",{"type":45,"tag":292,"props":408,"children":409},{"style":315},[410],{"type":59,"value":318},{"type":45,"tag":292,"props":412,"children":413},{"style":321},[414],{"type":59,"value":324},{"type":45,"tag":292,"props":416,"children":417},{"style":315},[418],{"type":59,"value":329},{"type":45,"tag":292,"props":420,"children":421},{"style":321},[422],{"type":59,"value":334},{"type":45,"tag":292,"props":424,"children":425},{"style":337},[426],{"type":59,"value":340},{"type":45,"tag":292,"props":428,"children":429},{"style":321},[430],{"type":59,"value":345},{"type":45,"tag":292,"props":432,"children":433},{"style":315},[434],{"type":59,"value":435},"Node.js detected",{"type":45,"tag":292,"props":437,"children":438},{"style":321},[439],{"type":59,"value":355},{"type":45,"tag":292,"props":441,"children":443},{"class":294,"line":442},5,[444],{"type":45,"tag":292,"props":445,"children":446},{"emptyLinePlaceholder":40},[447],{"type":59,"value":448},"\n",{"type":45,"tag":292,"props":450,"children":452},{"class":294,"line":451},6,[453],{"type":45,"tag":292,"props":454,"children":455},{"style":299},[456],{"type":59,"value":457},"# Detect existing Sentry packages\n",{"type":45,"tag":292,"props":459,"children":461},{"class":294,"line":460},7,[462,467,472,476,480,485,490,495,500,505],{"type":45,"tag":292,"props":463,"children":464},{"style":309},[465],{"type":59,"value":466},"cat",{"type":45,"tag":292,"props":468,"children":469},{"style":315},[470],{"type":59,"value":471}," package.json",{"type":45,"tag":292,"props":473,"children":474},{"style":321},[475],{"type":59,"value":324},{"type":45,"tag":292,"props":477,"children":478},{"style":315},[479],{"type":59,"value":329},{"type":45,"tag":292,"props":481,"children":482},{"style":321},[483],{"type":59,"value":484}," |",{"type":45,"tag":292,"props":486,"children":487},{"style":309},[488],{"type":59,"value":489}," grep",{"type":45,"tag":292,"props":491,"children":492},{"style":315},[493],{"type":59,"value":494}," -E",{"type":45,"tag":292,"props":496,"children":497},{"style":321},[498],{"type":59,"value":499}," '",{"type":45,"tag":292,"props":501,"children":502},{"style":315},[503],{"type":59,"value":504},"\"@sentry\u002F",{"type":45,"tag":292,"props":506,"children":507},{"style":321},[508],{"type":59,"value":509},"'\n",{"type":45,"tag":292,"props":511,"children":513},{"class":294,"line":512},8,[514,518,523,528,532,536,540,544,549],{"type":45,"tag":292,"props":515,"children":516},{"style":309},[517],{"type":59,"value":466},{"type":45,"tag":292,"props":519,"children":520},{"style":315},[521],{"type":59,"value":522}," deno.json",{"type":45,"tag":292,"props":524,"children":525},{"style":315},[526],{"type":59,"value":527}," deno.jsonc",{"type":45,"tag":292,"props":529,"children":530},{"style":321},[531],{"type":59,"value":324},{"type":45,"tag":292,"props":533,"children":534},{"style":315},[535],{"type":59,"value":329},{"type":45,"tag":292,"props":537,"children":538},{"style":321},[539],{"type":59,"value":484},{"type":45,"tag":292,"props":541,"children":542},{"style":309},[543],{"type":59,"value":489},{"type":45,"tag":292,"props":545,"children":546},{"style":315},[547],{"type":59,"value":548}," -i",{"type":45,"tag":292,"props":550,"children":551},{"style":315},[552],{"type":59,"value":553}," sentry\n",{"type":45,"tag":292,"props":555,"children":557},{"class":294,"line":556},9,[558],{"type":45,"tag":292,"props":559,"children":560},{"emptyLinePlaceholder":40},[561],{"type":59,"value":448},{"type":45,"tag":292,"props":563,"children":565},{"class":294,"line":564},10,[566],{"type":45,"tag":292,"props":567,"children":568},{"style":299},[569],{"type":59,"value":570},"# Detect Node.js framework\n",{"type":45,"tag":292,"props":572,"children":574},{"class":294,"line":573},11,[575,579,583,587,591,595,599,603,607,612],{"type":45,"tag":292,"props":576,"children":577},{"style":309},[578],{"type":59,"value":466},{"type":45,"tag":292,"props":580,"children":581},{"style":315},[582],{"type":59,"value":471},{"type":45,"tag":292,"props":584,"children":585},{"style":321},[586],{"type":59,"value":324},{"type":45,"tag":292,"props":588,"children":589},{"style":315},[590],{"type":59,"value":329},{"type":45,"tag":292,"props":592,"children":593},{"style":321},[594],{"type":59,"value":484},{"type":45,"tag":292,"props":596,"children":597},{"style":309},[598],{"type":59,"value":489},{"type":45,"tag":292,"props":600,"children":601},{"style":315},[602],{"type":59,"value":494},{"type":45,"tag":292,"props":604,"children":605},{"style":321},[606],{"type":59,"value":499},{"type":45,"tag":292,"props":608,"children":609},{"style":315},[610],{"type":59,"value":611},"\"express\"|\"fastify\"|\"@hapi\u002Fhapi\"|\"koa\"|\"@nestjs\u002Fcore\"|\"connect\"",{"type":45,"tag":292,"props":613,"children":614},{"style":321},[615],{"type":59,"value":509},{"type":45,"tag":292,"props":617,"children":619},{"class":294,"line":618},12,[620],{"type":45,"tag":292,"props":621,"children":622},{"emptyLinePlaceholder":40},[623],{"type":59,"value":448},{"type":45,"tag":292,"props":625,"children":627},{"class":294,"line":626},13,[628],{"type":45,"tag":292,"props":629,"children":630},{"style":299},[631],{"type":59,"value":632},"# Detect Bun-specific frameworks\n",{"type":45,"tag":292,"props":634,"children":636},{"class":294,"line":635},14,[637,641,645,649,653,657,661,665,669,674],{"type":45,"tag":292,"props":638,"children":639},{"style":309},[640],{"type":59,"value":466},{"type":45,"tag":292,"props":642,"children":643},{"style":315},[644],{"type":59,"value":471},{"type":45,"tag":292,"props":646,"children":647},{"style":321},[648],{"type":59,"value":324},{"type":45,"tag":292,"props":650,"children":651},{"style":315},[652],{"type":59,"value":329},{"type":45,"tag":292,"props":654,"children":655},{"style":321},[656],{"type":59,"value":484},{"type":45,"tag":292,"props":658,"children":659},{"style":309},[660],{"type":59,"value":489},{"type":45,"tag":292,"props":662,"children":663},{"style":315},[664],{"type":59,"value":494},{"type":45,"tag":292,"props":666,"children":667},{"style":321},[668],{"type":59,"value":499},{"type":45,"tag":292,"props":670,"children":671},{"style":315},[672],{"type":59,"value":673},"\"elysia\"|\"hono\"",{"type":45,"tag":292,"props":675,"children":676},{"style":321},[677],{"type":59,"value":509},{"type":45,"tag":292,"props":679,"children":681},{"class":294,"line":680},15,[682],{"type":45,"tag":292,"props":683,"children":684},{"emptyLinePlaceholder":40},[685],{"type":59,"value":448},{"type":45,"tag":292,"props":687,"children":689},{"class":294,"line":688},16,[690],{"type":45,"tag":292,"props":691,"children":692},{"style":299},[693],{"type":59,"value":694},"# Detect Deno frameworks (deno.json imports)\n",{"type":45,"tag":292,"props":696,"children":698},{"class":294,"line":697},17,[699,703,707,711,715,719,723,727,731,735,740],{"type":45,"tag":292,"props":700,"children":701},{"style":309},[702],{"type":59,"value":466},{"type":45,"tag":292,"props":704,"children":705},{"style":315},[706],{"type":59,"value":522},{"type":45,"tag":292,"props":708,"children":709},{"style":315},[710],{"type":59,"value":527},{"type":45,"tag":292,"props":712,"children":713},{"style":321},[714],{"type":59,"value":324},{"type":45,"tag":292,"props":716,"children":717},{"style":315},[718],{"type":59,"value":329},{"type":45,"tag":292,"props":720,"children":721},{"style":321},[722],{"type":59,"value":484},{"type":45,"tag":292,"props":724,"children":725},{"style":309},[726],{"type":59,"value":489},{"type":45,"tag":292,"props":728,"children":729},{"style":315},[730],{"type":59,"value":494},{"type":45,"tag":292,"props":732,"children":733},{"style":321},[734],{"type":59,"value":499},{"type":45,"tag":292,"props":736,"children":737},{"style":315},[738],{"type":59,"value":739},"\"oak\"|\"hono\"|\"fresh\"",{"type":45,"tag":292,"props":741,"children":742},{"style":321},[743],{"type":59,"value":509},{"type":45,"tag":292,"props":745,"children":747},{"class":294,"line":746},18,[748],{"type":45,"tag":292,"props":749,"children":750},{"emptyLinePlaceholder":40},[751],{"type":59,"value":448},{"type":45,"tag":292,"props":753,"children":755},{"class":294,"line":754},19,[756],{"type":45,"tag":292,"props":757,"children":758},{"style":299},[759],{"type":59,"value":760},"# Detect module system (Node.js)\n",{"type":45,"tag":292,"props":762,"children":764},{"class":294,"line":763},20,[765,769,773,777,781,785,789,793,798],{"type":45,"tag":292,"props":766,"children":767},{"style":309},[768],{"type":59,"value":466},{"type":45,"tag":292,"props":770,"children":771},{"style":315},[772],{"type":59,"value":471},{"type":45,"tag":292,"props":774,"children":775},{"style":321},[776],{"type":59,"value":324},{"type":45,"tag":292,"props":778,"children":779},{"style":315},[780],{"type":59,"value":329},{"type":45,"tag":292,"props":782,"children":783},{"style":321},[784],{"type":59,"value":484},{"type":45,"tag":292,"props":786,"children":787},{"style":309},[788],{"type":59,"value":489},{"type":45,"tag":292,"props":790,"children":791},{"style":321},[792],{"type":59,"value":499},{"type":45,"tag":292,"props":794,"children":795},{"style":315},[796],{"type":59,"value":797},"\"type\"",{"type":45,"tag":292,"props":799,"children":800},{"style":321},[801],{"type":59,"value":509},{"type":45,"tag":292,"props":803,"children":805},{"class":294,"line":804},21,[806,811,817,822,826,831,835,839,843,848],{"type":45,"tag":292,"props":807,"children":808},{"style":309},[809],{"type":59,"value":810},"ls",{"type":45,"tag":292,"props":812,"children":814},{"style":813},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[815],{"type":59,"value":816}," *",{"type":45,"tag":292,"props":818,"children":819},{"style":315},[820],{"type":59,"value":821},".mjs",{"type":45,"tag":292,"props":823,"children":824},{"style":813},[825],{"type":59,"value":816},{"type":45,"tag":292,"props":827,"children":828},{"style":315},[829],{"type":59,"value":830},".cjs",{"type":45,"tag":292,"props":832,"children":833},{"style":321},[834],{"type":59,"value":324},{"type":45,"tag":292,"props":836,"children":837},{"style":315},[838],{"type":59,"value":329},{"type":45,"tag":292,"props":840,"children":841},{"style":321},[842],{"type":59,"value":484},{"type":45,"tag":292,"props":844,"children":845},{"style":309},[846],{"type":59,"value":847}," head",{"type":45,"tag":292,"props":849,"children":850},{"style":315},[851],{"type":59,"value":852}," -5\n",{"type":45,"tag":292,"props":854,"children":856},{"class":294,"line":855},22,[857],{"type":45,"tag":292,"props":858,"children":859},{"emptyLinePlaceholder":40},[860],{"type":59,"value":448},{"type":45,"tag":292,"props":862,"children":864},{"class":294,"line":863},23,[865],{"type":45,"tag":292,"props":866,"children":867},{"style":299},[868],{"type":59,"value":869},"# Detect existing instrument file\n",{"type":45,"tag":292,"props":871,"children":873},{"class":294,"line":872},24,[874,878,883,888,893,898,902],{"type":45,"tag":292,"props":875,"children":876},{"style":309},[877],{"type":59,"value":810},{"type":45,"tag":292,"props":879,"children":880},{"style":315},[881],{"type":59,"value":882}," instrument.js",{"type":45,"tag":292,"props":884,"children":885},{"style":315},[886],{"type":59,"value":887}," instrument.mjs",{"type":45,"tag":292,"props":889,"children":890},{"style":315},[891],{"type":59,"value":892}," instrument.ts",{"type":45,"tag":292,"props":894,"children":895},{"style":315},[896],{"type":59,"value":897}," instrument.cjs",{"type":45,"tag":292,"props":899,"children":900},{"style":321},[901],{"type":59,"value":324},{"type":45,"tag":292,"props":903,"children":904},{"style":315},[905],{"type":59,"value":906},"\u002Fdev\u002Fnull\n",{"type":45,"tag":292,"props":908,"children":910},{"class":294,"line":909},25,[911],{"type":45,"tag":292,"props":912,"children":913},{"emptyLinePlaceholder":40},[914],{"type":59,"value":448},{"type":45,"tag":292,"props":916,"children":918},{"class":294,"line":917},26,[919],{"type":45,"tag":292,"props":920,"children":921},{"style":299},[922],{"type":59,"value":923},"# Detect logging libraries\n",{"type":45,"tag":292,"props":925,"children":927},{"class":294,"line":926},27,[928,932,936,940,944,948,952,956,960,965],{"type":45,"tag":292,"props":929,"children":930},{"style":309},[931],{"type":59,"value":466},{"type":45,"tag":292,"props":933,"children":934},{"style":315},[935],{"type":59,"value":471},{"type":45,"tag":292,"props":937,"children":938},{"style":321},[939],{"type":59,"value":324},{"type":45,"tag":292,"props":941,"children":942},{"style":315},[943],{"type":59,"value":329},{"type":45,"tag":292,"props":945,"children":946},{"style":321},[947],{"type":59,"value":484},{"type":45,"tag":292,"props":949,"children":950},{"style":309},[951],{"type":59,"value":489},{"type":45,"tag":292,"props":953,"children":954},{"style":315},[955],{"type":59,"value":494},{"type":45,"tag":292,"props":957,"children":958},{"style":321},[959],{"type":59,"value":499},{"type":45,"tag":292,"props":961,"children":962},{"style":315},[963],{"type":59,"value":964},"\"winston\"|\"pino\"|\"bunyan\"",{"type":45,"tag":292,"props":966,"children":967},{"style":321},[968],{"type":59,"value":509},{"type":45,"tag":292,"props":970,"children":972},{"class":294,"line":971},28,[973],{"type":45,"tag":292,"props":974,"children":975},{"emptyLinePlaceholder":40},[976],{"type":59,"value":448},{"type":45,"tag":292,"props":978,"children":980},{"class":294,"line":979},29,[981],{"type":45,"tag":292,"props":982,"children":983},{"style":299},[984],{"type":59,"value":985},"# Detect cron \u002F scheduling\n",{"type":45,"tag":292,"props":987,"children":988},{"class":294,"line":28},[989,993,997,1001,1005,1009,1013,1017,1021,1026],{"type":45,"tag":292,"props":990,"children":991},{"style":309},[992],{"type":59,"value":466},{"type":45,"tag":292,"props":994,"children":995},{"style":315},[996],{"type":59,"value":471},{"type":45,"tag":292,"props":998,"children":999},{"style":321},[1000],{"type":59,"value":324},{"type":45,"tag":292,"props":1002,"children":1003},{"style":315},[1004],{"type":59,"value":329},{"type":45,"tag":292,"props":1006,"children":1007},{"style":321},[1008],{"type":59,"value":484},{"type":45,"tag":292,"props":1010,"children":1011},{"style":309},[1012],{"type":59,"value":489},{"type":45,"tag":292,"props":1014,"children":1015},{"style":315},[1016],{"type":59,"value":494},{"type":45,"tag":292,"props":1018,"children":1019},{"style":321},[1020],{"type":59,"value":499},{"type":45,"tag":292,"props":1022,"children":1023},{"style":315},[1024],{"type":59,"value":1025},"\"node-cron\"|\"cron\"|\"agenda\"|\"bull\"|\"bullmq\"",{"type":45,"tag":292,"props":1027,"children":1028},{"style":321},[1029],{"type":59,"value":509},{"type":45,"tag":292,"props":1031,"children":1033},{"class":294,"line":1032},31,[1034],{"type":45,"tag":292,"props":1035,"children":1036},{"emptyLinePlaceholder":40},[1037],{"type":59,"value":448},{"type":45,"tag":292,"props":1039,"children":1041},{"class":294,"line":1040},32,[1042],{"type":45,"tag":292,"props":1043,"children":1044},{"style":299},[1045],{"type":59,"value":1046},"# Detect AI \u002F LLM usage\n",{"type":45,"tag":292,"props":1048,"children":1050},{"class":294,"line":1049},33,[1051,1055,1059,1063,1067,1071,1075,1079,1083,1088],{"type":45,"tag":292,"props":1052,"children":1053},{"style":309},[1054],{"type":59,"value":466},{"type":45,"tag":292,"props":1056,"children":1057},{"style":315},[1058],{"type":59,"value":471},{"type":45,"tag":292,"props":1060,"children":1061},{"style":321},[1062],{"type":59,"value":324},{"type":45,"tag":292,"props":1064,"children":1065},{"style":315},[1066],{"type":59,"value":329},{"type":45,"tag":292,"props":1068,"children":1069},{"style":321},[1070],{"type":59,"value":484},{"type":45,"tag":292,"props":1072,"children":1073},{"style":309},[1074],{"type":59,"value":489},{"type":45,"tag":292,"props":1076,"children":1077},{"style":315},[1078],{"type":59,"value":494},{"type":45,"tag":292,"props":1080,"children":1081},{"style":321},[1082],{"type":59,"value":499},{"type":45,"tag":292,"props":1084,"children":1085},{"style":315},[1086],{"type":59,"value":1087},"\"openai\"|\"@anthropic-ai\"|\"@langchain\"|\"@vercel\u002Fai\"|\"@google\u002Fgenerative-ai\"",{"type":45,"tag":292,"props":1089,"children":1090},{"style":321},[1091],{"type":59,"value":509},{"type":45,"tag":292,"props":1093,"children":1095},{"class":294,"line":1094},34,[1096],{"type":45,"tag":292,"props":1097,"children":1098},{"emptyLinePlaceholder":40},[1099],{"type":59,"value":448},{"type":45,"tag":292,"props":1101,"children":1103},{"class":294,"line":1102},35,[1104],{"type":45,"tag":292,"props":1105,"children":1106},{"style":299},[1107],{"type":59,"value":1108},"# Detect OpenTelemetry tracing\n",{"type":45,"tag":292,"props":1110,"children":1112},{"class":294,"line":1111},36,[1113,1117,1121,1125,1129,1133,1137,1141,1145,1150],{"type":45,"tag":292,"props":1114,"children":1115},{"style":309},[1116],{"type":59,"value":466},{"type":45,"tag":292,"props":1118,"children":1119},{"style":315},[1120],{"type":59,"value":471},{"type":45,"tag":292,"props":1122,"children":1123},{"style":321},[1124],{"type":59,"value":324},{"type":45,"tag":292,"props":1126,"children":1127},{"style":315},[1128],{"type":59,"value":329},{"type":45,"tag":292,"props":1130,"children":1131},{"style":321},[1132],{"type":59,"value":484},{"type":45,"tag":292,"props":1134,"children":1135},{"style":309},[1136],{"type":59,"value":489},{"type":45,"tag":292,"props":1138,"children":1139},{"style":315},[1140],{"type":59,"value":494},{"type":45,"tag":292,"props":1142,"children":1143},{"style":321},[1144],{"type":59,"value":499},{"type":45,"tag":292,"props":1146,"children":1147},{"style":315},[1148],{"type":59,"value":1149},"\"@opentelemetry\u002Fsdk-node\"|\"@opentelemetry\u002Fsdk-trace-node\"|\"@opentelemetry\u002Fsdk-trace-base\"",{"type":45,"tag":292,"props":1151,"children":1152},{"style":321},[1153],{"type":59,"value":509},{"type":45,"tag":292,"props":1155,"children":1157},{"class":294,"line":1156},37,[1158,1163,1168,1172,1177,1182],{"type":45,"tag":292,"props":1159,"children":1160},{"style":309},[1161],{"type":59,"value":1162},"grep",{"type":45,"tag":292,"props":1164,"children":1165},{"style":315},[1166],{"type":59,"value":1167}," -rn",{"type":45,"tag":292,"props":1169,"children":1170},{"style":321},[1171],{"type":59,"value":345},{"type":45,"tag":292,"props":1173,"children":1174},{"style":315},[1175],{"type":59,"value":1176},"NodeTracerProvider\\|trace\\.getTracer\\|startActiveSpan",{"type":45,"tag":292,"props":1178,"children":1179},{"style":321},[1180],{"type":59,"value":1181},"\"",{"type":45,"tag":292,"props":1183,"children":1184},{"style":813},[1185],{"type":59,"value":1186}," \\\n",{"type":45,"tag":292,"props":1188,"children":1190},{"class":294,"line":1189},38,[1191,1196,1200,1205,1209,1214,1218,1223,1227,1231,1235,1240,1244,1248,1252,1256,1260],{"type":45,"tag":292,"props":1192,"children":1193},{"style":315},[1194],{"type":59,"value":1195},"  --include=",{"type":45,"tag":292,"props":1197,"children":1198},{"style":321},[1199],{"type":59,"value":1181},{"type":45,"tag":292,"props":1201,"children":1202},{"style":315},[1203],{"type":59,"value":1204},"*.ts",{"type":45,"tag":292,"props":1206,"children":1207},{"style":321},[1208],{"type":59,"value":1181},{"type":45,"tag":292,"props":1210,"children":1211},{"style":315},[1212],{"type":59,"value":1213}," --include=",{"type":45,"tag":292,"props":1215,"children":1216},{"style":321},[1217],{"type":59,"value":1181},{"type":45,"tag":292,"props":1219,"children":1220},{"style":315},[1221],{"type":59,"value":1222},"*.js",{"type":45,"tag":292,"props":1224,"children":1225},{"style":321},[1226],{"type":59,"value":1181},{"type":45,"tag":292,"props":1228,"children":1229},{"style":315},[1230],{"type":59,"value":1213},{"type":45,"tag":292,"props":1232,"children":1233},{"style":321},[1234],{"type":59,"value":1181},{"type":45,"tag":292,"props":1236,"children":1237},{"style":315},[1238],{"type":59,"value":1239},"*.mjs",{"type":45,"tag":292,"props":1241,"children":1242},{"style":321},[1243],{"type":59,"value":1181},{"type":45,"tag":292,"props":1245,"children":1246},{"style":321},[1247],{"type":59,"value":324},{"type":45,"tag":292,"props":1249,"children":1250},{"style":315},[1251],{"type":59,"value":329},{"type":45,"tag":292,"props":1253,"children":1254},{"style":321},[1255],{"type":59,"value":484},{"type":45,"tag":292,"props":1257,"children":1258},{"style":309},[1259],{"type":59,"value":847},{"type":45,"tag":292,"props":1261,"children":1262},{"style":315},[1263],{"type":59,"value":852},{"type":45,"tag":292,"props":1265,"children":1267},{"class":294,"line":1266},39,[1268],{"type":45,"tag":292,"props":1269,"children":1270},{"emptyLinePlaceholder":40},[1271],{"type":59,"value":448},{"type":45,"tag":292,"props":1273,"children":1275},{"class":294,"line":1274},40,[1276],{"type":45,"tag":292,"props":1277,"children":1278},{"style":299},[1279],{"type":59,"value":1280},"# Check for companion frontend\n",{"type":45,"tag":292,"props":1282,"children":1284},{"class":294,"line":1283},41,[1285,1289,1294,1299,1304,1309,1313],{"type":45,"tag":292,"props":1286,"children":1287},{"style":309},[1288],{"type":59,"value":810},{"type":45,"tag":292,"props":1290,"children":1291},{"style":315},[1292],{"type":59,"value":1293}," frontend\u002F",{"type":45,"tag":292,"props":1295,"children":1296},{"style":315},[1297],{"type":59,"value":1298}," web\u002F",{"type":45,"tag":292,"props":1300,"children":1301},{"style":315},[1302],{"type":59,"value":1303}," client\u002F",{"type":45,"tag":292,"props":1305,"children":1306},{"style":315},[1307],{"type":59,"value":1308}," ui\u002F",{"type":45,"tag":292,"props":1310,"children":1311},{"style":321},[1312],{"type":59,"value":324},{"type":45,"tag":292,"props":1314,"children":1315},{"style":315},[1316],{"type":59,"value":906},{"type":45,"tag":292,"props":1318,"children":1320},{"class":294,"line":1319},42,[1321,1325,1329,1333,1337,1341,1345,1349,1353,1358],{"type":45,"tag":292,"props":1322,"children":1323},{"style":309},[1324],{"type":59,"value":466},{"type":45,"tag":292,"props":1326,"children":1327},{"style":315},[1328],{"type":59,"value":471},{"type":45,"tag":292,"props":1330,"children":1331},{"style":321},[1332],{"type":59,"value":324},{"type":45,"tag":292,"props":1334,"children":1335},{"style":315},[1336],{"type":59,"value":329},{"type":45,"tag":292,"props":1338,"children":1339},{"style":321},[1340],{"type":59,"value":484},{"type":45,"tag":292,"props":1342,"children":1343},{"style":309},[1344],{"type":59,"value":489},{"type":45,"tag":292,"props":1346,"children":1347},{"style":315},[1348],{"type":59,"value":494},{"type":45,"tag":292,"props":1350,"children":1351},{"style":321},[1352],{"type":59,"value":499},{"type":45,"tag":292,"props":1354,"children":1355},{"style":315},[1356],{"type":59,"value":1357},"\"react\"|\"vue\"|\"svelte\"|\"next\"",{"type":45,"tag":292,"props":1359,"children":1360},{"style":321},[1361],{"type":59,"value":509},{"type":45,"tag":50,"props":1363,"children":1364},{},[1365],{"type":45,"tag":177,"props":1366,"children":1367},{},[1368],{"type":59,"value":1369},"What to determine:",{"type":45,"tag":1371,"props":1372,"children":1373},"table",{},[1374,1393],{"type":45,"tag":1375,"props":1376,"children":1377},"thead",{},[1378],{"type":45,"tag":1379,"props":1380,"children":1381},"tr",{},[1382,1388],{"type":45,"tag":1383,"props":1384,"children":1385},"th",{},[1386],{"type":59,"value":1387},"Question",{"type":45,"tag":1383,"props":1389,"children":1390},{},[1391],{"type":59,"value":1392},"Impact",{"type":45,"tag":1394,"props":1395,"children":1396},"tbody",{},[1397,1411,1437,1450,1469,1495,1508,1521,1534,1547],{"type":45,"tag":1379,"props":1398,"children":1399},{},[1400,1406],{"type":45,"tag":1401,"props":1402,"children":1403},"td",{},[1404],{"type":59,"value":1405},"Which runtime? (Node.js \u002F Bun \u002F Deno)",{"type":45,"tag":1401,"props":1407,"children":1408},{},[1409],{"type":59,"value":1410},"Determines package, init pattern, and preload flag",{"type":45,"tag":1379,"props":1412,"children":1413},{},[1414,1419],{"type":45,"tag":1401,"props":1415,"children":1416},{},[1417],{"type":59,"value":1418},"Node.js: ESM or CJS?",{"type":45,"tag":1401,"props":1420,"children":1421},{},[1422,1424,1429,1431],{"type":59,"value":1423},"ESM requires ",{"type":45,"tag":106,"props":1425,"children":1427},{"className":1426},[],[1428],{"type":59,"value":150},{"type":59,"value":1430},"; CJS uses ",{"type":45,"tag":106,"props":1432,"children":1434},{"className":1433},[],[1435],{"type":59,"value":1436},"require(\".\u002Finstrument\")",{"type":45,"tag":1379,"props":1438,"children":1439},{},[1440,1445],{"type":45,"tag":1401,"props":1441,"children":1442},{},[1443],{"type":59,"value":1444},"Framework detected?",{"type":45,"tag":1401,"props":1446,"children":1447},{},[1448],{"type":59,"value":1449},"Determines which error handler to register",{"type":45,"tag":1379,"props":1451,"children":1452},{},[1453,1464],{"type":45,"tag":1401,"props":1454,"children":1455},{},[1456,1462],{"type":45,"tag":106,"props":1457,"children":1459},{"className":1458},[],[1460],{"type":59,"value":1461},"@sentry\u002F*",{"type":59,"value":1463}," already installed?",{"type":45,"tag":1401,"props":1465,"children":1466},{},[1467],{"type":59,"value":1468},"Skip install, go straight to feature config",{"type":45,"tag":1379,"props":1470,"children":1471},{},[1472,1490],{"type":45,"tag":1401,"props":1473,"children":1474},{},[1475,1480,1482,1488],{"type":45,"tag":106,"props":1476,"children":1478},{"className":1477},[],[1479],{"type":59,"value":143},{"type":59,"value":1481}," \u002F ",{"type":45,"tag":106,"props":1483,"children":1485},{"className":1484},[],[1486],{"type":59,"value":1487},"instrument.mjs",{"type":59,"value":1489}," already exists?",{"type":45,"tag":1401,"props":1491,"children":1492},{},[1493],{"type":59,"value":1494},"Merge into it rather than overwrite",{"type":45,"tag":1379,"props":1496,"children":1497},{},[1498,1503],{"type":45,"tag":1401,"props":1499,"children":1500},{},[1501],{"type":59,"value":1502},"Logging library detected?",{"type":45,"tag":1401,"props":1504,"children":1505},{},[1506],{"type":59,"value":1507},"Recommend Sentry Logs",{"type":45,"tag":1379,"props":1509,"children":1510},{},[1511,1516],{"type":45,"tag":1401,"props":1512,"children":1513},{},[1514],{"type":59,"value":1515},"Cron \u002F job scheduler detected?",{"type":45,"tag":1401,"props":1517,"children":1518},{},[1519],{"type":59,"value":1520},"Recommend Crons monitoring",{"type":45,"tag":1379,"props":1522,"children":1523},{},[1524,1529],{"type":45,"tag":1401,"props":1525,"children":1526},{},[1527],{"type":59,"value":1528},"AI library detected?",{"type":45,"tag":1401,"props":1530,"children":1531},{},[1532],{"type":59,"value":1533},"Recommend AI Monitoring",{"type":45,"tag":1379,"props":1535,"children":1536},{},[1537,1542],{"type":45,"tag":1401,"props":1538,"children":1539},{},[1540],{"type":59,"value":1541},"OpenTelemetry tracing detected?",{"type":45,"tag":1401,"props":1543,"children":1544},{},[1545],{"type":59,"value":1546},"Use OTLP path instead of native tracing",{"type":45,"tag":1379,"props":1548,"children":1549},{},[1550,1555],{"type":45,"tag":1401,"props":1551,"children":1552},{},[1553],{"type":59,"value":1554},"Companion frontend found?",{"type":45,"tag":1401,"props":1556,"children":1557},{},[1558],{"type":59,"value":1559},"Trigger Phase 4 cross-link",{"type":45,"tag":266,"props":1561,"children":1562},{},[],{"type":45,"tag":84,"props":1564,"children":1566},{"id":1565},"phase-2-recommend",[1567],{"type":59,"value":1568},"Phase 2: Recommend",{"type":45,"tag":50,"props":1570,"children":1571},{},[1572],{"type":59,"value":1573},"Present a concrete recommendation based on what you found. Don't ask open-ended questions — lead with a proposal:",{"type":45,"tag":50,"props":1575,"children":1576},{},[1577],{"type":45,"tag":177,"props":1578,"children":1579},{},[1580],{"type":59,"value":1581},"Route from OTel detection:",{"type":45,"tag":91,"props":1583,"children":1584},{},[1585],{"type":45,"tag":95,"props":1586,"children":1587},{},[1588,1593,1595,1601,1603,1609,1611,1617,1618,1624,1626,1632,1634,1640,1642,1647,1649,1655],{"type":45,"tag":177,"props":1589,"children":1590},{},[1591],{"type":59,"value":1592},"OTel tracing detected",{"type":59,"value":1594}," (",{"type":45,"tag":106,"props":1596,"children":1598},{"className":1597},[],[1599],{"type":59,"value":1600},"@opentelemetry\u002Fsdk-node",{"type":59,"value":1602}," or ",{"type":45,"tag":106,"props":1604,"children":1606},{"className":1605},[],[1607],{"type":59,"value":1608},"@opentelemetry\u002Fsdk-trace-node",{"type":59,"value":1610}," in ",{"type":45,"tag":106,"props":1612,"children":1614},{"className":1613},[],[1615],{"type":59,"value":1616},"package.json",{"type":59,"value":121},{"type":45,"tag":106,"props":1619,"children":1621},{"className":1620},[],[1622],{"type":59,"value":1623},"NodeTracerProvider",{"type":59,"value":1625}," in source) → use OTLP path: ",{"type":45,"tag":106,"props":1627,"children":1629},{"className":1628},[],[1630],{"type":59,"value":1631},"otlpIntegration()",{"type":59,"value":1633}," via ",{"type":45,"tag":106,"props":1635,"children":1637},{"className":1636},[],[1638],{"type":59,"value":1639},"@sentry\u002Fnode-core\u002Flight",{"type":59,"value":1641},"; do ",{"type":45,"tag":177,"props":1643,"children":1644},{},[1645],{"type":59,"value":1646},"not",{"type":59,"value":1648}," set ",{"type":45,"tag":106,"props":1650,"children":1652},{"className":1651},[],[1653],{"type":59,"value":1654},"tracesSampleRate",{"type":59,"value":1656},"; Sentry links errors to OTel traces automatically",{"type":45,"tag":50,"props":1658,"children":1659},{},[1660],{"type":45,"tag":177,"props":1661,"children":1662},{},[1663],{"type":59,"value":1664},"Recommended (core coverage):",{"type":45,"tag":91,"props":1666,"children":1667},{},[1668,1680],{"type":45,"tag":95,"props":1669,"children":1670},{},[1671,1673,1678],{"type":59,"value":1672},"✅ ",{"type":45,"tag":177,"props":1674,"children":1675},{},[1676],{"type":59,"value":1677},"Error Monitoring",{"type":59,"value":1679}," — always; captures unhandled exceptions, promise rejections, and framework errors",{"type":45,"tag":95,"props":1681,"children":1682},{},[1683,1684,1689],{"type":59,"value":1672},{"type":45,"tag":177,"props":1685,"children":1686},{},[1687],{"type":59,"value":1688},"Tracing",{"type":59,"value":1690}," — automatic HTTP, DB, and queue instrumentation via OpenTelemetry",{"type":45,"tag":50,"props":1692,"children":1693},{},[1694],{"type":45,"tag":177,"props":1695,"children":1696},{},[1697],{"type":59,"value":1698},"Optional (enhanced observability):",{"type":45,"tag":91,"props":1700,"children":1701},{},[1702,1745,1761,1772,1783,1794],{"type":45,"tag":95,"props":1703,"children":1704},{},[1705,1707,1712,1714,1720,1722,1728,1730,1736,1737,1743],{"type":59,"value":1706},"⚡ ",{"type":45,"tag":177,"props":1708,"children":1709},{},[1710],{"type":59,"value":1711},"Logging",{"type":59,"value":1713}," — structured logs via ",{"type":45,"tag":106,"props":1715,"children":1717},{"className":1716},[],[1718],{"type":59,"value":1719},"Sentry.logger.*",{"type":59,"value":1721},"; recommend when ",{"type":45,"tag":106,"props":1723,"children":1725},{"className":1724},[],[1726],{"type":59,"value":1727},"winston",{"type":59,"value":1729},"\u002F",{"type":45,"tag":106,"props":1731,"children":1733},{"className":1732},[],[1734],{"type":59,"value":1735},"pino",{"type":59,"value":1729},{"type":45,"tag":106,"props":1738,"children":1740},{"className":1739},[],[1741],{"type":59,"value":1742},"bunyan",{"type":59,"value":1744}," or log search is needed",{"type":45,"tag":95,"props":1746,"children":1747},{},[1748,1749,1754,1756],{"type":59,"value":1706},{"type":45,"tag":177,"props":1750,"children":1751},{},[1752],{"type":59,"value":1753},"Profiling",{"type":59,"value":1755}," — continuous CPU profiling (Node.js only; not available on Bun or Deno); ",{"type":45,"tag":177,"props":1757,"children":1758},{},[1759],{"type":59,"value":1760},"not available with OTLP path",{"type":45,"tag":95,"props":1762,"children":1763},{},[1764,1765,1770],{"type":59,"value":1706},{"type":45,"tag":177,"props":1766,"children":1767},{},[1768],{"type":59,"value":1769},"AI Monitoring",{"type":59,"value":1771}," — OpenAI, Anthropic, LangChain, Vercel AI SDK; recommend when AI\u002FLLM calls detected",{"type":45,"tag":95,"props":1773,"children":1774},{},[1775,1776,1781],{"type":59,"value":1706},{"type":45,"tag":177,"props":1777,"children":1778},{},[1779],{"type":59,"value":1780},"Crons",{"type":59,"value":1782}," — detect missed or failed scheduled jobs; recommend when node-cron, Bull, or Agenda is detected",{"type":45,"tag":95,"props":1784,"children":1785},{},[1786,1787,1792],{"type":59,"value":1706},{"type":45,"tag":177,"props":1788,"children":1789},{},[1790],{"type":59,"value":1791},"Metrics",{"type":59,"value":1793}," — custom counters, gauges, distributions; recommend when custom KPIs needed",{"type":45,"tag":95,"props":1795,"children":1796},{},[1797,1798,1803,1805,1811,1813,1819],{"type":59,"value":1706},{"type":45,"tag":177,"props":1799,"children":1800},{},[1801],{"type":59,"value":1802},"Runtime Metrics",{"type":59,"value":1804}," — automatic collection of memory, CPU, and event loop metrics; ",{"type":45,"tag":106,"props":1806,"children":1808},{"className":1807},[],[1809],{"type":59,"value":1810},"nodeRuntimeMetricsIntegration()",{"type":59,"value":1812}," (Node.js) \u002F ",{"type":45,"tag":106,"props":1814,"children":1816},{"className":1815},[],[1817],{"type":59,"value":1818},"bunRuntimeMetricsIntegration()",{"type":59,"value":1820}," (Bun)",{"type":45,"tag":50,"props":1822,"children":1823},{},[1824],{"type":45,"tag":177,"props":1825,"children":1826},{},[1827],{"type":59,"value":1828},"Recommendation logic:",{"type":45,"tag":1371,"props":1830,"children":1831},{},[1832,1848],{"type":45,"tag":1375,"props":1833,"children":1834},{},[1835],{"type":45,"tag":1379,"props":1836,"children":1837},{},[1838,1843],{"type":45,"tag":1383,"props":1839,"children":1840},{},[1841],{"type":59,"value":1842},"Feature",{"type":45,"tag":1383,"props":1844,"children":1845},{},[1846],{"type":59,"value":1847},"Recommend when...",{"type":45,"tag":1394,"props":1849,"children":1850},{},[1851,1868,1888,1910,1922,1952,1964,1976,1988],{"type":45,"tag":1379,"props":1852,"children":1853},{},[1854,1858],{"type":45,"tag":1401,"props":1855,"children":1856},{},[1857],{"type":59,"value":1677},{"type":45,"tag":1401,"props":1859,"children":1860},{},[1861,1866],{"type":45,"tag":177,"props":1862,"children":1863},{},[1864],{"type":59,"value":1865},"Always",{"type":59,"value":1867}," — non-negotiable baseline",{"type":45,"tag":1379,"props":1869,"children":1870},{},[1871,1876],{"type":45,"tag":1401,"props":1872,"children":1873},{},[1874],{"type":59,"value":1875},"OTLP Integration",{"type":45,"tag":1401,"props":1877,"children":1878},{},[1879,1881,1886],{"type":59,"value":1880},"OTel tracing detected — ",{"type":45,"tag":177,"props":1882,"children":1883},{},[1884],{"type":59,"value":1885},"replaces",{"type":59,"value":1887}," native Tracing",{"type":45,"tag":1379,"props":1889,"children":1890},{},[1891,1895],{"type":45,"tag":1401,"props":1892,"children":1893},{},[1894],{"type":59,"value":1688},{"type":45,"tag":1401,"props":1896,"children":1897},{},[1898,1903,1905],{"type":45,"tag":177,"props":1899,"children":1900},{},[1901],{"type":59,"value":1902},"Always for server apps",{"type":59,"value":1904}," — HTTP spans + DB spans are high-value; ",{"type":45,"tag":177,"props":1906,"children":1907},{},[1908],{"type":59,"value":1909},"skip if OTel tracing detected",{"type":45,"tag":1379,"props":1911,"children":1912},{},[1913,1917],{"type":45,"tag":1401,"props":1914,"children":1915},{},[1916],{"type":59,"value":1711},{"type":45,"tag":1401,"props":1918,"children":1919},{},[1920],{"type":59,"value":1921},"App uses winston, pino, bunyan, or needs log-to-trace correlation",{"type":45,"tag":1379,"props":1923,"children":1924},{},[1925,1929],{"type":45,"tag":1401,"props":1926,"children":1927},{},[1928],{"type":59,"value":1753},{"type":45,"tag":1401,"props":1930,"children":1931},{},[1932,1937,1939,1943,1945,1950],{"type":45,"tag":177,"props":1933,"children":1934},{},[1935],{"type":59,"value":1936},"Node.js only",{"type":59,"value":1938}," — performance-critical service; native addon compatible; ",{"type":45,"tag":177,"props":1940,"children":1941},{},[1942],{"type":59,"value":1909},{"type":59,"value":1944}," (requires ",{"type":45,"tag":106,"props":1946,"children":1948},{"className":1947},[],[1949],{"type":59,"value":1654},{"type":59,"value":1951},", incompatible with OTLP)",{"type":45,"tag":1379,"props":1953,"children":1954},{},[1955,1959],{"type":45,"tag":1401,"props":1956,"children":1957},{},[1958],{"type":59,"value":1769},{"type":45,"tag":1401,"props":1960,"children":1961},{},[1962],{"type":59,"value":1963},"App calls OpenAI, Anthropic, LangChain, Vercel AI, or Google GenAI",{"type":45,"tag":1379,"props":1965,"children":1966},{},[1967,1971],{"type":45,"tag":1401,"props":1968,"children":1969},{},[1970],{"type":59,"value":1780},{"type":45,"tag":1401,"props":1972,"children":1973},{},[1974],{"type":59,"value":1975},"App uses node-cron, Bull, BullMQ, Agenda, or any scheduled task pattern",{"type":45,"tag":1379,"props":1977,"children":1978},{},[1979,1983],{"type":45,"tag":1401,"props":1980,"children":1981},{},[1982],{"type":59,"value":1791},{"type":45,"tag":1401,"props":1984,"children":1985},{},[1986],{"type":59,"value":1987},"App needs custom counters, gauges, or histograms",{"type":45,"tag":1379,"props":1989,"children":1990},{},[1991,1995],{"type":45,"tag":1401,"props":1992,"children":1993},{},[1994],{"type":59,"value":1802},{"type":45,"tag":1401,"props":1996,"children":1997},{},[1998],{"type":59,"value":1999},"Any Node.js or Bun service wanting automatic memory\u002FCPU\u002Fevent-loop visibility",{"type":45,"tag":50,"props":2001,"children":2002},{},[2003,2008,2010],{"type":45,"tag":177,"props":2004,"children":2005},{},[2006],{"type":59,"value":2007},"OTel tracing detected:",{"type":59,"value":2009}," ",{"type":45,"tag":2011,"props":2012,"children":2013},"em",{},[2014,2016,2021],{"type":59,"value":2015},"\"I see OpenTelemetry tracing in the project. I recommend Sentry's OTLP integration for tracing (via your existing OTel setup) + Error Monitoring + Sentry Logging ",{"type":45,"tag":292,"props":2017,"children":2018},{},[2019],{"type":59,"value":2020},"+ Metrics\u002FCrons\u002FAI Monitoring if applicable",{"type":59,"value":2022},". Shall I proceed?\"",{"type":45,"tag":50,"props":2024,"children":2025},{},[2026,2031,2032],{"type":45,"tag":177,"props":2027,"children":2028},{},[2029],{"type":59,"value":2030},"No OTel:",{"type":59,"value":2009},{"type":45,"tag":2011,"props":2033,"children":2034},{},[2035],{"type":59,"value":2036},"\"I recommend setting up Error Monitoring + Tracing. Want me to also add Logging or Profiling?\"",{"type":45,"tag":266,"props":2038,"children":2039},{},[],{"type":45,"tag":84,"props":2041,"children":2043},{"id":2042},"phase-3-guide",[2044],{"type":59,"value":2045},"Phase 3: Guide",{"type":45,"tag":2047,"props":2048,"children":2050},"h3",{"id":2049},"runtime-nodejs",[2051],{"type":59,"value":2052},"Runtime: Node.js",{"type":45,"tag":2054,"props":2055,"children":2057},"h4",{"id":2056},"option-1-wizard-recommended-for-nodejs",[2058],{"type":59,"value":2059},"Option 1: Wizard (Recommended for Node.js)",{"type":45,"tag":46,"props":2061,"children":2062},{},[2063,2073,2083,2095],{"type":45,"tag":50,"props":2064,"children":2065},{},[2066,2071],{"type":45,"tag":177,"props":2067,"children":2068},{},[2069],{"type":59,"value":2070},"You need to run this yourself",{"type":59,"value":2072}," — the wizard opens a browser for login and requires interactive input that the agent can't handle. Copy-paste into your terminal:",{"type":45,"tag":281,"props":2074,"children":2078},{"className":2075,"code":2077,"language":59},[2076],"language-text","npx @sentry\u002Fwizard@latest -i node\n",[2079],{"type":45,"tag":106,"props":2080,"children":2081},{"__ignoreMap":286},[2082],{"type":59,"value":2077},{"type":45,"tag":50,"props":2084,"children":2085},{},[2086,2088,2093],{"type":59,"value":2087},"It handles login, org\u002Fproject selection, SDK installation, ",{"type":45,"tag":106,"props":2089,"children":2091},{"className":2090},[],[2092],{"type":59,"value":143},{"type":59,"value":2094}," creation, and package.json script updates.",{"type":45,"tag":50,"props":2096,"children":2097},{},[2098],{"type":45,"tag":177,"props":2099,"children":2100},{},[2101,2103,2109],{"type":59,"value":2102},"Once it finishes, come back and skip to ",{"type":45,"tag":54,"props":2104,"children":2106},{"href":2105},"#verification",[2107],{"type":59,"value":2108},"Verification",{"type":59,"value":2110},".",{"type":45,"tag":50,"props":2112,"children":2113},{},[2114],{"type":59,"value":2115},"If the user skips the wizard, proceed with Option 2 (Manual Setup) below.",{"type":45,"tag":266,"props":2117,"children":2118},{},[],{"type":45,"tag":2054,"props":2120,"children":2122},{"id":2121},"option-2-manual-setup-nodejs",[2123],{"type":59,"value":2124},"Option 2: Manual Setup — Node.js",{"type":45,"tag":2126,"props":2127,"children":2129},"h5",{"id":2128},"install",[2130],{"type":59,"value":2131},"Install",{"type":45,"tag":281,"props":2133,"children":2135},{"className":283,"code":2134,"language":285,"meta":286,"style":286},"npm install @sentry\u002Fnode --save\n# or\nyarn add @sentry\u002Fnode\n# or\npnpm add @sentry\u002Fnode\n",[2136],{"type":45,"tag":106,"props":2137,"children":2138},{"__ignoreMap":286},[2139,2162,2170,2188,2195],{"type":45,"tag":292,"props":2140,"children":2141},{"class":294,"line":295},[2142,2147,2152,2157],{"type":45,"tag":292,"props":2143,"children":2144},{"style":309},[2145],{"type":59,"value":2146},"npm",{"type":45,"tag":292,"props":2148,"children":2149},{"style":315},[2150],{"type":59,"value":2151}," install",{"type":45,"tag":292,"props":2153,"children":2154},{"style":315},[2155],{"type":59,"value":2156}," @sentry\u002Fnode",{"type":45,"tag":292,"props":2158,"children":2159},{"style":315},[2160],{"type":59,"value":2161}," --save\n",{"type":45,"tag":292,"props":2163,"children":2164},{"class":294,"line":305},[2165],{"type":45,"tag":292,"props":2166,"children":2167},{"style":299},[2168],{"type":59,"value":2169},"# or\n",{"type":45,"tag":292,"props":2171,"children":2172},{"class":294,"line":358},[2173,2178,2183],{"type":45,"tag":292,"props":2174,"children":2175},{"style":309},[2176],{"type":59,"value":2177},"yarn",{"type":45,"tag":292,"props":2179,"children":2180},{"style":315},[2181],{"type":59,"value":2182}," add",{"type":45,"tag":292,"props":2184,"children":2185},{"style":315},[2186],{"type":59,"value":2187}," @sentry\u002Fnode\n",{"type":45,"tag":292,"props":2189,"children":2190},{"class":294,"line":400},[2191],{"type":45,"tag":292,"props":2192,"children":2193},{"style":299},[2194],{"type":59,"value":2169},{"type":45,"tag":292,"props":2196,"children":2197},{"class":294,"line":442},[2198,2203,2207],{"type":45,"tag":292,"props":2199,"children":2200},{"style":309},[2201],{"type":59,"value":2202},"pnpm",{"type":45,"tag":292,"props":2204,"children":2205},{"style":315},[2206],{"type":59,"value":2182},{"type":45,"tag":292,"props":2208,"children":2209},{"style":315},[2210],{"type":59,"value":2187},{"type":45,"tag":2126,"props":2212,"children":2214},{"id":2213},"create-the-instrument-file",[2215],{"type":59,"value":2216},"Create the Instrument File",{"type":45,"tag":50,"props":2218,"children":2219},{},[2220],{"type":45,"tag":177,"props":2221,"children":2222},{},[2223,2225,2230],{"type":59,"value":2224},"CommonJS (",{"type":45,"tag":106,"props":2226,"children":2228},{"className":2227},[],[2229],{"type":59,"value":143},{"type":59,"value":2231},"):",{"type":45,"tag":281,"props":2233,"children":2237},{"className":2234,"code":2235,"language":2236,"meta":286,"style":286},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F instrument.js — must be loaded before all other modules\nconst Sentry = require(\"@sentry\u002Fnode\");\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN ?? \"___DSN___\",\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnode\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n\n  \u002F\u002F 100% in dev, lower in production\n  tracesSampleRate: process.env.NODE_ENV === \"development\" ? 1.0 : 0.1,\n\n  \u002F\u002F Capture local variable values in stack frames\n  includeLocalVariables: true,\n\n  enableLogs: true,\n});\n","javascript",[2238],{"type":45,"tag":106,"props":2239,"children":2240},{"__ignoreMap":286},[2241,2249,2300,2307,2332,2392,2399,2416,2424,2432,2440,2448,2456,2463,2471,2547,2554,2562,2584,2591,2611],{"type":45,"tag":292,"props":2242,"children":2243},{"class":294,"line":295},[2244],{"type":45,"tag":292,"props":2245,"children":2246},{"style":299},[2247],{"type":59,"value":2248},"\u002F\u002F instrument.js — must be loaded before all other modules\n",{"type":45,"tag":292,"props":2250,"children":2251},{"class":294,"line":305},[2252,2258,2263,2268,2273,2278,2282,2286,2290,2295],{"type":45,"tag":292,"props":2253,"children":2255},{"style":2254},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[2256],{"type":59,"value":2257},"const",{"type":45,"tag":292,"props":2259,"children":2260},{"style":813},[2261],{"type":59,"value":2262}," Sentry ",{"type":45,"tag":292,"props":2264,"children":2265},{"style":321},[2266],{"type":59,"value":2267},"=",{"type":45,"tag":292,"props":2269,"children":2270},{"style":337},[2271],{"type":59,"value":2272}," require",{"type":45,"tag":292,"props":2274,"children":2275},{"style":813},[2276],{"type":59,"value":2277},"(",{"type":45,"tag":292,"props":2279,"children":2280},{"style":321},[2281],{"type":59,"value":1181},{"type":45,"tag":292,"props":2283,"children":2284},{"style":315},[2285],{"type":59,"value":111},{"type":45,"tag":292,"props":2287,"children":2288},{"style":321},[2289],{"type":59,"value":1181},{"type":45,"tag":292,"props":2291,"children":2292},{"style":813},[2293],{"type":59,"value":2294},")",{"type":45,"tag":292,"props":2296,"children":2297},{"style":321},[2298],{"type":59,"value":2299},";\n",{"type":45,"tag":292,"props":2301,"children":2302},{"class":294,"line":358},[2303],{"type":45,"tag":292,"props":2304,"children":2305},{"emptyLinePlaceholder":40},[2306],{"type":59,"value":448},{"type":45,"tag":292,"props":2308,"children":2309},{"class":294,"line":400},[2310,2314,2318,2323,2327],{"type":45,"tag":292,"props":2311,"children":2312},{"style":813},[2313],{"type":59,"value":9},{"type":45,"tag":292,"props":2315,"children":2316},{"style":321},[2317],{"type":59,"value":2110},{"type":45,"tag":292,"props":2319,"children":2320},{"style":337},[2321],{"type":59,"value":2322},"init",{"type":45,"tag":292,"props":2324,"children":2325},{"style":813},[2326],{"type":59,"value":2277},{"type":45,"tag":292,"props":2328,"children":2329},{"style":321},[2330],{"type":59,"value":2331},"{\n",{"type":45,"tag":292,"props":2333,"children":2334},{"class":294,"line":442},[2335,2341,2346,2351,2355,2360,2364,2369,2374,2378,2383,2387],{"type":45,"tag":292,"props":2336,"children":2338},{"style":2337},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[2339],{"type":59,"value":2340},"  dsn",{"type":45,"tag":292,"props":2342,"children":2343},{"style":321},[2344],{"type":59,"value":2345},":",{"type":45,"tag":292,"props":2347,"children":2348},{"style":813},[2349],{"type":59,"value":2350}," process",{"type":45,"tag":292,"props":2352,"children":2353},{"style":321},[2354],{"type":59,"value":2110},{"type":45,"tag":292,"props":2356,"children":2357},{"style":813},[2358],{"type":59,"value":2359},"env",{"type":45,"tag":292,"props":2361,"children":2362},{"style":321},[2363],{"type":59,"value":2110},{"type":45,"tag":292,"props":2365,"children":2366},{"style":813},[2367],{"type":59,"value":2368},"SENTRY_DSN ",{"type":45,"tag":292,"props":2370,"children":2371},{"style":321},[2372],{"type":59,"value":2373},"??",{"type":45,"tag":292,"props":2375,"children":2376},{"style":321},[2377],{"type":59,"value":345},{"type":45,"tag":292,"props":2379,"children":2380},{"style":315},[2381],{"type":59,"value":2382},"___DSN___",{"type":45,"tag":292,"props":2384,"children":2385},{"style":321},[2386],{"type":59,"value":1181},{"type":45,"tag":292,"props":2388,"children":2389},{"style":321},[2390],{"type":59,"value":2391},",\n",{"type":45,"tag":292,"props":2393,"children":2394},{"class":294,"line":451},[2395],{"type":45,"tag":292,"props":2396,"children":2397},{"emptyLinePlaceholder":40},[2398],{"type":59,"value":448},{"type":45,"tag":292,"props":2400,"children":2401},{"class":294,"line":460},[2402,2407,2411],{"type":45,"tag":292,"props":2403,"children":2404},{"style":2337},[2405],{"type":59,"value":2406},"  dataCollection",{"type":45,"tag":292,"props":2408,"children":2409},{"style":321},[2410],{"type":59,"value":2345},{"type":45,"tag":292,"props":2412,"children":2413},{"style":321},[2414],{"type":59,"value":2415}," {\n",{"type":45,"tag":292,"props":2417,"children":2418},{"class":294,"line":512},[2419],{"type":45,"tag":292,"props":2420,"children":2421},{"style":299},[2422],{"type":59,"value":2423},"    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n",{"type":45,"tag":292,"props":2425,"children":2426},{"class":294,"line":556},[2427],{"type":45,"tag":292,"props":2428,"children":2429},{"style":299},[2430],{"type":59,"value":2431},"    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnode\u002Fconfiguration\u002Foptions\u002F#dataCollection\n",{"type":45,"tag":292,"props":2433,"children":2434},{"class":294,"line":564},[2435],{"type":45,"tag":292,"props":2436,"children":2437},{"style":299},[2438],{"type":59,"value":2439},"    \u002F\u002F userInfo: false,\n",{"type":45,"tag":292,"props":2441,"children":2442},{"class":294,"line":573},[2443],{"type":45,"tag":292,"props":2444,"children":2445},{"style":299},[2446],{"type":59,"value":2447},"    \u002F\u002F httpBodies: [],\n",{"type":45,"tag":292,"props":2449,"children":2450},{"class":294,"line":618},[2451],{"type":45,"tag":292,"props":2452,"children":2453},{"style":321},[2454],{"type":59,"value":2455},"  },\n",{"type":45,"tag":292,"props":2457,"children":2458},{"class":294,"line":626},[2459],{"type":45,"tag":292,"props":2460,"children":2461},{"emptyLinePlaceholder":40},[2462],{"type":59,"value":448},{"type":45,"tag":292,"props":2464,"children":2465},{"class":294,"line":635},[2466],{"type":45,"tag":292,"props":2467,"children":2468},{"style":299},[2469],{"type":59,"value":2470},"  \u002F\u002F 100% in dev, lower in production\n",{"type":45,"tag":292,"props":2472,"children":2473},{"class":294,"line":680},[2474,2479,2483,2487,2491,2495,2499,2504,2509,2513,2518,2522,2527,2533,2538,2543],{"type":45,"tag":292,"props":2475,"children":2476},{"style":2337},[2477],{"type":59,"value":2478},"  tracesSampleRate",{"type":45,"tag":292,"props":2480,"children":2481},{"style":321},[2482],{"type":59,"value":2345},{"type":45,"tag":292,"props":2484,"children":2485},{"style":813},[2486],{"type":59,"value":2350},{"type":45,"tag":292,"props":2488,"children":2489},{"style":321},[2490],{"type":59,"value":2110},{"type":45,"tag":292,"props":2492,"children":2493},{"style":813},[2494],{"type":59,"value":2359},{"type":45,"tag":292,"props":2496,"children":2497},{"style":321},[2498],{"type":59,"value":2110},{"type":45,"tag":292,"props":2500,"children":2501},{"style":813},[2502],{"type":59,"value":2503},"NODE_ENV ",{"type":45,"tag":292,"props":2505,"children":2506},{"style":321},[2507],{"type":59,"value":2508},"===",{"type":45,"tag":292,"props":2510,"children":2511},{"style":321},[2512],{"type":59,"value":345},{"type":45,"tag":292,"props":2514,"children":2515},{"style":315},[2516],{"type":59,"value":2517},"development",{"type":45,"tag":292,"props":2519,"children":2520},{"style":321},[2521],{"type":59,"value":1181},{"type":45,"tag":292,"props":2523,"children":2524},{"style":321},[2525],{"type":59,"value":2526}," ?",{"type":45,"tag":292,"props":2528,"children":2530},{"style":2529},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[2531],{"type":59,"value":2532}," 1.0",{"type":45,"tag":292,"props":2534,"children":2535},{"style":321},[2536],{"type":59,"value":2537}," :",{"type":45,"tag":292,"props":2539,"children":2540},{"style":2529},[2541],{"type":59,"value":2542}," 0.1",{"type":45,"tag":292,"props":2544,"children":2545},{"style":321},[2546],{"type":59,"value":2391},{"type":45,"tag":292,"props":2548,"children":2549},{"class":294,"line":688},[2550],{"type":45,"tag":292,"props":2551,"children":2552},{"emptyLinePlaceholder":40},[2553],{"type":59,"value":448},{"type":45,"tag":292,"props":2555,"children":2556},{"class":294,"line":697},[2557],{"type":45,"tag":292,"props":2558,"children":2559},{"style":299},[2560],{"type":59,"value":2561},"  \u002F\u002F Capture local variable values in stack frames\n",{"type":45,"tag":292,"props":2563,"children":2564},{"class":294,"line":746},[2565,2570,2574,2580],{"type":45,"tag":292,"props":2566,"children":2567},{"style":2337},[2568],{"type":59,"value":2569},"  includeLocalVariables",{"type":45,"tag":292,"props":2571,"children":2572},{"style":321},[2573],{"type":59,"value":2345},{"type":45,"tag":292,"props":2575,"children":2577},{"style":2576},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[2578],{"type":59,"value":2579}," true",{"type":45,"tag":292,"props":2581,"children":2582},{"style":321},[2583],{"type":59,"value":2391},{"type":45,"tag":292,"props":2585,"children":2586},{"class":294,"line":754},[2587],{"type":45,"tag":292,"props":2588,"children":2589},{"emptyLinePlaceholder":40},[2590],{"type":59,"value":448},{"type":45,"tag":292,"props":2592,"children":2593},{"class":294,"line":763},[2594,2599,2603,2607],{"type":45,"tag":292,"props":2595,"children":2596},{"style":2337},[2597],{"type":59,"value":2598},"  enableLogs",{"type":45,"tag":292,"props":2600,"children":2601},{"style":321},[2602],{"type":59,"value":2345},{"type":45,"tag":292,"props":2604,"children":2605},{"style":2576},[2606],{"type":59,"value":2579},{"type":45,"tag":292,"props":2608,"children":2609},{"style":321},[2610],{"type":59,"value":2391},{"type":45,"tag":292,"props":2612,"children":2613},{"class":294,"line":804},[2614,2619,2623],{"type":45,"tag":292,"props":2615,"children":2616},{"style":321},[2617],{"type":59,"value":2618},"}",{"type":45,"tag":292,"props":2620,"children":2621},{"style":813},[2622],{"type":59,"value":2294},{"type":45,"tag":292,"props":2624,"children":2625},{"style":321},[2626],{"type":59,"value":2299},{"type":45,"tag":50,"props":2628,"children":2629},{},[2630],{"type":45,"tag":177,"props":2631,"children":2632},{},[2633,2635,2640],{"type":59,"value":2634},"ESM (",{"type":45,"tag":106,"props":2636,"children":2638},{"className":2637},[],[2639],{"type":59,"value":1487},{"type":59,"value":2231},{"type":45,"tag":281,"props":2642,"children":2644},{"className":2234,"code":2643,"language":2236,"meta":286,"style":286},"\u002F\u002F instrument.mjs — loaded via --import flag before any other module\nimport * as Sentry from \"@sentry\u002Fnode\";\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN ?? \"___DSN___\",\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnode\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n  tracesSampleRate: process.env.NODE_ENV === \"development\" ? 1.0 : 0.1,\n  includeLocalVariables: true,\n  enableLogs: true,\n});\n",[2645],{"type":45,"tag":106,"props":2646,"children":2647},{"__ignoreMap":286},[2648,2656,2699,2706,2729,2780,2787,2802,2809,2816,2823,2830,2837,2904,2923,2942],{"type":45,"tag":292,"props":2649,"children":2650},{"class":294,"line":295},[2651],{"type":45,"tag":292,"props":2652,"children":2653},{"style":299},[2654],{"type":59,"value":2655},"\u002F\u002F instrument.mjs — loaded via --import flag before any other module\n",{"type":45,"tag":292,"props":2657,"children":2658},{"class":294,"line":305},[2659,2665,2669,2674,2678,2683,2687,2691,2695],{"type":45,"tag":292,"props":2660,"children":2662},{"style":2661},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[2663],{"type":59,"value":2664},"import",{"type":45,"tag":292,"props":2666,"children":2667},{"style":321},[2668],{"type":59,"value":816},{"type":45,"tag":292,"props":2670,"children":2671},{"style":2661},[2672],{"type":59,"value":2673}," as",{"type":45,"tag":292,"props":2675,"children":2676},{"style":813},[2677],{"type":59,"value":2262},{"type":45,"tag":292,"props":2679,"children":2680},{"style":2661},[2681],{"type":59,"value":2682},"from",{"type":45,"tag":292,"props":2684,"children":2685},{"style":321},[2686],{"type":59,"value":345},{"type":45,"tag":292,"props":2688,"children":2689},{"style":315},[2690],{"type":59,"value":111},{"type":45,"tag":292,"props":2692,"children":2693},{"style":321},[2694],{"type":59,"value":1181},{"type":45,"tag":292,"props":2696,"children":2697},{"style":321},[2698],{"type":59,"value":2299},{"type":45,"tag":292,"props":2700,"children":2701},{"class":294,"line":358},[2702],{"type":45,"tag":292,"props":2703,"children":2704},{"emptyLinePlaceholder":40},[2705],{"type":59,"value":448},{"type":45,"tag":292,"props":2707,"children":2708},{"class":294,"line":400},[2709,2713,2717,2721,2725],{"type":45,"tag":292,"props":2710,"children":2711},{"style":813},[2712],{"type":59,"value":9},{"type":45,"tag":292,"props":2714,"children":2715},{"style":321},[2716],{"type":59,"value":2110},{"type":45,"tag":292,"props":2718,"children":2719},{"style":337},[2720],{"type":59,"value":2322},{"type":45,"tag":292,"props":2722,"children":2723},{"style":813},[2724],{"type":59,"value":2277},{"type":45,"tag":292,"props":2726,"children":2727},{"style":321},[2728],{"type":59,"value":2331},{"type":45,"tag":292,"props":2730,"children":2731},{"class":294,"line":442},[2732,2736,2740,2744,2748,2752,2756,2760,2764,2768,2772,2776],{"type":45,"tag":292,"props":2733,"children":2734},{"style":2337},[2735],{"type":59,"value":2340},{"type":45,"tag":292,"props":2737,"children":2738},{"style":321},[2739],{"type":59,"value":2345},{"type":45,"tag":292,"props":2741,"children":2742},{"style":813},[2743],{"type":59,"value":2350},{"type":45,"tag":292,"props":2745,"children":2746},{"style":321},[2747],{"type":59,"value":2110},{"type":45,"tag":292,"props":2749,"children":2750},{"style":813},[2751],{"type":59,"value":2359},{"type":45,"tag":292,"props":2753,"children":2754},{"style":321},[2755],{"type":59,"value":2110},{"type":45,"tag":292,"props":2757,"children":2758},{"style":813},[2759],{"type":59,"value":2368},{"type":45,"tag":292,"props":2761,"children":2762},{"style":321},[2763],{"type":59,"value":2373},{"type":45,"tag":292,"props":2765,"children":2766},{"style":321},[2767],{"type":59,"value":345},{"type":45,"tag":292,"props":2769,"children":2770},{"style":315},[2771],{"type":59,"value":2382},{"type":45,"tag":292,"props":2773,"children":2774},{"style":321},[2775],{"type":59,"value":1181},{"type":45,"tag":292,"props":2777,"children":2778},{"style":321},[2779],{"type":59,"value":2391},{"type":45,"tag":292,"props":2781,"children":2782},{"class":294,"line":451},[2783],{"type":45,"tag":292,"props":2784,"children":2785},{"emptyLinePlaceholder":40},[2786],{"type":59,"value":448},{"type":45,"tag":292,"props":2788,"children":2789},{"class":294,"line":460},[2790,2794,2798],{"type":45,"tag":292,"props":2791,"children":2792},{"style":2337},[2793],{"type":59,"value":2406},{"type":45,"tag":292,"props":2795,"children":2796},{"style":321},[2797],{"type":59,"value":2345},{"type":45,"tag":292,"props":2799,"children":2800},{"style":321},[2801],{"type":59,"value":2415},{"type":45,"tag":292,"props":2803,"children":2804},{"class":294,"line":512},[2805],{"type":45,"tag":292,"props":2806,"children":2807},{"style":299},[2808],{"type":59,"value":2423},{"type":45,"tag":292,"props":2810,"children":2811},{"class":294,"line":556},[2812],{"type":45,"tag":292,"props":2813,"children":2814},{"style":299},[2815],{"type":59,"value":2431},{"type":45,"tag":292,"props":2817,"children":2818},{"class":294,"line":564},[2819],{"type":45,"tag":292,"props":2820,"children":2821},{"style":299},[2822],{"type":59,"value":2439},{"type":45,"tag":292,"props":2824,"children":2825},{"class":294,"line":573},[2826],{"type":45,"tag":292,"props":2827,"children":2828},{"style":299},[2829],{"type":59,"value":2447},{"type":45,"tag":292,"props":2831,"children":2832},{"class":294,"line":618},[2833],{"type":45,"tag":292,"props":2834,"children":2835},{"style":321},[2836],{"type":59,"value":2455},{"type":45,"tag":292,"props":2838,"children":2839},{"class":294,"line":626},[2840,2844,2848,2852,2856,2860,2864,2868,2872,2876,2880,2884,2888,2892,2896,2900],{"type":45,"tag":292,"props":2841,"children":2842},{"style":2337},[2843],{"type":59,"value":2478},{"type":45,"tag":292,"props":2845,"children":2846},{"style":321},[2847],{"type":59,"value":2345},{"type":45,"tag":292,"props":2849,"children":2850},{"style":813},[2851],{"type":59,"value":2350},{"type":45,"tag":292,"props":2853,"children":2854},{"style":321},[2855],{"type":59,"value":2110},{"type":45,"tag":292,"props":2857,"children":2858},{"style":813},[2859],{"type":59,"value":2359},{"type":45,"tag":292,"props":2861,"children":2862},{"style":321},[2863],{"type":59,"value":2110},{"type":45,"tag":292,"props":2865,"children":2866},{"style":813},[2867],{"type":59,"value":2503},{"type":45,"tag":292,"props":2869,"children":2870},{"style":321},[2871],{"type":59,"value":2508},{"type":45,"tag":292,"props":2873,"children":2874},{"style":321},[2875],{"type":59,"value":345},{"type":45,"tag":292,"props":2877,"children":2878},{"style":315},[2879],{"type":59,"value":2517},{"type":45,"tag":292,"props":2881,"children":2882},{"style":321},[2883],{"type":59,"value":1181},{"type":45,"tag":292,"props":2885,"children":2886},{"style":321},[2887],{"type":59,"value":2526},{"type":45,"tag":292,"props":2889,"children":2890},{"style":2529},[2891],{"type":59,"value":2532},{"type":45,"tag":292,"props":2893,"children":2894},{"style":321},[2895],{"type":59,"value":2537},{"type":45,"tag":292,"props":2897,"children":2898},{"style":2529},[2899],{"type":59,"value":2542},{"type":45,"tag":292,"props":2901,"children":2902},{"style":321},[2903],{"type":59,"value":2391},{"type":45,"tag":292,"props":2905,"children":2906},{"class":294,"line":635},[2907,2911,2915,2919],{"type":45,"tag":292,"props":2908,"children":2909},{"style":2337},[2910],{"type":59,"value":2569},{"type":45,"tag":292,"props":2912,"children":2913},{"style":321},[2914],{"type":59,"value":2345},{"type":45,"tag":292,"props":2916,"children":2917},{"style":2576},[2918],{"type":59,"value":2579},{"type":45,"tag":292,"props":2920,"children":2921},{"style":321},[2922],{"type":59,"value":2391},{"type":45,"tag":292,"props":2924,"children":2925},{"class":294,"line":680},[2926,2930,2934,2938],{"type":45,"tag":292,"props":2927,"children":2928},{"style":2337},[2929],{"type":59,"value":2598},{"type":45,"tag":292,"props":2931,"children":2932},{"style":321},[2933],{"type":59,"value":2345},{"type":45,"tag":292,"props":2935,"children":2936},{"style":2576},[2937],{"type":59,"value":2579},{"type":45,"tag":292,"props":2939,"children":2940},{"style":321},[2941],{"type":59,"value":2391},{"type":45,"tag":292,"props":2943,"children":2944},{"class":294,"line":688},[2945,2949,2953],{"type":45,"tag":292,"props":2946,"children":2947},{"style":321},[2948],{"type":59,"value":2618},{"type":45,"tag":292,"props":2950,"children":2951},{"style":813},[2952],{"type":59,"value":2294},{"type":45,"tag":292,"props":2954,"children":2955},{"style":321},[2956],{"type":59,"value":2299},{"type":45,"tag":2126,"props":2958,"children":2960},{"id":2959},"start-your-app-with-sentry-loaded-first",[2961],{"type":59,"value":2962},"Start Your App with Sentry Loaded First",{"type":45,"tag":50,"props":2964,"children":2965},{},[2966,2971,2973,2978],{"type":45,"tag":177,"props":2967,"children":2968},{},[2969],{"type":59,"value":2970},"CommonJS",{"type":59,"value":2972}," — add ",{"type":45,"tag":106,"props":2974,"children":2976},{"className":2975},[],[2977],{"type":59,"value":1436},{"type":59,"value":2979}," as the very first line of your entry file:",{"type":45,"tag":281,"props":2981,"children":2983},{"className":2234,"code":2982,"language":2236,"meta":286,"style":286},"\u002F\u002F app.js\nrequire(\".\u002Finstrument\"); \u002F\u002F must be first\n\nconst express = require(\"express\");\n\u002F\u002F ... rest of your app\n",[2984],{"type":45,"tag":106,"props":2985,"children":2986},{"__ignoreMap":286},[2987,2995,3034,3041,3086],{"type":45,"tag":292,"props":2988,"children":2989},{"class":294,"line":295},[2990],{"type":45,"tag":292,"props":2991,"children":2992},{"style":299},[2993],{"type":59,"value":2994},"\u002F\u002F app.js\n",{"type":45,"tag":292,"props":2996,"children":2997},{"class":294,"line":305},[2998,3003,3007,3011,3016,3020,3024,3029],{"type":45,"tag":292,"props":2999,"children":3000},{"style":337},[3001],{"type":59,"value":3002},"require",{"type":45,"tag":292,"props":3004,"children":3005},{"style":813},[3006],{"type":59,"value":2277},{"type":45,"tag":292,"props":3008,"children":3009},{"style":321},[3010],{"type":59,"value":1181},{"type":45,"tag":292,"props":3012,"children":3013},{"style":315},[3014],{"type":59,"value":3015},".\u002Finstrument",{"type":45,"tag":292,"props":3017,"children":3018},{"style":321},[3019],{"type":59,"value":1181},{"type":45,"tag":292,"props":3021,"children":3022},{"style":813},[3023],{"type":59,"value":2294},{"type":45,"tag":292,"props":3025,"children":3026},{"style":321},[3027],{"type":59,"value":3028},";",{"type":45,"tag":292,"props":3030,"children":3031},{"style":299},[3032],{"type":59,"value":3033}," \u002F\u002F must be first\n",{"type":45,"tag":292,"props":3035,"children":3036},{"class":294,"line":358},[3037],{"type":45,"tag":292,"props":3038,"children":3039},{"emptyLinePlaceholder":40},[3040],{"type":59,"value":448},{"type":45,"tag":292,"props":3042,"children":3043},{"class":294,"line":400},[3044,3048,3053,3057,3061,3065,3069,3074,3078,3082],{"type":45,"tag":292,"props":3045,"children":3046},{"style":2254},[3047],{"type":59,"value":2257},{"type":45,"tag":292,"props":3049,"children":3050},{"style":813},[3051],{"type":59,"value":3052}," express ",{"type":45,"tag":292,"props":3054,"children":3055},{"style":321},[3056],{"type":59,"value":2267},{"type":45,"tag":292,"props":3058,"children":3059},{"style":337},[3060],{"type":59,"value":2272},{"type":45,"tag":292,"props":3062,"children":3063},{"style":813},[3064],{"type":59,"value":2277},{"type":45,"tag":292,"props":3066,"children":3067},{"style":321},[3068],{"type":59,"value":1181},{"type":45,"tag":292,"props":3070,"children":3071},{"style":315},[3072],{"type":59,"value":3073},"express",{"type":45,"tag":292,"props":3075,"children":3076},{"style":321},[3077],{"type":59,"value":1181},{"type":45,"tag":292,"props":3079,"children":3080},{"style":813},[3081],{"type":59,"value":2294},{"type":45,"tag":292,"props":3083,"children":3084},{"style":321},[3085],{"type":59,"value":2299},{"type":45,"tag":292,"props":3087,"children":3088},{"class":294,"line":442},[3089],{"type":45,"tag":292,"props":3090,"children":3091},{"style":299},[3092],{"type":59,"value":3093},"\u002F\u002F ... rest of your app\n",{"type":45,"tag":50,"props":3095,"children":3096},{},[3097,3102,3104,3110],{"type":45,"tag":177,"props":3098,"children":3099},{},[3100],{"type":59,"value":3101},"ESM",{"type":59,"value":3103}," — use the ",{"type":45,"tag":106,"props":3105,"children":3107},{"className":3106},[],[3108],{"type":59,"value":3109},"--import",{"type":59,"value":3111}," flag so Sentry loads before all other modules (Node.js 18.19.0+ required):",{"type":45,"tag":281,"props":3113,"children":3115},{"className":283,"code":3114,"language":285,"meta":286,"style":286},"node --import .\u002Finstrument.mjs app.mjs\n",[3116],{"type":45,"tag":106,"props":3117,"children":3118},{"__ignoreMap":286},[3119],{"type":45,"tag":292,"props":3120,"children":3121},{"class":294,"line":295},[3122,3126,3131,3136],{"type":45,"tag":292,"props":3123,"children":3124},{"style":309},[3125],{"type":59,"value":406},{"type":45,"tag":292,"props":3127,"children":3128},{"style":315},[3129],{"type":59,"value":3130}," --import",{"type":45,"tag":292,"props":3132,"children":3133},{"style":315},[3134],{"type":59,"value":3135}," .\u002Finstrument.mjs",{"type":45,"tag":292,"props":3137,"children":3138},{"style":315},[3139],{"type":59,"value":3140}," app.mjs\n",{"type":45,"tag":50,"props":3142,"children":3143},{},[3144,3146,3151],{"type":59,"value":3145},"Add to ",{"type":45,"tag":106,"props":3147,"children":3149},{"className":3148},[],[3150],{"type":59,"value":1616},{"type":59,"value":3152}," scripts:",{"type":45,"tag":281,"props":3154,"children":3158},{"className":3155,"code":3156,"language":3157,"meta":286,"style":286},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"scripts\": {\n    \"start\": \"node --import .\u002Finstrument.mjs server.mjs\",\n    \"dev\": \"node --import .\u002Finstrument.mjs --watch server.mjs\"\n  }\n}\n","json",[3159],{"type":45,"tag":106,"props":3160,"children":3161},{"__ignoreMap":286},[3162,3169,3194,3232,3265,3273],{"type":45,"tag":292,"props":3163,"children":3164},{"class":294,"line":295},[3165],{"type":45,"tag":292,"props":3166,"children":3167},{"style":321},[3168],{"type":59,"value":2331},{"type":45,"tag":292,"props":3170,"children":3171},{"class":294,"line":305},[3172,3177,3182,3186,3190],{"type":45,"tag":292,"props":3173,"children":3174},{"style":321},[3175],{"type":59,"value":3176},"  \"",{"type":45,"tag":292,"props":3178,"children":3179},{"style":2254},[3180],{"type":59,"value":3181},"scripts",{"type":45,"tag":292,"props":3183,"children":3184},{"style":321},[3185],{"type":59,"value":1181},{"type":45,"tag":292,"props":3187,"children":3188},{"style":321},[3189],{"type":59,"value":2345},{"type":45,"tag":292,"props":3191,"children":3192},{"style":321},[3193],{"type":59,"value":2415},{"type":45,"tag":292,"props":3195,"children":3196},{"class":294,"line":358},[3197,3202,3207,3211,3215,3219,3224,3228],{"type":45,"tag":292,"props":3198,"children":3199},{"style":321},[3200],{"type":59,"value":3201},"    \"",{"type":45,"tag":292,"props":3203,"children":3204},{"style":309},[3205],{"type":59,"value":3206},"start",{"type":45,"tag":292,"props":3208,"children":3209},{"style":321},[3210],{"type":59,"value":1181},{"type":45,"tag":292,"props":3212,"children":3213},{"style":321},[3214],{"type":59,"value":2345},{"type":45,"tag":292,"props":3216,"children":3217},{"style":321},[3218],{"type":59,"value":345},{"type":45,"tag":292,"props":3220,"children":3221},{"style":315},[3222],{"type":59,"value":3223},"node --import .\u002Finstrument.mjs server.mjs",{"type":45,"tag":292,"props":3225,"children":3226},{"style":321},[3227],{"type":59,"value":1181},{"type":45,"tag":292,"props":3229,"children":3230},{"style":321},[3231],{"type":59,"value":2391},{"type":45,"tag":292,"props":3233,"children":3234},{"class":294,"line":400},[3235,3239,3244,3248,3252,3256,3261],{"type":45,"tag":292,"props":3236,"children":3237},{"style":321},[3238],{"type":59,"value":3201},{"type":45,"tag":292,"props":3240,"children":3241},{"style":309},[3242],{"type":59,"value":3243},"dev",{"type":45,"tag":292,"props":3245,"children":3246},{"style":321},[3247],{"type":59,"value":1181},{"type":45,"tag":292,"props":3249,"children":3250},{"style":321},[3251],{"type":59,"value":2345},{"type":45,"tag":292,"props":3253,"children":3254},{"style":321},[3255],{"type":59,"value":345},{"type":45,"tag":292,"props":3257,"children":3258},{"style":315},[3259],{"type":59,"value":3260},"node --import .\u002Finstrument.mjs --watch server.mjs",{"type":45,"tag":292,"props":3262,"children":3263},{"style":321},[3264],{"type":59,"value":355},{"type":45,"tag":292,"props":3266,"children":3267},{"class":294,"line":442},[3268],{"type":45,"tag":292,"props":3269,"children":3270},{"style":321},[3271],{"type":59,"value":3272},"  }\n",{"type":45,"tag":292,"props":3274,"children":3275},{"class":294,"line":451},[3276],{"type":45,"tag":292,"props":3277,"children":3278},{"style":321},[3279],{"type":59,"value":3280},"}\n",{"type":45,"tag":50,"props":3282,"children":3283},{},[3284],{"type":59,"value":3285},"Or via environment variable (useful for wrapping existing start commands):",{"type":45,"tag":281,"props":3287,"children":3289},{"className":283,"code":3288,"language":285,"meta":286,"style":286},"NODE_OPTIONS=\"--import .\u002Finstrument.mjs\" npm start\n",[3290],{"type":45,"tag":106,"props":3291,"children":3292},{"__ignoreMap":286},[3293],{"type":45,"tag":292,"props":3294,"children":3295},{"class":294,"line":295},[3296,3301,3305,3309,3313,3317,3322],{"type":45,"tag":292,"props":3297,"children":3298},{"style":813},[3299],{"type":59,"value":3300},"NODE_OPTIONS",{"type":45,"tag":292,"props":3302,"children":3303},{"style":321},[3304],{"type":59,"value":2267},{"type":45,"tag":292,"props":3306,"children":3307},{"style":321},[3308],{"type":59,"value":1181},{"type":45,"tag":292,"props":3310,"children":3311},{"style":315},[3312],{"type":59,"value":150},{"type":45,"tag":292,"props":3314,"children":3315},{"style":321},[3316],{"type":59,"value":1181},{"type":45,"tag":292,"props":3318,"children":3319},{"style":309},[3320],{"type":59,"value":3321}," npm",{"type":45,"tag":292,"props":3323,"children":3324},{"style":315},[3325],{"type":59,"value":3326}," start\n",{"type":45,"tag":2126,"props":3328,"children":3330},{"id":3329},"framework-error-handlers",[3331],{"type":59,"value":3332},"Framework Error Handlers",{"type":45,"tag":50,"props":3334,"children":3335},{},[3336,3338,3343],{"type":59,"value":3337},"Register the Sentry error handler ",{"type":45,"tag":177,"props":3339,"children":3340},{},[3341],{"type":59,"value":3342},"after all routes",{"type":59,"value":3344}," so it can capture framework errors:",{"type":45,"tag":50,"props":3346,"children":3347},{},[3348],{"type":45,"tag":177,"props":3349,"children":3350},{},[3351],{"type":59,"value":3352},"Express:",{"type":45,"tag":281,"props":3354,"children":3356},{"className":2234,"code":3355,"language":2236,"meta":286,"style":286},"const express = require(\"express\");\nconst Sentry = require(\"@sentry\u002Fnode\");\n\nconst app = express();\n\n\u002F\u002F ... your routes\n\n\u002F\u002F Add AFTER all routes — captures 5xx errors by default\nSentry.setupExpressErrorHandler(app);\n\n\u002F\u002F Optional: capture 4xx errors too\n\u002F\u002F Sentry.setupExpressErrorHandler(app, {\n\u002F\u002F   shouldHandleError(error) { return error.status >= 400; },\n\u002F\u002F });\n\napp.listen(3000);\n",[3357],{"type":45,"tag":106,"props":3358,"children":3359},{"__ignoreMap":286},[3360,3403,3446,3453,3483,3490,3498,3505,3513,3538,3545,3553,3561,3569,3577,3584],{"type":45,"tag":292,"props":3361,"children":3362},{"class":294,"line":295},[3363,3367,3371,3375,3379,3383,3387,3391,3395,3399],{"type":45,"tag":292,"props":3364,"children":3365},{"style":2254},[3366],{"type":59,"value":2257},{"type":45,"tag":292,"props":3368,"children":3369},{"style":813},[3370],{"type":59,"value":3052},{"type":45,"tag":292,"props":3372,"children":3373},{"style":321},[3374],{"type":59,"value":2267},{"type":45,"tag":292,"props":3376,"children":3377},{"style":337},[3378],{"type":59,"value":2272},{"type":45,"tag":292,"props":3380,"children":3381},{"style":813},[3382],{"type":59,"value":2277},{"type":45,"tag":292,"props":3384,"children":3385},{"style":321},[3386],{"type":59,"value":1181},{"type":45,"tag":292,"props":3388,"children":3389},{"style":315},[3390],{"type":59,"value":3073},{"type":45,"tag":292,"props":3392,"children":3393},{"style":321},[3394],{"type":59,"value":1181},{"type":45,"tag":292,"props":3396,"children":3397},{"style":813},[3398],{"type":59,"value":2294},{"type":45,"tag":292,"props":3400,"children":3401},{"style":321},[3402],{"type":59,"value":2299},{"type":45,"tag":292,"props":3404,"children":3405},{"class":294,"line":305},[3406,3410,3414,3418,3422,3426,3430,3434,3438,3442],{"type":45,"tag":292,"props":3407,"children":3408},{"style":2254},[3409],{"type":59,"value":2257},{"type":45,"tag":292,"props":3411,"children":3412},{"style":813},[3413],{"type":59,"value":2262},{"type":45,"tag":292,"props":3415,"children":3416},{"style":321},[3417],{"type":59,"value":2267},{"type":45,"tag":292,"props":3419,"children":3420},{"style":337},[3421],{"type":59,"value":2272},{"type":45,"tag":292,"props":3423,"children":3424},{"style":813},[3425],{"type":59,"value":2277},{"type":45,"tag":292,"props":3427,"children":3428},{"style":321},[3429],{"type":59,"value":1181},{"type":45,"tag":292,"props":3431,"children":3432},{"style":315},[3433],{"type":59,"value":111},{"type":45,"tag":292,"props":3435,"children":3436},{"style":321},[3437],{"type":59,"value":1181},{"type":45,"tag":292,"props":3439,"children":3440},{"style":813},[3441],{"type":59,"value":2294},{"type":45,"tag":292,"props":3443,"children":3444},{"style":321},[3445],{"type":59,"value":2299},{"type":45,"tag":292,"props":3447,"children":3448},{"class":294,"line":358},[3449],{"type":45,"tag":292,"props":3450,"children":3451},{"emptyLinePlaceholder":40},[3452],{"type":59,"value":448},{"type":45,"tag":292,"props":3454,"children":3455},{"class":294,"line":400},[3456,3460,3465,3469,3474,3479],{"type":45,"tag":292,"props":3457,"children":3458},{"style":2254},[3459],{"type":59,"value":2257},{"type":45,"tag":292,"props":3461,"children":3462},{"style":813},[3463],{"type":59,"value":3464}," app ",{"type":45,"tag":292,"props":3466,"children":3467},{"style":321},[3468],{"type":59,"value":2267},{"type":45,"tag":292,"props":3470,"children":3471},{"style":337},[3472],{"type":59,"value":3473}," express",{"type":45,"tag":292,"props":3475,"children":3476},{"style":813},[3477],{"type":59,"value":3478},"()",{"type":45,"tag":292,"props":3480,"children":3481},{"style":321},[3482],{"type":59,"value":2299},{"type":45,"tag":292,"props":3484,"children":3485},{"class":294,"line":442},[3486],{"type":45,"tag":292,"props":3487,"children":3488},{"emptyLinePlaceholder":40},[3489],{"type":59,"value":448},{"type":45,"tag":292,"props":3491,"children":3492},{"class":294,"line":451},[3493],{"type":45,"tag":292,"props":3494,"children":3495},{"style":299},[3496],{"type":59,"value":3497},"\u002F\u002F ... your routes\n",{"type":45,"tag":292,"props":3499,"children":3500},{"class":294,"line":460},[3501],{"type":45,"tag":292,"props":3502,"children":3503},{"emptyLinePlaceholder":40},[3504],{"type":59,"value":448},{"type":45,"tag":292,"props":3506,"children":3507},{"class":294,"line":512},[3508],{"type":45,"tag":292,"props":3509,"children":3510},{"style":299},[3511],{"type":59,"value":3512},"\u002F\u002F Add AFTER all routes — captures 5xx errors by default\n",{"type":45,"tag":292,"props":3514,"children":3515},{"class":294,"line":556},[3516,3520,3524,3529,3534],{"type":45,"tag":292,"props":3517,"children":3518},{"style":813},[3519],{"type":59,"value":9},{"type":45,"tag":292,"props":3521,"children":3522},{"style":321},[3523],{"type":59,"value":2110},{"type":45,"tag":292,"props":3525,"children":3526},{"style":337},[3527],{"type":59,"value":3528},"setupExpressErrorHandler",{"type":45,"tag":292,"props":3530,"children":3531},{"style":813},[3532],{"type":59,"value":3533},"(app)",{"type":45,"tag":292,"props":3535,"children":3536},{"style":321},[3537],{"type":59,"value":2299},{"type":45,"tag":292,"props":3539,"children":3540},{"class":294,"line":564},[3541],{"type":45,"tag":292,"props":3542,"children":3543},{"emptyLinePlaceholder":40},[3544],{"type":59,"value":448},{"type":45,"tag":292,"props":3546,"children":3547},{"class":294,"line":573},[3548],{"type":45,"tag":292,"props":3549,"children":3550},{"style":299},[3551],{"type":59,"value":3552},"\u002F\u002F Optional: capture 4xx errors too\n",{"type":45,"tag":292,"props":3554,"children":3555},{"class":294,"line":618},[3556],{"type":45,"tag":292,"props":3557,"children":3558},{"style":299},[3559],{"type":59,"value":3560},"\u002F\u002F Sentry.setupExpressErrorHandler(app, {\n",{"type":45,"tag":292,"props":3562,"children":3563},{"class":294,"line":626},[3564],{"type":45,"tag":292,"props":3565,"children":3566},{"style":299},[3567],{"type":59,"value":3568},"\u002F\u002F   shouldHandleError(error) { return error.status >= 400; },\n",{"type":45,"tag":292,"props":3570,"children":3571},{"class":294,"line":635},[3572],{"type":45,"tag":292,"props":3573,"children":3574},{"style":299},[3575],{"type":59,"value":3576},"\u002F\u002F });\n",{"type":45,"tag":292,"props":3578,"children":3579},{"class":294,"line":680},[3580],{"type":45,"tag":292,"props":3581,"children":3582},{"emptyLinePlaceholder":40},[3583],{"type":59,"value":448},{"type":45,"tag":292,"props":3585,"children":3586},{"class":294,"line":688},[3587,3592,3596,3601,3605,3610,3614],{"type":45,"tag":292,"props":3588,"children":3589},{"style":813},[3590],{"type":59,"value":3591},"app",{"type":45,"tag":292,"props":3593,"children":3594},{"style":321},[3595],{"type":59,"value":2110},{"type":45,"tag":292,"props":3597,"children":3598},{"style":337},[3599],{"type":59,"value":3600},"listen",{"type":45,"tag":292,"props":3602,"children":3603},{"style":813},[3604],{"type":59,"value":2277},{"type":45,"tag":292,"props":3606,"children":3607},{"style":2529},[3608],{"type":59,"value":3609},"3000",{"type":45,"tag":292,"props":3611,"children":3612},{"style":813},[3613],{"type":59,"value":2294},{"type":45,"tag":292,"props":3615,"children":3616},{"style":321},[3617],{"type":59,"value":2299},{"type":45,"tag":50,"props":3619,"children":3620},{},[3621],{"type":45,"tag":177,"props":3622,"children":3623},{},[3624],{"type":59,"value":3625},"Fastify:",{"type":45,"tag":281,"props":3627,"children":3629},{"className":2234,"code":3628,"language":2236,"meta":286,"style":286},"const Fastify = require(\"fastify\");\nconst Sentry = require(\"@sentry\u002Fnode\");\n\nconst fastify = Fastify();\n\n\u002F\u002F Add BEFORE routes (unlike Express!)\nSentry.setupFastifyErrorHandler(fastify);\n\n\u002F\u002F ... your routes\n\nawait fastify.listen({ port: 3000 });\n",[3630],{"type":45,"tag":106,"props":3631,"children":3632},{"__ignoreMap":286},[3633,3678,3721,3728,3757,3764,3772,3797,3804,3811,3818],{"type":45,"tag":292,"props":3634,"children":3635},{"class":294,"line":295},[3636,3640,3645,3649,3653,3657,3661,3666,3670,3674],{"type":45,"tag":292,"props":3637,"children":3638},{"style":2254},[3639],{"type":59,"value":2257},{"type":45,"tag":292,"props":3641,"children":3642},{"style":813},[3643],{"type":59,"value":3644}," Fastify ",{"type":45,"tag":292,"props":3646,"children":3647},{"style":321},[3648],{"type":59,"value":2267},{"type":45,"tag":292,"props":3650,"children":3651},{"style":337},[3652],{"type":59,"value":2272},{"type":45,"tag":292,"props":3654,"children":3655},{"style":813},[3656],{"type":59,"value":2277},{"type":45,"tag":292,"props":3658,"children":3659},{"style":321},[3660],{"type":59,"value":1181},{"type":45,"tag":292,"props":3662,"children":3663},{"style":315},[3664],{"type":59,"value":3665},"fastify",{"type":45,"tag":292,"props":3667,"children":3668},{"style":321},[3669],{"type":59,"value":1181},{"type":45,"tag":292,"props":3671,"children":3672},{"style":813},[3673],{"type":59,"value":2294},{"type":45,"tag":292,"props":3675,"children":3676},{"style":321},[3677],{"type":59,"value":2299},{"type":45,"tag":292,"props":3679,"children":3680},{"class":294,"line":305},[3681,3685,3689,3693,3697,3701,3705,3709,3713,3717],{"type":45,"tag":292,"props":3682,"children":3683},{"style":2254},[3684],{"type":59,"value":2257},{"type":45,"tag":292,"props":3686,"children":3687},{"style":813},[3688],{"type":59,"value":2262},{"type":45,"tag":292,"props":3690,"children":3691},{"style":321},[3692],{"type":59,"value":2267},{"type":45,"tag":292,"props":3694,"children":3695},{"style":337},[3696],{"type":59,"value":2272},{"type":45,"tag":292,"props":3698,"children":3699},{"style":813},[3700],{"type":59,"value":2277},{"type":45,"tag":292,"props":3702,"children":3703},{"style":321},[3704],{"type":59,"value":1181},{"type":45,"tag":292,"props":3706,"children":3707},{"style":315},[3708],{"type":59,"value":111},{"type":45,"tag":292,"props":3710,"children":3711},{"style":321},[3712],{"type":59,"value":1181},{"type":45,"tag":292,"props":3714,"children":3715},{"style":813},[3716],{"type":59,"value":2294},{"type":45,"tag":292,"props":3718,"children":3719},{"style":321},[3720],{"type":59,"value":2299},{"type":45,"tag":292,"props":3722,"children":3723},{"class":294,"line":358},[3724],{"type":45,"tag":292,"props":3725,"children":3726},{"emptyLinePlaceholder":40},[3727],{"type":59,"value":448},{"type":45,"tag":292,"props":3729,"children":3730},{"class":294,"line":400},[3731,3735,3740,3744,3749,3753],{"type":45,"tag":292,"props":3732,"children":3733},{"style":2254},[3734],{"type":59,"value":2257},{"type":45,"tag":292,"props":3736,"children":3737},{"style":813},[3738],{"type":59,"value":3739}," fastify ",{"type":45,"tag":292,"props":3741,"children":3742},{"style":321},[3743],{"type":59,"value":2267},{"type":45,"tag":292,"props":3745,"children":3746},{"style":337},[3747],{"type":59,"value":3748}," Fastify",{"type":45,"tag":292,"props":3750,"children":3751},{"style":813},[3752],{"type":59,"value":3478},{"type":45,"tag":292,"props":3754,"children":3755},{"style":321},[3756],{"type":59,"value":2299},{"type":45,"tag":292,"props":3758,"children":3759},{"class":294,"line":442},[3760],{"type":45,"tag":292,"props":3761,"children":3762},{"emptyLinePlaceholder":40},[3763],{"type":59,"value":448},{"type":45,"tag":292,"props":3765,"children":3766},{"class":294,"line":451},[3767],{"type":45,"tag":292,"props":3768,"children":3769},{"style":299},[3770],{"type":59,"value":3771},"\u002F\u002F Add BEFORE routes (unlike Express!)\n",{"type":45,"tag":292,"props":3773,"children":3774},{"class":294,"line":460},[3775,3779,3783,3788,3793],{"type":45,"tag":292,"props":3776,"children":3777},{"style":813},[3778],{"type":59,"value":9},{"type":45,"tag":292,"props":3780,"children":3781},{"style":321},[3782],{"type":59,"value":2110},{"type":45,"tag":292,"props":3784,"children":3785},{"style":337},[3786],{"type":59,"value":3787},"setupFastifyErrorHandler",{"type":45,"tag":292,"props":3789,"children":3790},{"style":813},[3791],{"type":59,"value":3792},"(fastify)",{"type":45,"tag":292,"props":3794,"children":3795},{"style":321},[3796],{"type":59,"value":2299},{"type":45,"tag":292,"props":3798,"children":3799},{"class":294,"line":512},[3800],{"type":45,"tag":292,"props":3801,"children":3802},{"emptyLinePlaceholder":40},[3803],{"type":59,"value":448},{"type":45,"tag":292,"props":3805,"children":3806},{"class":294,"line":556},[3807],{"type":45,"tag":292,"props":3808,"children":3809},{"style":299},[3810],{"type":59,"value":3497},{"type":45,"tag":292,"props":3812,"children":3813},{"class":294,"line":564},[3814],{"type":45,"tag":292,"props":3815,"children":3816},{"emptyLinePlaceholder":40},[3817],{"type":59,"value":448},{"type":45,"tag":292,"props":3819,"children":3820},{"class":294,"line":573},[3821,3826,3831,3835,3839,3843,3848,3853,3857,3862,3867,3871],{"type":45,"tag":292,"props":3822,"children":3823},{"style":2661},[3824],{"type":59,"value":3825},"await",{"type":45,"tag":292,"props":3827,"children":3828},{"style":813},[3829],{"type":59,"value":3830}," fastify",{"type":45,"tag":292,"props":3832,"children":3833},{"style":321},[3834],{"type":59,"value":2110},{"type":45,"tag":292,"props":3836,"children":3837},{"style":337},[3838],{"type":59,"value":3600},{"type":45,"tag":292,"props":3840,"children":3841},{"style":813},[3842],{"type":59,"value":2277},{"type":45,"tag":292,"props":3844,"children":3845},{"style":321},[3846],{"type":59,"value":3847},"{",{"type":45,"tag":292,"props":3849,"children":3850},{"style":2337},[3851],{"type":59,"value":3852}," port",{"type":45,"tag":292,"props":3854,"children":3855},{"style":321},[3856],{"type":59,"value":2345},{"type":45,"tag":292,"props":3858,"children":3859},{"style":2529},[3860],{"type":59,"value":3861}," 3000",{"type":45,"tag":292,"props":3863,"children":3864},{"style":321},[3865],{"type":59,"value":3866}," }",{"type":45,"tag":292,"props":3868,"children":3869},{"style":813},[3870],{"type":59,"value":2294},{"type":45,"tag":292,"props":3872,"children":3873},{"style":321},[3874],{"type":59,"value":2299},{"type":45,"tag":50,"props":3876,"children":3877},{},[3878],{"type":45,"tag":177,"props":3879,"children":3880},{},[3881],{"type":59,"value":3882},"Koa:",{"type":45,"tag":281,"props":3884,"children":3886},{"className":2234,"code":3885,"language":2236,"meta":286,"style":286},"const Koa = require(\"koa\");\nconst Sentry = require(\"@sentry\u002Fnode\");\n\nconst app = new Koa();\n\n\u002F\u002F Add as FIRST middleware (catches errors thrown by later middleware)\nSentry.setupKoaErrorHandler(app);\n\n\u002F\u002F ... your other middleware and routes\n\napp.listen(3000);\n",[3887],{"type":45,"tag":106,"props":3888,"children":3889},{"__ignoreMap":286},[3890,3935,3978,3985,4018,4025,4033,4057,4064,4072,4079],{"type":45,"tag":292,"props":3891,"children":3892},{"class":294,"line":295},[3893,3897,3902,3906,3910,3914,3918,3923,3927,3931],{"type":45,"tag":292,"props":3894,"children":3895},{"style":2254},[3896],{"type":59,"value":2257},{"type":45,"tag":292,"props":3898,"children":3899},{"style":813},[3900],{"type":59,"value":3901}," Koa ",{"type":45,"tag":292,"props":3903,"children":3904},{"style":321},[3905],{"type":59,"value":2267},{"type":45,"tag":292,"props":3907,"children":3908},{"style":337},[3909],{"type":59,"value":2272},{"type":45,"tag":292,"props":3911,"children":3912},{"style":813},[3913],{"type":59,"value":2277},{"type":45,"tag":292,"props":3915,"children":3916},{"style":321},[3917],{"type":59,"value":1181},{"type":45,"tag":292,"props":3919,"children":3920},{"style":315},[3921],{"type":59,"value":3922},"koa",{"type":45,"tag":292,"props":3924,"children":3925},{"style":321},[3926],{"type":59,"value":1181},{"type":45,"tag":292,"props":3928,"children":3929},{"style":813},[3930],{"type":59,"value":2294},{"type":45,"tag":292,"props":3932,"children":3933},{"style":321},[3934],{"type":59,"value":2299},{"type":45,"tag":292,"props":3936,"children":3937},{"class":294,"line":305},[3938,3942,3946,3950,3954,3958,3962,3966,3970,3974],{"type":45,"tag":292,"props":3939,"children":3940},{"style":2254},[3941],{"type":59,"value":2257},{"type":45,"tag":292,"props":3943,"children":3944},{"style":813},[3945],{"type":59,"value":2262},{"type":45,"tag":292,"props":3947,"children":3948},{"style":321},[3949],{"type":59,"value":2267},{"type":45,"tag":292,"props":3951,"children":3952},{"style":337},[3953],{"type":59,"value":2272},{"type":45,"tag":292,"props":3955,"children":3956},{"style":813},[3957],{"type":59,"value":2277},{"type":45,"tag":292,"props":3959,"children":3960},{"style":321},[3961],{"type":59,"value":1181},{"type":45,"tag":292,"props":3963,"children":3964},{"style":315},[3965],{"type":59,"value":111},{"type":45,"tag":292,"props":3967,"children":3968},{"style":321},[3969],{"type":59,"value":1181},{"type":45,"tag":292,"props":3971,"children":3972},{"style":813},[3973],{"type":59,"value":2294},{"type":45,"tag":292,"props":3975,"children":3976},{"style":321},[3977],{"type":59,"value":2299},{"type":45,"tag":292,"props":3979,"children":3980},{"class":294,"line":358},[3981],{"type":45,"tag":292,"props":3982,"children":3983},{"emptyLinePlaceholder":40},[3984],{"type":59,"value":448},{"type":45,"tag":292,"props":3986,"children":3987},{"class":294,"line":400},[3988,3992,3996,4000,4005,4010,4014],{"type":45,"tag":292,"props":3989,"children":3990},{"style":2254},[3991],{"type":59,"value":2257},{"type":45,"tag":292,"props":3993,"children":3994},{"style":813},[3995],{"type":59,"value":3464},{"type":45,"tag":292,"props":3997,"children":3998},{"style":321},[3999],{"type":59,"value":2267},{"type":45,"tag":292,"props":4001,"children":4002},{"style":321},[4003],{"type":59,"value":4004}," new",{"type":45,"tag":292,"props":4006,"children":4007},{"style":337},[4008],{"type":59,"value":4009}," Koa",{"type":45,"tag":292,"props":4011,"children":4012},{"style":813},[4013],{"type":59,"value":3478},{"type":45,"tag":292,"props":4015,"children":4016},{"style":321},[4017],{"type":59,"value":2299},{"type":45,"tag":292,"props":4019,"children":4020},{"class":294,"line":442},[4021],{"type":45,"tag":292,"props":4022,"children":4023},{"emptyLinePlaceholder":40},[4024],{"type":59,"value":448},{"type":45,"tag":292,"props":4026,"children":4027},{"class":294,"line":451},[4028],{"type":45,"tag":292,"props":4029,"children":4030},{"style":299},[4031],{"type":59,"value":4032},"\u002F\u002F Add as FIRST middleware (catches errors thrown by later middleware)\n",{"type":45,"tag":292,"props":4034,"children":4035},{"class":294,"line":460},[4036,4040,4044,4049,4053],{"type":45,"tag":292,"props":4037,"children":4038},{"style":813},[4039],{"type":59,"value":9},{"type":45,"tag":292,"props":4041,"children":4042},{"style":321},[4043],{"type":59,"value":2110},{"type":45,"tag":292,"props":4045,"children":4046},{"style":337},[4047],{"type":59,"value":4048},"setupKoaErrorHandler",{"type":45,"tag":292,"props":4050,"children":4051},{"style":813},[4052],{"type":59,"value":3533},{"type":45,"tag":292,"props":4054,"children":4055},{"style":321},[4056],{"type":59,"value":2299},{"type":45,"tag":292,"props":4058,"children":4059},{"class":294,"line":512},[4060],{"type":45,"tag":292,"props":4061,"children":4062},{"emptyLinePlaceholder":40},[4063],{"type":59,"value":448},{"type":45,"tag":292,"props":4065,"children":4066},{"class":294,"line":556},[4067],{"type":45,"tag":292,"props":4068,"children":4069},{"style":299},[4070],{"type":59,"value":4071},"\u002F\u002F ... your other middleware and routes\n",{"type":45,"tag":292,"props":4073,"children":4074},{"class":294,"line":564},[4075],{"type":45,"tag":292,"props":4076,"children":4077},{"emptyLinePlaceholder":40},[4078],{"type":59,"value":448},{"type":45,"tag":292,"props":4080,"children":4081},{"class":294,"line":573},[4082,4086,4090,4094,4098,4102,4106],{"type":45,"tag":292,"props":4083,"children":4084},{"style":813},[4085],{"type":59,"value":3591},{"type":45,"tag":292,"props":4087,"children":4088},{"style":321},[4089],{"type":59,"value":2110},{"type":45,"tag":292,"props":4091,"children":4092},{"style":337},[4093],{"type":59,"value":3600},{"type":45,"tag":292,"props":4095,"children":4096},{"style":813},[4097],{"type":59,"value":2277},{"type":45,"tag":292,"props":4099,"children":4100},{"style":2529},[4101],{"type":59,"value":3609},{"type":45,"tag":292,"props":4103,"children":4104},{"style":813},[4105],{"type":59,"value":2294},{"type":45,"tag":292,"props":4107,"children":4108},{"style":321},[4109],{"type":59,"value":2299},{"type":45,"tag":50,"props":4111,"children":4112},{},[4113],{"type":45,"tag":177,"props":4114,"children":4115},{},[4116],{"type":59,"value":4117},"Hapi (async — must await):",{"type":45,"tag":281,"props":4119,"children":4121},{"className":2234,"code":4120,"language":2236,"meta":286,"style":286},"const Hapi = require(\"@hapi\u002Fhapi\");\nconst Sentry = require(\"@sentry\u002Fnode\");\n\nconst server = Hapi.server({ port: 3000 });\n\n\u002F\u002F ... your routes\n\n\u002F\u002F Must await — Hapi registration is async\nawait Sentry.setupHapiErrorHandler(server);\n\nawait server.start();\n",[4122],{"type":45,"tag":106,"props":4123,"children":4124},{"__ignoreMap":286},[4125,4170,4213,4220,4282,4289,4296,4303,4311,4341,4348],{"type":45,"tag":292,"props":4126,"children":4127},{"class":294,"line":295},[4128,4132,4137,4141,4145,4149,4153,4158,4162,4166],{"type":45,"tag":292,"props":4129,"children":4130},{"style":2254},[4131],{"type":59,"value":2257},{"type":45,"tag":292,"props":4133,"children":4134},{"style":813},[4135],{"type":59,"value":4136}," Hapi ",{"type":45,"tag":292,"props":4138,"children":4139},{"style":321},[4140],{"type":59,"value":2267},{"type":45,"tag":292,"props":4142,"children":4143},{"style":337},[4144],{"type":59,"value":2272},{"type":45,"tag":292,"props":4146,"children":4147},{"style":813},[4148],{"type":59,"value":2277},{"type":45,"tag":292,"props":4150,"children":4151},{"style":321},[4152],{"type":59,"value":1181},{"type":45,"tag":292,"props":4154,"children":4155},{"style":315},[4156],{"type":59,"value":4157},"@hapi\u002Fhapi",{"type":45,"tag":292,"props":4159,"children":4160},{"style":321},[4161],{"type":59,"value":1181},{"type":45,"tag":292,"props":4163,"children":4164},{"style":813},[4165],{"type":59,"value":2294},{"type":45,"tag":292,"props":4167,"children":4168},{"style":321},[4169],{"type":59,"value":2299},{"type":45,"tag":292,"props":4171,"children":4172},{"class":294,"line":305},[4173,4177,4181,4185,4189,4193,4197,4201,4205,4209],{"type":45,"tag":292,"props":4174,"children":4175},{"style":2254},[4176],{"type":59,"value":2257},{"type":45,"tag":292,"props":4178,"children":4179},{"style":813},[4180],{"type":59,"value":2262},{"type":45,"tag":292,"props":4182,"children":4183},{"style":321},[4184],{"type":59,"value":2267},{"type":45,"tag":292,"props":4186,"children":4187},{"style":337},[4188],{"type":59,"value":2272},{"type":45,"tag":292,"props":4190,"children":4191},{"style":813},[4192],{"type":59,"value":2277},{"type":45,"tag":292,"props":4194,"children":4195},{"style":321},[4196],{"type":59,"value":1181},{"type":45,"tag":292,"props":4198,"children":4199},{"style":315},[4200],{"type":59,"value":111},{"type":45,"tag":292,"props":4202,"children":4203},{"style":321},[4204],{"type":59,"value":1181},{"type":45,"tag":292,"props":4206,"children":4207},{"style":813},[4208],{"type":59,"value":2294},{"type":45,"tag":292,"props":4210,"children":4211},{"style":321},[4212],{"type":59,"value":2299},{"type":45,"tag":292,"props":4214,"children":4215},{"class":294,"line":358},[4216],{"type":45,"tag":292,"props":4217,"children":4218},{"emptyLinePlaceholder":40},[4219],{"type":59,"value":448},{"type":45,"tag":292,"props":4221,"children":4222},{"class":294,"line":400},[4223,4227,4232,4236,4241,4245,4250,4254,4258,4262,4266,4270,4274,4278],{"type":45,"tag":292,"props":4224,"children":4225},{"style":2254},[4226],{"type":59,"value":2257},{"type":45,"tag":292,"props":4228,"children":4229},{"style":813},[4230],{"type":59,"value":4231}," server ",{"type":45,"tag":292,"props":4233,"children":4234},{"style":321},[4235],{"type":59,"value":2267},{"type":45,"tag":292,"props":4237,"children":4238},{"style":813},[4239],{"type":59,"value":4240}," Hapi",{"type":45,"tag":292,"props":4242,"children":4243},{"style":321},[4244],{"type":59,"value":2110},{"type":45,"tag":292,"props":4246,"children":4247},{"style":337},[4248],{"type":59,"value":4249},"server",{"type":45,"tag":292,"props":4251,"children":4252},{"style":813},[4253],{"type":59,"value":2277},{"type":45,"tag":292,"props":4255,"children":4256},{"style":321},[4257],{"type":59,"value":3847},{"type":45,"tag":292,"props":4259,"children":4260},{"style":2337},[4261],{"type":59,"value":3852},{"type":45,"tag":292,"props":4263,"children":4264},{"style":321},[4265],{"type":59,"value":2345},{"type":45,"tag":292,"props":4267,"children":4268},{"style":2529},[4269],{"type":59,"value":3861},{"type":45,"tag":292,"props":4271,"children":4272},{"style":321},[4273],{"type":59,"value":3866},{"type":45,"tag":292,"props":4275,"children":4276},{"style":813},[4277],{"type":59,"value":2294},{"type":45,"tag":292,"props":4279,"children":4280},{"style":321},[4281],{"type":59,"value":2299},{"type":45,"tag":292,"props":4283,"children":4284},{"class":294,"line":442},[4285],{"type":45,"tag":292,"props":4286,"children":4287},{"emptyLinePlaceholder":40},[4288],{"type":59,"value":448},{"type":45,"tag":292,"props":4290,"children":4291},{"class":294,"line":451},[4292],{"type":45,"tag":292,"props":4293,"children":4294},{"style":299},[4295],{"type":59,"value":3497},{"type":45,"tag":292,"props":4297,"children":4298},{"class":294,"line":460},[4299],{"type":45,"tag":292,"props":4300,"children":4301},{"emptyLinePlaceholder":40},[4302],{"type":59,"value":448},{"type":45,"tag":292,"props":4304,"children":4305},{"class":294,"line":512},[4306],{"type":45,"tag":292,"props":4307,"children":4308},{"style":299},[4309],{"type":59,"value":4310},"\u002F\u002F Must await — Hapi registration is async\n",{"type":45,"tag":292,"props":4312,"children":4313},{"class":294,"line":556},[4314,4318,4323,4327,4332,4337],{"type":45,"tag":292,"props":4315,"children":4316},{"style":2661},[4317],{"type":59,"value":3825},{"type":45,"tag":292,"props":4319,"children":4320},{"style":813},[4321],{"type":59,"value":4322}," Sentry",{"type":45,"tag":292,"props":4324,"children":4325},{"style":321},[4326],{"type":59,"value":2110},{"type":45,"tag":292,"props":4328,"children":4329},{"style":337},[4330],{"type":59,"value":4331},"setupHapiErrorHandler",{"type":45,"tag":292,"props":4333,"children":4334},{"style":813},[4335],{"type":59,"value":4336},"(server)",{"type":45,"tag":292,"props":4338,"children":4339},{"style":321},[4340],{"type":59,"value":2299},{"type":45,"tag":292,"props":4342,"children":4343},{"class":294,"line":564},[4344],{"type":45,"tag":292,"props":4345,"children":4346},{"emptyLinePlaceholder":40},[4347],{"type":59,"value":448},{"type":45,"tag":292,"props":4349,"children":4350},{"class":294,"line":573},[4351,4355,4360,4364,4368,4372],{"type":45,"tag":292,"props":4352,"children":4353},{"style":2661},[4354],{"type":59,"value":3825},{"type":45,"tag":292,"props":4356,"children":4357},{"style":813},[4358],{"type":59,"value":4359}," server",{"type":45,"tag":292,"props":4361,"children":4362},{"style":321},[4363],{"type":59,"value":2110},{"type":45,"tag":292,"props":4365,"children":4366},{"style":337},[4367],{"type":59,"value":3206},{"type":45,"tag":292,"props":4369,"children":4370},{"style":813},[4371],{"type":59,"value":3478},{"type":45,"tag":292,"props":4373,"children":4374},{"style":321},[4375],{"type":59,"value":2299},{"type":45,"tag":50,"props":4377,"children":4378},{},[4379],{"type":45,"tag":177,"props":4380,"children":4381},{},[4382],{"type":59,"value":4383},"Connect:",{"type":45,"tag":281,"props":4385,"children":4387},{"className":2234,"code":4386,"language":2236,"meta":286,"style":286},"const connect = require(\"connect\");\nconst Sentry = require(\"@sentry\u002Fnode\");\n\nconst app = connect();\n\n\u002F\u002F Add BEFORE routes (like Fastify and Koa)\nSentry.setupConnectErrorHandler(app);\n\n\u002F\u002F ... your middleware and routes\n\nrequire(\"http\").createServer(app).listen(3000);\n",[4388],{"type":45,"tag":106,"props":4389,"children":4390},{"__ignoreMap":286},[4391,4436,4479,4486,4514,4521,4529,4553,4560,4568,4575],{"type":45,"tag":292,"props":4392,"children":4393},{"class":294,"line":295},[4394,4398,4403,4407,4411,4415,4419,4424,4428,4432],{"type":45,"tag":292,"props":4395,"children":4396},{"style":2254},[4397],{"type":59,"value":2257},{"type":45,"tag":292,"props":4399,"children":4400},{"style":813},[4401],{"type":59,"value":4402}," connect ",{"type":45,"tag":292,"props":4404,"children":4405},{"style":321},[4406],{"type":59,"value":2267},{"type":45,"tag":292,"props":4408,"children":4409},{"style":337},[4410],{"type":59,"value":2272},{"type":45,"tag":292,"props":4412,"children":4413},{"style":813},[4414],{"type":59,"value":2277},{"type":45,"tag":292,"props":4416,"children":4417},{"style":321},[4418],{"type":59,"value":1181},{"type":45,"tag":292,"props":4420,"children":4421},{"style":315},[4422],{"type":59,"value":4423},"connect",{"type":45,"tag":292,"props":4425,"children":4426},{"style":321},[4427],{"type":59,"value":1181},{"type":45,"tag":292,"props":4429,"children":4430},{"style":813},[4431],{"type":59,"value":2294},{"type":45,"tag":292,"props":4433,"children":4434},{"style":321},[4435],{"type":59,"value":2299},{"type":45,"tag":292,"props":4437,"children":4438},{"class":294,"line":305},[4439,4443,4447,4451,4455,4459,4463,4467,4471,4475],{"type":45,"tag":292,"props":4440,"children":4441},{"style":2254},[4442],{"type":59,"value":2257},{"type":45,"tag":292,"props":4444,"children":4445},{"style":813},[4446],{"type":59,"value":2262},{"type":45,"tag":292,"props":4448,"children":4449},{"style":321},[4450],{"type":59,"value":2267},{"type":45,"tag":292,"props":4452,"children":4453},{"style":337},[4454],{"type":59,"value":2272},{"type":45,"tag":292,"props":4456,"children":4457},{"style":813},[4458],{"type":59,"value":2277},{"type":45,"tag":292,"props":4460,"children":4461},{"style":321},[4462],{"type":59,"value":1181},{"type":45,"tag":292,"props":4464,"children":4465},{"style":315},[4466],{"type":59,"value":111},{"type":45,"tag":292,"props":4468,"children":4469},{"style":321},[4470],{"type":59,"value":1181},{"type":45,"tag":292,"props":4472,"children":4473},{"style":813},[4474],{"type":59,"value":2294},{"type":45,"tag":292,"props":4476,"children":4477},{"style":321},[4478],{"type":59,"value":2299},{"type":45,"tag":292,"props":4480,"children":4481},{"class":294,"line":358},[4482],{"type":45,"tag":292,"props":4483,"children":4484},{"emptyLinePlaceholder":40},[4485],{"type":59,"value":448},{"type":45,"tag":292,"props":4487,"children":4488},{"class":294,"line":400},[4489,4493,4497,4501,4506,4510],{"type":45,"tag":292,"props":4490,"children":4491},{"style":2254},[4492],{"type":59,"value":2257},{"type":45,"tag":292,"props":4494,"children":4495},{"style":813},[4496],{"type":59,"value":3464},{"type":45,"tag":292,"props":4498,"children":4499},{"style":321},[4500],{"type":59,"value":2267},{"type":45,"tag":292,"props":4502,"children":4503},{"style":337},[4504],{"type":59,"value":4505}," connect",{"type":45,"tag":292,"props":4507,"children":4508},{"style":813},[4509],{"type":59,"value":3478},{"type":45,"tag":292,"props":4511,"children":4512},{"style":321},[4513],{"type":59,"value":2299},{"type":45,"tag":292,"props":4515,"children":4516},{"class":294,"line":442},[4517],{"type":45,"tag":292,"props":4518,"children":4519},{"emptyLinePlaceholder":40},[4520],{"type":59,"value":448},{"type":45,"tag":292,"props":4522,"children":4523},{"class":294,"line":451},[4524],{"type":45,"tag":292,"props":4525,"children":4526},{"style":299},[4527],{"type":59,"value":4528},"\u002F\u002F Add BEFORE routes (like Fastify and Koa)\n",{"type":45,"tag":292,"props":4530,"children":4531},{"class":294,"line":460},[4532,4536,4540,4545,4549],{"type":45,"tag":292,"props":4533,"children":4534},{"style":813},[4535],{"type":59,"value":9},{"type":45,"tag":292,"props":4537,"children":4538},{"style":321},[4539],{"type":59,"value":2110},{"type":45,"tag":292,"props":4541,"children":4542},{"style":337},[4543],{"type":59,"value":4544},"setupConnectErrorHandler",{"type":45,"tag":292,"props":4546,"children":4547},{"style":813},[4548],{"type":59,"value":3533},{"type":45,"tag":292,"props":4550,"children":4551},{"style":321},[4552],{"type":59,"value":2299},{"type":45,"tag":292,"props":4554,"children":4555},{"class":294,"line":512},[4556],{"type":45,"tag":292,"props":4557,"children":4558},{"emptyLinePlaceholder":40},[4559],{"type":59,"value":448},{"type":45,"tag":292,"props":4561,"children":4562},{"class":294,"line":556},[4563],{"type":45,"tag":292,"props":4564,"children":4565},{"style":299},[4566],{"type":59,"value":4567},"\u002F\u002F ... your middleware and routes\n",{"type":45,"tag":292,"props":4569,"children":4570},{"class":294,"line":564},[4571],{"type":45,"tag":292,"props":4572,"children":4573},{"emptyLinePlaceholder":40},[4574],{"type":59,"value":448},{"type":45,"tag":292,"props":4576,"children":4577},{"class":294,"line":573},[4578,4582,4586,4590,4595,4599,4603,4607,4612,4616,4620,4624,4628,4632,4636],{"type":45,"tag":292,"props":4579,"children":4580},{"style":337},[4581],{"type":59,"value":3002},{"type":45,"tag":292,"props":4583,"children":4584},{"style":813},[4585],{"type":59,"value":2277},{"type":45,"tag":292,"props":4587,"children":4588},{"style":321},[4589],{"type":59,"value":1181},{"type":45,"tag":292,"props":4591,"children":4592},{"style":315},[4593],{"type":59,"value":4594},"http",{"type":45,"tag":292,"props":4596,"children":4597},{"style":321},[4598],{"type":59,"value":1181},{"type":45,"tag":292,"props":4600,"children":4601},{"style":813},[4602],{"type":59,"value":2294},{"type":45,"tag":292,"props":4604,"children":4605},{"style":321},[4606],{"type":59,"value":2110},{"type":45,"tag":292,"props":4608,"children":4609},{"style":337},[4610],{"type":59,"value":4611},"createServer",{"type":45,"tag":292,"props":4613,"children":4614},{"style":813},[4615],{"type":59,"value":3533},{"type":45,"tag":292,"props":4617,"children":4618},{"style":321},[4619],{"type":59,"value":2110},{"type":45,"tag":292,"props":4621,"children":4622},{"style":337},[4623],{"type":59,"value":3600},{"type":45,"tag":292,"props":4625,"children":4626},{"style":813},[4627],{"type":59,"value":2277},{"type":45,"tag":292,"props":4629,"children":4630},{"style":2529},[4631],{"type":59,"value":3609},{"type":45,"tag":292,"props":4633,"children":4634},{"style":813},[4635],{"type":59,"value":2294},{"type":45,"tag":292,"props":4637,"children":4638},{"style":321},[4639],{"type":59,"value":2299},{"type":45,"tag":50,"props":4641,"children":4642},{},[4643,4648],{"type":45,"tag":177,"props":4644,"children":4645},{},[4646],{"type":59,"value":4647},"NestJS",{"type":59,"value":4649}," — has its own dedicated skill with full coverage:",{"type":45,"tag":46,"props":4651,"children":4652},{},[4653],{"type":45,"tag":50,"props":4654,"children":4655},{},[4656,4671,4673,4678,4680,4686,4687,4693,4694,4700,4701,4707],{"type":45,"tag":177,"props":4657,"children":4658},{},[4659,4661,4669],{"type":59,"value":4660},"Use the ",{"type":45,"tag":54,"props":4662,"children":4663},{"href":186},[4664],{"type":45,"tag":106,"props":4665,"children":4667},{"className":4666},[],[4668],{"type":59,"value":193},{"type":59,"value":4670}," skill instead.",{"type":59,"value":4672},"\nNestJS uses a separate package (",{"type":45,"tag":106,"props":4674,"children":4676},{"className":4675},[],[4677],{"type":59,"value":201},{"type":59,"value":4679},") with NestJS-native constructs:\n",{"type":45,"tag":106,"props":4681,"children":4683},{"className":4682},[],[4684],{"type":59,"value":4685},"SentryModule.forRoot()",{"type":59,"value":113},{"type":45,"tag":106,"props":4688,"children":4690},{"className":4689},[],[4691],{"type":59,"value":4692},"SentryGlobalFilter",{"type":59,"value":113},{"type":45,"tag":106,"props":4695,"children":4697},{"className":4696},[],[4698],{"type":59,"value":4699},"@SentryTraced",{"type":59,"value":113},{"type":45,"tag":106,"props":4702,"children":4704},{"className":4703},[],[4705],{"type":59,"value":4706},"@SentryCron",{"type":59,"value":4708}," decorators,\nand GraphQL\u002FMicroservices support. Load that skill for complete NestJS setup.",{"type":45,"tag":50,"props":4710,"children":4711},{},[4712,4724],{"type":45,"tag":177,"props":4713,"children":4714},{},[4715,4717,4722],{"type":59,"value":4716},"Vanilla Node.js ",{"type":45,"tag":106,"props":4718,"children":4720},{"className":4719},[],[4721],{"type":59,"value":4594},{"type":59,"value":4723}," module",{"type":59,"value":4725}," — wrap request handler manually:",{"type":45,"tag":281,"props":4727,"children":4729},{"className":2234,"code":4728,"language":2236,"meta":286,"style":286},"const http = require(\"http\");\nconst Sentry = require(\"@sentry\u002Fnode\");\n\nconst server = http.createServer((req, res) => {\n  Sentry.withIsolationScope(() => {\n    try {\n      \u002F\u002F your handler\n      res.end(\"OK\");\n    } catch (err) {\n      Sentry.captureException(err);\n      res.writeHead(500);\n      res.end(\"Internal Server Error\");\n    }\n  });\n});\n\nserver.listen(3000);\n",[4730],{"type":45,"tag":106,"props":4731,"children":4732},{"__ignoreMap":286},[4733,4777,4820,4827,4892,4925,4937,4945,4987,5018,5051,5084,5124,5132,5148,5163,5170],{"type":45,"tag":292,"props":4734,"children":4735},{"class":294,"line":295},[4736,4740,4745,4749,4753,4757,4761,4765,4769,4773],{"type":45,"tag":292,"props":4737,"children":4738},{"style":2254},[4739],{"type":59,"value":2257},{"type":45,"tag":292,"props":4741,"children":4742},{"style":813},[4743],{"type":59,"value":4744}," http ",{"type":45,"tag":292,"props":4746,"children":4747},{"style":321},[4748],{"type":59,"value":2267},{"type":45,"tag":292,"props":4750,"children":4751},{"style":337},[4752],{"type":59,"value":2272},{"type":45,"tag":292,"props":4754,"children":4755},{"style":813},[4756],{"type":59,"value":2277},{"type":45,"tag":292,"props":4758,"children":4759},{"style":321},[4760],{"type":59,"value":1181},{"type":45,"tag":292,"props":4762,"children":4763},{"style":315},[4764],{"type":59,"value":4594},{"type":45,"tag":292,"props":4766,"children":4767},{"style":321},[4768],{"type":59,"value":1181},{"type":45,"tag":292,"props":4770,"children":4771},{"style":813},[4772],{"type":59,"value":2294},{"type":45,"tag":292,"props":4774,"children":4775},{"style":321},[4776],{"type":59,"value":2299},{"type":45,"tag":292,"props":4778,"children":4779},{"class":294,"line":305},[4780,4784,4788,4792,4796,4800,4804,4808,4812,4816],{"type":45,"tag":292,"props":4781,"children":4782},{"style":2254},[4783],{"type":59,"value":2257},{"type":45,"tag":292,"props":4785,"children":4786},{"style":813},[4787],{"type":59,"value":2262},{"type":45,"tag":292,"props":4789,"children":4790},{"style":321},[4791],{"type":59,"value":2267},{"type":45,"tag":292,"props":4793,"children":4794},{"style":337},[4795],{"type":59,"value":2272},{"type":45,"tag":292,"props":4797,"children":4798},{"style":813},[4799],{"type":59,"value":2277},{"type":45,"tag":292,"props":4801,"children":4802},{"style":321},[4803],{"type":59,"value":1181},{"type":45,"tag":292,"props":4805,"children":4806},{"style":315},[4807],{"type":59,"value":111},{"type":45,"tag":292,"props":4809,"children":4810},{"style":321},[4811],{"type":59,"value":1181},{"type":45,"tag":292,"props":4813,"children":4814},{"style":813},[4815],{"type":59,"value":2294},{"type":45,"tag":292,"props":4817,"children":4818},{"style":321},[4819],{"type":59,"value":2299},{"type":45,"tag":292,"props":4821,"children":4822},{"class":294,"line":358},[4823],{"type":45,"tag":292,"props":4824,"children":4825},{"emptyLinePlaceholder":40},[4826],{"type":59,"value":448},{"type":45,"tag":292,"props":4828,"children":4829},{"class":294,"line":400},[4830,4834,4838,4842,4847,4851,4855,4859,4863,4869,4874,4879,4883,4888],{"type":45,"tag":292,"props":4831,"children":4832},{"style":2254},[4833],{"type":59,"value":2257},{"type":45,"tag":292,"props":4835,"children":4836},{"style":813},[4837],{"type":59,"value":4231},{"type":45,"tag":292,"props":4839,"children":4840},{"style":321},[4841],{"type":59,"value":2267},{"type":45,"tag":292,"props":4843,"children":4844},{"style":813},[4845],{"type":59,"value":4846}," http",{"type":45,"tag":292,"props":4848,"children":4849},{"style":321},[4850],{"type":59,"value":2110},{"type":45,"tag":292,"props":4852,"children":4853},{"style":337},[4854],{"type":59,"value":4611},{"type":45,"tag":292,"props":4856,"children":4857},{"style":813},[4858],{"type":59,"value":2277},{"type":45,"tag":292,"props":4860,"children":4861},{"style":321},[4862],{"type":59,"value":2277},{"type":45,"tag":292,"props":4864,"children":4866},{"style":4865},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[4867],{"type":59,"value":4868},"req",{"type":45,"tag":292,"props":4870,"children":4871},{"style":321},[4872],{"type":59,"value":4873},",",{"type":45,"tag":292,"props":4875,"children":4876},{"style":4865},[4877],{"type":59,"value":4878}," res",{"type":45,"tag":292,"props":4880,"children":4881},{"style":321},[4882],{"type":59,"value":2294},{"type":45,"tag":292,"props":4884,"children":4885},{"style":2254},[4886],{"type":59,"value":4887}," =>",{"type":45,"tag":292,"props":4889,"children":4890},{"style":321},[4891],{"type":59,"value":2415},{"type":45,"tag":292,"props":4893,"children":4894},{"class":294,"line":442},[4895,4900,4904,4909,4913,4917,4921],{"type":45,"tag":292,"props":4896,"children":4897},{"style":813},[4898],{"type":59,"value":4899},"  Sentry",{"type":45,"tag":292,"props":4901,"children":4902},{"style":321},[4903],{"type":59,"value":2110},{"type":45,"tag":292,"props":4905,"children":4906},{"style":337},[4907],{"type":59,"value":4908},"withIsolationScope",{"type":45,"tag":292,"props":4910,"children":4911},{"style":2337},[4912],{"type":59,"value":2277},{"type":45,"tag":292,"props":4914,"children":4915},{"style":321},[4916],{"type":59,"value":3478},{"type":45,"tag":292,"props":4918,"children":4919},{"style":2254},[4920],{"type":59,"value":4887},{"type":45,"tag":292,"props":4922,"children":4923},{"style":321},[4924],{"type":59,"value":2415},{"type":45,"tag":292,"props":4926,"children":4927},{"class":294,"line":451},[4928,4933],{"type":45,"tag":292,"props":4929,"children":4930},{"style":2661},[4931],{"type":59,"value":4932},"    try",{"type":45,"tag":292,"props":4934,"children":4935},{"style":321},[4936],{"type":59,"value":2415},{"type":45,"tag":292,"props":4938,"children":4939},{"class":294,"line":460},[4940],{"type":45,"tag":292,"props":4941,"children":4942},{"style":299},[4943],{"type":59,"value":4944},"      \u002F\u002F your handler\n",{"type":45,"tag":292,"props":4946,"children":4947},{"class":294,"line":512},[4948,4953,4957,4962,4966,4970,4975,4979,4983],{"type":45,"tag":292,"props":4949,"children":4950},{"style":813},[4951],{"type":59,"value":4952},"      res",{"type":45,"tag":292,"props":4954,"children":4955},{"style":321},[4956],{"type":59,"value":2110},{"type":45,"tag":292,"props":4958,"children":4959},{"style":337},[4960],{"type":59,"value":4961},"end",{"type":45,"tag":292,"props":4963,"children":4964},{"style":2337},[4965],{"type":59,"value":2277},{"type":45,"tag":292,"props":4967,"children":4968},{"style":321},[4969],{"type":59,"value":1181},{"type":45,"tag":292,"props":4971,"children":4972},{"style":315},[4973],{"type":59,"value":4974},"OK",{"type":45,"tag":292,"props":4976,"children":4977},{"style":321},[4978],{"type":59,"value":1181},{"type":45,"tag":292,"props":4980,"children":4981},{"style":2337},[4982],{"type":59,"value":2294},{"type":45,"tag":292,"props":4984,"children":4985},{"style":321},[4986],{"type":59,"value":2299},{"type":45,"tag":292,"props":4988,"children":4989},{"class":294,"line":556},[4990,4995,5000,5004,5009,5014],{"type":45,"tag":292,"props":4991,"children":4992},{"style":321},[4993],{"type":59,"value":4994},"    }",{"type":45,"tag":292,"props":4996,"children":4997},{"style":2661},[4998],{"type":59,"value":4999}," catch",{"type":45,"tag":292,"props":5001,"children":5002},{"style":2337},[5003],{"type":59,"value":1594},{"type":45,"tag":292,"props":5005,"children":5006},{"style":813},[5007],{"type":59,"value":5008},"err",{"type":45,"tag":292,"props":5010,"children":5011},{"style":2337},[5012],{"type":59,"value":5013},") ",{"type":45,"tag":292,"props":5015,"children":5016},{"style":321},[5017],{"type":59,"value":2331},{"type":45,"tag":292,"props":5019,"children":5020},{"class":294,"line":564},[5021,5026,5030,5035,5039,5043,5047],{"type":45,"tag":292,"props":5022,"children":5023},{"style":813},[5024],{"type":59,"value":5025},"      Sentry",{"type":45,"tag":292,"props":5027,"children":5028},{"style":321},[5029],{"type":59,"value":2110},{"type":45,"tag":292,"props":5031,"children":5032},{"style":337},[5033],{"type":59,"value":5034},"captureException",{"type":45,"tag":292,"props":5036,"children":5037},{"style":2337},[5038],{"type":59,"value":2277},{"type":45,"tag":292,"props":5040,"children":5041},{"style":813},[5042],{"type":59,"value":5008},{"type":45,"tag":292,"props":5044,"children":5045},{"style":2337},[5046],{"type":59,"value":2294},{"type":45,"tag":292,"props":5048,"children":5049},{"style":321},[5050],{"type":59,"value":2299},{"type":45,"tag":292,"props":5052,"children":5053},{"class":294,"line":573},[5054,5058,5062,5067,5071,5076,5080],{"type":45,"tag":292,"props":5055,"children":5056},{"style":813},[5057],{"type":59,"value":4952},{"type":45,"tag":292,"props":5059,"children":5060},{"style":321},[5061],{"type":59,"value":2110},{"type":45,"tag":292,"props":5063,"children":5064},{"style":337},[5065],{"type":59,"value":5066},"writeHead",{"type":45,"tag":292,"props":5068,"children":5069},{"style":2337},[5070],{"type":59,"value":2277},{"type":45,"tag":292,"props":5072,"children":5073},{"style":2529},[5074],{"type":59,"value":5075},"500",{"type":45,"tag":292,"props":5077,"children":5078},{"style":2337},[5079],{"type":59,"value":2294},{"type":45,"tag":292,"props":5081,"children":5082},{"style":321},[5083],{"type":59,"value":2299},{"type":45,"tag":292,"props":5085,"children":5086},{"class":294,"line":618},[5087,5091,5095,5099,5103,5107,5112,5116,5120],{"type":45,"tag":292,"props":5088,"children":5089},{"style":813},[5090],{"type":59,"value":4952},{"type":45,"tag":292,"props":5092,"children":5093},{"style":321},[5094],{"type":59,"value":2110},{"type":45,"tag":292,"props":5096,"children":5097},{"style":337},[5098],{"type":59,"value":4961},{"type":45,"tag":292,"props":5100,"children":5101},{"style":2337},[5102],{"type":59,"value":2277},{"type":45,"tag":292,"props":5104,"children":5105},{"style":321},[5106],{"type":59,"value":1181},{"type":45,"tag":292,"props":5108,"children":5109},{"style":315},[5110],{"type":59,"value":5111},"Internal Server Error",{"type":45,"tag":292,"props":5113,"children":5114},{"style":321},[5115],{"type":59,"value":1181},{"type":45,"tag":292,"props":5117,"children":5118},{"style":2337},[5119],{"type":59,"value":2294},{"type":45,"tag":292,"props":5121,"children":5122},{"style":321},[5123],{"type":59,"value":2299},{"type":45,"tag":292,"props":5125,"children":5126},{"class":294,"line":626},[5127],{"type":45,"tag":292,"props":5128,"children":5129},{"style":321},[5130],{"type":59,"value":5131},"    }\n",{"type":45,"tag":292,"props":5133,"children":5134},{"class":294,"line":635},[5135,5140,5144],{"type":45,"tag":292,"props":5136,"children":5137},{"style":321},[5138],{"type":59,"value":5139},"  }",{"type":45,"tag":292,"props":5141,"children":5142},{"style":2337},[5143],{"type":59,"value":2294},{"type":45,"tag":292,"props":5145,"children":5146},{"style":321},[5147],{"type":59,"value":2299},{"type":45,"tag":292,"props":5149,"children":5150},{"class":294,"line":680},[5151,5155,5159],{"type":45,"tag":292,"props":5152,"children":5153},{"style":321},[5154],{"type":59,"value":2618},{"type":45,"tag":292,"props":5156,"children":5157},{"style":813},[5158],{"type":59,"value":2294},{"type":45,"tag":292,"props":5160,"children":5161},{"style":321},[5162],{"type":59,"value":2299},{"type":45,"tag":292,"props":5164,"children":5165},{"class":294,"line":688},[5166],{"type":45,"tag":292,"props":5167,"children":5168},{"emptyLinePlaceholder":40},[5169],{"type":59,"value":448},{"type":45,"tag":292,"props":5171,"children":5172},{"class":294,"line":697},[5173,5177,5181,5185,5189,5193,5197],{"type":45,"tag":292,"props":5174,"children":5175},{"style":813},[5176],{"type":59,"value":4249},{"type":45,"tag":292,"props":5178,"children":5179},{"style":321},[5180],{"type":59,"value":2110},{"type":45,"tag":292,"props":5182,"children":5183},{"style":337},[5184],{"type":59,"value":3600},{"type":45,"tag":292,"props":5186,"children":5187},{"style":813},[5188],{"type":59,"value":2277},{"type":45,"tag":292,"props":5190,"children":5191},{"style":2529},[5192],{"type":59,"value":3609},{"type":45,"tag":292,"props":5194,"children":5195},{"style":813},[5196],{"type":59,"value":2294},{"type":45,"tag":292,"props":5198,"children":5199},{"style":321},[5200],{"type":59,"value":2299},{"type":45,"tag":50,"props":5202,"children":5203},{},[5204],{"type":45,"tag":177,"props":5205,"children":5206},{},[5207],{"type":59,"value":5208},"Framework error handler summary:",{"type":45,"tag":1371,"props":5210,"children":5211},{},[5212,5238],{"type":45,"tag":1375,"props":5213,"children":5214},{},[5215],{"type":45,"tag":1379,"props":5216,"children":5217},{},[5218,5223,5228,5233],{"type":45,"tag":1383,"props":5219,"children":5220},{},[5221],{"type":59,"value":5222},"Framework",{"type":45,"tag":1383,"props":5224,"children":5225},{},[5226],{"type":59,"value":5227},"Function",{"type":45,"tag":1383,"props":5229,"children":5230},{},[5231],{"type":59,"value":5232},"Placement",{"type":45,"tag":1383,"props":5234,"children":5235},{},[5236],{"type":59,"value":5237},"Async?",{"type":45,"tag":1394,"props":5239,"children":5240},{},[5241,5273,5304,5335,5371,5400],{"type":45,"tag":1379,"props":5242,"children":5243},{},[5244,5249,5258,5268],{"type":45,"tag":1401,"props":5245,"children":5246},{},[5247],{"type":59,"value":5248},"Express",{"type":45,"tag":1401,"props":5250,"children":5251},{},[5252],{"type":45,"tag":106,"props":5253,"children":5255},{"className":5254},[],[5256],{"type":59,"value":5257},"setupExpressErrorHandler(app)",{"type":45,"tag":1401,"props":5259,"children":5260},{},[5261,5266],{"type":45,"tag":177,"props":5262,"children":5263},{},[5264],{"type":59,"value":5265},"After",{"type":59,"value":5267}," all routes",{"type":45,"tag":1401,"props":5269,"children":5270},{},[5271],{"type":59,"value":5272},"No",{"type":45,"tag":1379,"props":5274,"children":5275},{},[5276,5281,5290,5300],{"type":45,"tag":1401,"props":5277,"children":5278},{},[5279],{"type":59,"value":5280},"Fastify",{"type":45,"tag":1401,"props":5282,"children":5283},{},[5284],{"type":45,"tag":106,"props":5285,"children":5287},{"className":5286},[],[5288],{"type":59,"value":5289},"setupFastifyErrorHandler(fastify)",{"type":45,"tag":1401,"props":5291,"children":5292},{},[5293,5298],{"type":45,"tag":177,"props":5294,"children":5295},{},[5296],{"type":59,"value":5297},"Before",{"type":59,"value":5299}," routes",{"type":45,"tag":1401,"props":5301,"children":5302},{},[5303],{"type":59,"value":5272},{"type":45,"tag":1379,"props":5305,"children":5306},{},[5307,5312,5321,5331],{"type":45,"tag":1401,"props":5308,"children":5309},{},[5310],{"type":59,"value":5311},"Koa",{"type":45,"tag":1401,"props":5313,"children":5314},{},[5315],{"type":45,"tag":106,"props":5316,"children":5318},{"className":5317},[],[5319],{"type":59,"value":5320},"setupKoaErrorHandler(app)",{"type":45,"tag":1401,"props":5322,"children":5323},{},[5324,5329],{"type":45,"tag":177,"props":5325,"children":5326},{},[5327],{"type":59,"value":5328},"First",{"type":59,"value":5330}," middleware",{"type":45,"tag":1401,"props":5332,"children":5333},{},[5334],{"type":59,"value":5272},{"type":45,"tag":1379,"props":5336,"children":5337},{},[5338,5343,5352,5363],{"type":45,"tag":1401,"props":5339,"children":5340},{},[5341],{"type":59,"value":5342},"Hapi",{"type":45,"tag":1401,"props":5344,"children":5345},{},[5346],{"type":45,"tag":106,"props":5347,"children":5349},{"className":5348},[],[5350],{"type":59,"value":5351},"setupHapiErrorHandler(server)",{"type":45,"tag":1401,"props":5353,"children":5354},{},[5355,5357],{"type":59,"value":5356},"Before ",{"type":45,"tag":106,"props":5358,"children":5360},{"className":5359},[],[5361],{"type":59,"value":5362},"server.start()",{"type":45,"tag":1401,"props":5364,"children":5365},{},[5366],{"type":45,"tag":177,"props":5367,"children":5368},{},[5369],{"type":59,"value":5370},"Yes",{"type":45,"tag":1379,"props":5372,"children":5373},{},[5374,5379,5388,5396],{"type":45,"tag":1401,"props":5375,"children":5376},{},[5377],{"type":59,"value":5378},"Connect",{"type":45,"tag":1401,"props":5380,"children":5381},{},[5382],{"type":45,"tag":106,"props":5383,"children":5385},{"className":5384},[],[5386],{"type":59,"value":5387},"setupConnectErrorHandler(app)",{"type":45,"tag":1401,"props":5389,"children":5390},{},[5391,5395],{"type":45,"tag":177,"props":5392,"children":5393},{},[5394],{"type":59,"value":5297},{"type":59,"value":5299},{"type":45,"tag":1401,"props":5397,"children":5398},{},[5399],{"type":59,"value":5272},{"type":45,"tag":1379,"props":5401,"children":5402},{},[5403,5407,5420,5425],{"type":45,"tag":1401,"props":5404,"children":5405},{},[5406],{"type":59,"value":4647},{"type":45,"tag":1401,"props":5408,"children":5409},{},[5410,5412],{"type":59,"value":5411},"→ Use ",{"type":45,"tag":54,"props":5413,"children":5414},{"href":186},[5415],{"type":45,"tag":106,"props":5416,"children":5418},{"className":5417},[],[5419],{"type":59,"value":193},{"type":45,"tag":1401,"props":5421,"children":5422},{},[5423],{"type":59,"value":5424},"Dedicated skill",{"type":45,"tag":1401,"props":5426,"children":5427},{},[5428],{"type":59,"value":5429},"—",{"type":45,"tag":266,"props":5431,"children":5432},{},[],{"type":45,"tag":2047,"props":5434,"children":5436},{"id":5435},"runtime-bun",[5437],{"type":59,"value":5438},"Runtime: Bun",{"type":45,"tag":46,"props":5440,"children":5441},{},[5442],{"type":45,"tag":50,"props":5443,"children":5444},{},[5445,5450],{"type":45,"tag":177,"props":5446,"children":5447},{},[5448],{"type":59,"value":5449},"No wizard available for Bun.",{"type":59,"value":5451}," Manual setup only.",{"type":45,"tag":2054,"props":5453,"children":5455},{"id":5454},"install-1",[5456],{"type":59,"value":2131},{"type":45,"tag":281,"props":5458,"children":5460},{"className":283,"code":5459,"language":285,"meta":286,"style":286},"bun add @sentry\u002Fbun\n",[5461],{"type":45,"tag":106,"props":5462,"children":5463},{"__ignoreMap":286},[5464],{"type":45,"tag":292,"props":5465,"children":5466},{"class":294,"line":295},[5467,5471,5475],{"type":45,"tag":292,"props":5468,"children":5469},{"style":309},[5470],{"type":59,"value":312},{"type":45,"tag":292,"props":5472,"children":5473},{"style":315},[5474],{"type":59,"value":2182},{"type":45,"tag":292,"props":5476,"children":5477},{"style":315},[5478],{"type":59,"value":5479}," @sentry\u002Fbun\n",{"type":45,"tag":2054,"props":5481,"children":5483},{"id":5482},"create-instrumentts-or-instrumentjs",[5484,5486,5492,5494,5499],{"type":59,"value":5485},"Create ",{"type":45,"tag":106,"props":5487,"children":5489},{"className":5488},[],[5490],{"type":59,"value":5491},"instrument.ts",{"type":59,"value":5493}," (or ",{"type":45,"tag":106,"props":5495,"children":5497},{"className":5496},[],[5498],{"type":59,"value":143},{"type":59,"value":2294},{"type":45,"tag":281,"props":5501,"children":5505},{"className":5502,"code":5503,"language":5504,"meta":286,"style":286},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F instrument.ts\nimport * as Sentry from \"@sentry\u002Fbun\";\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN ?? \"___DSN___\",\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnode\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n  tracesSampleRate: process.env.NODE_ENV === \"development\" ? 1.0 : 0.1,\n  enableLogs: true,\n});\n","typescript",[5506],{"type":45,"tag":106,"props":5507,"children":5508},{"__ignoreMap":286},[5509,5517,5556,5563,5586,5637,5644,5659,5666,5673,5680,5687,5694,5761,5780],{"type":45,"tag":292,"props":5510,"children":5511},{"class":294,"line":295},[5512],{"type":45,"tag":292,"props":5513,"children":5514},{"style":299},[5515],{"type":59,"value":5516},"\u002F\u002F instrument.ts\n",{"type":45,"tag":292,"props":5518,"children":5519},{"class":294,"line":305},[5520,5524,5528,5532,5536,5540,5544,5548,5552],{"type":45,"tag":292,"props":5521,"children":5522},{"style":2661},[5523],{"type":59,"value":2664},{"type":45,"tag":292,"props":5525,"children":5526},{"style":321},[5527],{"type":59,"value":816},{"type":45,"tag":292,"props":5529,"children":5530},{"style":2661},[5531],{"type":59,"value":2673},{"type":45,"tag":292,"props":5533,"children":5534},{"style":813},[5535],{"type":59,"value":2262},{"type":45,"tag":292,"props":5537,"children":5538},{"style":2661},[5539],{"type":59,"value":2682},{"type":45,"tag":292,"props":5541,"children":5542},{"style":321},[5543],{"type":59,"value":345},{"type":45,"tag":292,"props":5545,"children":5546},{"style":315},[5547],{"type":59,"value":119},{"type":45,"tag":292,"props":5549,"children":5550},{"style":321},[5551],{"type":59,"value":1181},{"type":45,"tag":292,"props":5553,"children":5554},{"style":321},[5555],{"type":59,"value":2299},{"type":45,"tag":292,"props":5557,"children":5558},{"class":294,"line":358},[5559],{"type":45,"tag":292,"props":5560,"children":5561},{"emptyLinePlaceholder":40},[5562],{"type":59,"value":448},{"type":45,"tag":292,"props":5564,"children":5565},{"class":294,"line":400},[5566,5570,5574,5578,5582],{"type":45,"tag":292,"props":5567,"children":5568},{"style":813},[5569],{"type":59,"value":9},{"type":45,"tag":292,"props":5571,"children":5572},{"style":321},[5573],{"type":59,"value":2110},{"type":45,"tag":292,"props":5575,"children":5576},{"style":337},[5577],{"type":59,"value":2322},{"type":45,"tag":292,"props":5579,"children":5580},{"style":813},[5581],{"type":59,"value":2277},{"type":45,"tag":292,"props":5583,"children":5584},{"style":321},[5585],{"type":59,"value":2331},{"type":45,"tag":292,"props":5587,"children":5588},{"class":294,"line":442},[5589,5593,5597,5601,5605,5609,5613,5617,5621,5625,5629,5633],{"type":45,"tag":292,"props":5590,"children":5591},{"style":2337},[5592],{"type":59,"value":2340},{"type":45,"tag":292,"props":5594,"children":5595},{"style":321},[5596],{"type":59,"value":2345},{"type":45,"tag":292,"props":5598,"children":5599},{"style":813},[5600],{"type":59,"value":2350},{"type":45,"tag":292,"props":5602,"children":5603},{"style":321},[5604],{"type":59,"value":2110},{"type":45,"tag":292,"props":5606,"children":5607},{"style":813},[5608],{"type":59,"value":2359},{"type":45,"tag":292,"props":5610,"children":5611},{"style":321},[5612],{"type":59,"value":2110},{"type":45,"tag":292,"props":5614,"children":5615},{"style":813},[5616],{"type":59,"value":2368},{"type":45,"tag":292,"props":5618,"children":5619},{"style":321},[5620],{"type":59,"value":2373},{"type":45,"tag":292,"props":5622,"children":5623},{"style":321},[5624],{"type":59,"value":345},{"type":45,"tag":292,"props":5626,"children":5627},{"style":315},[5628],{"type":59,"value":2382},{"type":45,"tag":292,"props":5630,"children":5631},{"style":321},[5632],{"type":59,"value":1181},{"type":45,"tag":292,"props":5634,"children":5635},{"style":321},[5636],{"type":59,"value":2391},{"type":45,"tag":292,"props":5638,"children":5639},{"class":294,"line":451},[5640],{"type":45,"tag":292,"props":5641,"children":5642},{"emptyLinePlaceholder":40},[5643],{"type":59,"value":448},{"type":45,"tag":292,"props":5645,"children":5646},{"class":294,"line":460},[5647,5651,5655],{"type":45,"tag":292,"props":5648,"children":5649},{"style":2337},[5650],{"type":59,"value":2406},{"type":45,"tag":292,"props":5652,"children":5653},{"style":321},[5654],{"type":59,"value":2345},{"type":45,"tag":292,"props":5656,"children":5657},{"style":321},[5658],{"type":59,"value":2415},{"type":45,"tag":292,"props":5660,"children":5661},{"class":294,"line":512},[5662],{"type":45,"tag":292,"props":5663,"children":5664},{"style":299},[5665],{"type":59,"value":2423},{"type":45,"tag":292,"props":5667,"children":5668},{"class":294,"line":556},[5669],{"type":45,"tag":292,"props":5670,"children":5671},{"style":299},[5672],{"type":59,"value":2431},{"type":45,"tag":292,"props":5674,"children":5675},{"class":294,"line":564},[5676],{"type":45,"tag":292,"props":5677,"children":5678},{"style":299},[5679],{"type":59,"value":2439},{"type":45,"tag":292,"props":5681,"children":5682},{"class":294,"line":573},[5683],{"type":45,"tag":292,"props":5684,"children":5685},{"style":299},[5686],{"type":59,"value":2447},{"type":45,"tag":292,"props":5688,"children":5689},{"class":294,"line":618},[5690],{"type":45,"tag":292,"props":5691,"children":5692},{"style":321},[5693],{"type":59,"value":2455},{"type":45,"tag":292,"props":5695,"children":5696},{"class":294,"line":626},[5697,5701,5705,5709,5713,5717,5721,5725,5729,5733,5737,5741,5745,5749,5753,5757],{"type":45,"tag":292,"props":5698,"children":5699},{"style":2337},[5700],{"type":59,"value":2478},{"type":45,"tag":292,"props":5702,"children":5703},{"style":321},[5704],{"type":59,"value":2345},{"type":45,"tag":292,"props":5706,"children":5707},{"style":813},[5708],{"type":59,"value":2350},{"type":45,"tag":292,"props":5710,"children":5711},{"style":321},[5712],{"type":59,"value":2110},{"type":45,"tag":292,"props":5714,"children":5715},{"style":813},[5716],{"type":59,"value":2359},{"type":45,"tag":292,"props":5718,"children":5719},{"style":321},[5720],{"type":59,"value":2110},{"type":45,"tag":292,"props":5722,"children":5723},{"style":813},[5724],{"type":59,"value":2503},{"type":45,"tag":292,"props":5726,"children":5727},{"style":321},[5728],{"type":59,"value":2508},{"type":45,"tag":292,"props":5730,"children":5731},{"style":321},[5732],{"type":59,"value":345},{"type":45,"tag":292,"props":5734,"children":5735},{"style":315},[5736],{"type":59,"value":2517},{"type":45,"tag":292,"props":5738,"children":5739},{"style":321},[5740],{"type":59,"value":1181},{"type":45,"tag":292,"props":5742,"children":5743},{"style":321},[5744],{"type":59,"value":2526},{"type":45,"tag":292,"props":5746,"children":5747},{"style":2529},[5748],{"type":59,"value":2532},{"type":45,"tag":292,"props":5750,"children":5751},{"style":321},[5752],{"type":59,"value":2537},{"type":45,"tag":292,"props":5754,"children":5755},{"style":2529},[5756],{"type":59,"value":2542},{"type":45,"tag":292,"props":5758,"children":5759},{"style":321},[5760],{"type":59,"value":2391},{"type":45,"tag":292,"props":5762,"children":5763},{"class":294,"line":635},[5764,5768,5772,5776],{"type":45,"tag":292,"props":5765,"children":5766},{"style":2337},[5767],{"type":59,"value":2598},{"type":45,"tag":292,"props":5769,"children":5770},{"style":321},[5771],{"type":59,"value":2345},{"type":45,"tag":292,"props":5773,"children":5774},{"style":2576},[5775],{"type":59,"value":2579},{"type":45,"tag":292,"props":5777,"children":5778},{"style":321},[5779],{"type":59,"value":2391},{"type":45,"tag":292,"props":5781,"children":5782},{"class":294,"line":680},[5783,5787,5791],{"type":45,"tag":292,"props":5784,"children":5785},{"style":321},[5786],{"type":59,"value":2618},{"type":45,"tag":292,"props":5788,"children":5789},{"style":813},[5790],{"type":59,"value":2294},{"type":45,"tag":292,"props":5792,"children":5793},{"style":321},[5794],{"type":59,"value":2299},{"type":45,"tag":2054,"props":5796,"children":5798},{"id":5797},"start-your-app-with-preload",[5799,5801],{"type":59,"value":5800},"Start Your App with ",{"type":45,"tag":106,"props":5802,"children":5804},{"className":5803},[],[5805],{"type":59,"value":5806},"--preload",{"type":45,"tag":281,"props":5808,"children":5810},{"className":283,"code":5809,"language":285,"meta":286,"style":286},"bun --preload .\u002Finstrument.ts server.ts\n",[5811],{"type":45,"tag":106,"props":5812,"children":5813},{"__ignoreMap":286},[5814],{"type":45,"tag":292,"props":5815,"children":5816},{"class":294,"line":295},[5817,5821,5826,5831],{"type":45,"tag":292,"props":5818,"children":5819},{"style":309},[5820],{"type":59,"value":312},{"type":45,"tag":292,"props":5822,"children":5823},{"style":315},[5824],{"type":59,"value":5825}," --preload",{"type":45,"tag":292,"props":5827,"children":5828},{"style":315},[5829],{"type":59,"value":5830}," .\u002Finstrument.ts",{"type":45,"tag":292,"props":5832,"children":5833},{"style":315},[5834],{"type":59,"value":5835}," server.ts\n",{"type":45,"tag":50,"props":5837,"children":5838},{},[5839,5840,5845],{"type":59,"value":3145},{"type":45,"tag":106,"props":5841,"children":5843},{"className":5842},[],[5844],{"type":59,"value":1616},{"type":59,"value":2345},{"type":45,"tag":281,"props":5847,"children":5849},{"className":3155,"code":5848,"language":3157,"meta":286,"style":286},"{\n  \"scripts\": {\n    \"start\": \"bun --preload .\u002Finstrument.ts server.ts\",\n    \"dev\": \"bun --watch --preload .\u002Finstrument.ts server.ts\"\n  }\n}\n",[5850],{"type":45,"tag":106,"props":5851,"children":5852},{"__ignoreMap":286},[5853,5860,5883,5919,5951,5958],{"type":45,"tag":292,"props":5854,"children":5855},{"class":294,"line":295},[5856],{"type":45,"tag":292,"props":5857,"children":5858},{"style":321},[5859],{"type":59,"value":2331},{"type":45,"tag":292,"props":5861,"children":5862},{"class":294,"line":305},[5863,5867,5871,5875,5879],{"type":45,"tag":292,"props":5864,"children":5865},{"style":321},[5866],{"type":59,"value":3176},{"type":45,"tag":292,"props":5868,"children":5869},{"style":2254},[5870],{"type":59,"value":3181},{"type":45,"tag":292,"props":5872,"children":5873},{"style":321},[5874],{"type":59,"value":1181},{"type":45,"tag":292,"props":5876,"children":5877},{"style":321},[5878],{"type":59,"value":2345},{"type":45,"tag":292,"props":5880,"children":5881},{"style":321},[5882],{"type":59,"value":2415},{"type":45,"tag":292,"props":5884,"children":5885},{"class":294,"line":358},[5886,5890,5894,5898,5902,5906,5911,5915],{"type":45,"tag":292,"props":5887,"children":5888},{"style":321},[5889],{"type":59,"value":3201},{"type":45,"tag":292,"props":5891,"children":5892},{"style":309},[5893],{"type":59,"value":3206},{"type":45,"tag":292,"props":5895,"children":5896},{"style":321},[5897],{"type":59,"value":1181},{"type":45,"tag":292,"props":5899,"children":5900},{"style":321},[5901],{"type":59,"value":2345},{"type":45,"tag":292,"props":5903,"children":5904},{"style":321},[5905],{"type":59,"value":345},{"type":45,"tag":292,"props":5907,"children":5908},{"style":315},[5909],{"type":59,"value":5910},"bun --preload .\u002Finstrument.ts server.ts",{"type":45,"tag":292,"props":5912,"children":5913},{"style":321},[5914],{"type":59,"value":1181},{"type":45,"tag":292,"props":5916,"children":5917},{"style":321},[5918],{"type":59,"value":2391},{"type":45,"tag":292,"props":5920,"children":5921},{"class":294,"line":400},[5922,5926,5930,5934,5938,5942,5947],{"type":45,"tag":292,"props":5923,"children":5924},{"style":321},[5925],{"type":59,"value":3201},{"type":45,"tag":292,"props":5927,"children":5928},{"style":309},[5929],{"type":59,"value":3243},{"type":45,"tag":292,"props":5931,"children":5932},{"style":321},[5933],{"type":59,"value":1181},{"type":45,"tag":292,"props":5935,"children":5936},{"style":321},[5937],{"type":59,"value":2345},{"type":45,"tag":292,"props":5939,"children":5940},{"style":321},[5941],{"type":59,"value":345},{"type":45,"tag":292,"props":5943,"children":5944},{"style":315},[5945],{"type":59,"value":5946},"bun --watch --preload .\u002Finstrument.ts server.ts",{"type":45,"tag":292,"props":5948,"children":5949},{"style":321},[5950],{"type":59,"value":355},{"type":45,"tag":292,"props":5952,"children":5953},{"class":294,"line":442},[5954],{"type":45,"tag":292,"props":5955,"children":5956},{"style":321},[5957],{"type":59,"value":3272},{"type":45,"tag":292,"props":5959,"children":5960},{"class":294,"line":451},[5961],{"type":45,"tag":292,"props":5962,"children":5963},{"style":321},[5964],{"type":59,"value":3280},{"type":45,"tag":2054,"props":5966,"children":5968},{"id":5967},"bunserve-auto-instrumentation",[5969],{"type":59,"value":5970},"Bun.serve() — Auto-Instrumentation",{"type":45,"tag":50,"props":5972,"children":5973},{},[5974,5979,5981,5987,5989,5994,5996,6001],{"type":45,"tag":106,"props":5975,"children":5977},{"className":5976},[],[5978],{"type":59,"value":119},{"type":59,"value":5980}," automatically instruments ",{"type":45,"tag":106,"props":5982,"children":5984},{"className":5983},[],[5985],{"type":59,"value":5986},"Bun.serve()",{"type":59,"value":5988}," via JavaScript Proxy. No extra setup is required — just initialize with ",{"type":45,"tag":106,"props":5990,"children":5992},{"className":5991},[],[5993],{"type":59,"value":5806},{"type":59,"value":5995}," and your ",{"type":45,"tag":106,"props":5997,"children":5999},{"className":5998},[],[6000],{"type":59,"value":5986},{"type":59,"value":6002}," calls are traced:",{"type":45,"tag":281,"props":6004,"children":6006},{"className":5502,"code":6005,"language":5504,"meta":286,"style":286},"\u002F\u002F server.ts\nconst server = Bun.serve({\n  port: 3000,\n  fetch(req) {\n    return new Response(\"Hello from Bun!\");\n  },\n});\n",[6007],{"type":45,"tag":106,"props":6008,"children":6009},{"__ignoreMap":286},[6010,6018,6055,6075,6099,6141,6148],{"type":45,"tag":292,"props":6011,"children":6012},{"class":294,"line":295},[6013],{"type":45,"tag":292,"props":6014,"children":6015},{"style":299},[6016],{"type":59,"value":6017},"\u002F\u002F server.ts\n",{"type":45,"tag":292,"props":6019,"children":6020},{"class":294,"line":305},[6021,6025,6029,6033,6038,6042,6047,6051],{"type":45,"tag":292,"props":6022,"children":6023},{"style":2254},[6024],{"type":59,"value":2257},{"type":45,"tag":292,"props":6026,"children":6027},{"style":813},[6028],{"type":59,"value":4231},{"type":45,"tag":292,"props":6030,"children":6031},{"style":321},[6032],{"type":59,"value":2267},{"type":45,"tag":292,"props":6034,"children":6035},{"style":813},[6036],{"type":59,"value":6037}," Bun",{"type":45,"tag":292,"props":6039,"children":6040},{"style":321},[6041],{"type":59,"value":2110},{"type":45,"tag":292,"props":6043,"children":6044},{"style":337},[6045],{"type":59,"value":6046},"serve",{"type":45,"tag":292,"props":6048,"children":6049},{"style":813},[6050],{"type":59,"value":2277},{"type":45,"tag":292,"props":6052,"children":6053},{"style":321},[6054],{"type":59,"value":2331},{"type":45,"tag":292,"props":6056,"children":6057},{"class":294,"line":358},[6058,6063,6067,6071],{"type":45,"tag":292,"props":6059,"children":6060},{"style":2337},[6061],{"type":59,"value":6062},"  port",{"type":45,"tag":292,"props":6064,"children":6065},{"style":321},[6066],{"type":59,"value":2345},{"type":45,"tag":292,"props":6068,"children":6069},{"style":2529},[6070],{"type":59,"value":3861},{"type":45,"tag":292,"props":6072,"children":6073},{"style":321},[6074],{"type":59,"value":2391},{"type":45,"tag":292,"props":6076,"children":6077},{"class":294,"line":400},[6078,6083,6087,6091,6095],{"type":45,"tag":292,"props":6079,"children":6080},{"style":2337},[6081],{"type":59,"value":6082},"  fetch",{"type":45,"tag":292,"props":6084,"children":6085},{"style":321},[6086],{"type":59,"value":2277},{"type":45,"tag":292,"props":6088,"children":6089},{"style":4865},[6090],{"type":59,"value":4868},{"type":45,"tag":292,"props":6092,"children":6093},{"style":321},[6094],{"type":59,"value":2294},{"type":45,"tag":292,"props":6096,"children":6097},{"style":321},[6098],{"type":59,"value":2415},{"type":45,"tag":292,"props":6100,"children":6101},{"class":294,"line":442},[6102,6107,6111,6116,6120,6124,6129,6133,6137],{"type":45,"tag":292,"props":6103,"children":6104},{"style":2661},[6105],{"type":59,"value":6106},"    return",{"type":45,"tag":292,"props":6108,"children":6109},{"style":321},[6110],{"type":59,"value":4004},{"type":45,"tag":292,"props":6112,"children":6113},{"style":337},[6114],{"type":59,"value":6115}," Response",{"type":45,"tag":292,"props":6117,"children":6118},{"style":2337},[6119],{"type":59,"value":2277},{"type":45,"tag":292,"props":6121,"children":6122},{"style":321},[6123],{"type":59,"value":1181},{"type":45,"tag":292,"props":6125,"children":6126},{"style":315},[6127],{"type":59,"value":6128},"Hello from Bun!",{"type":45,"tag":292,"props":6130,"children":6131},{"style":321},[6132],{"type":59,"value":1181},{"type":45,"tag":292,"props":6134,"children":6135},{"style":2337},[6136],{"type":59,"value":2294},{"type":45,"tag":292,"props":6138,"children":6139},{"style":321},[6140],{"type":59,"value":2299},{"type":45,"tag":292,"props":6142,"children":6143},{"class":294,"line":451},[6144],{"type":45,"tag":292,"props":6145,"children":6146},{"style":321},[6147],{"type":59,"value":2455},{"type":45,"tag":292,"props":6149,"children":6150},{"class":294,"line":460},[6151,6155,6159],{"type":45,"tag":292,"props":6152,"children":6153},{"style":321},[6154],{"type":59,"value":2618},{"type":45,"tag":292,"props":6156,"children":6157},{"style":813},[6158],{"type":59,"value":2294},{"type":45,"tag":292,"props":6160,"children":6161},{"style":321},[6162],{"type":59,"value":2299},{"type":45,"tag":2054,"props":6164,"children":6166},{"id":6165},"framework-error-handlers-on-bun",[6167],{"type":59,"value":6168},"Framework Error Handlers on Bun",{"type":45,"tag":50,"props":6170,"children":6171},{},[6172,6174,6179,6181,6186,6188,6193],{"type":59,"value":6173},"Bun can run Express, Fastify, Hono, and Elysia. Use the same ",{"type":45,"tag":106,"props":6175,"children":6177},{"className":6176},[],[6178],{"type":59,"value":119},{"type":59,"value":6180}," import and the ",{"type":45,"tag":106,"props":6182,"children":6184},{"className":6183},[],[6185],{"type":59,"value":111},{"type":59,"value":6187}," error handler functions (re-exported by ",{"type":45,"tag":106,"props":6189,"children":6191},{"className":6190},[],[6192],{"type":59,"value":119},{"type":59,"value":2231},{"type":45,"tag":281,"props":6195,"children":6197},{"className":5502,"code":6196,"language":5504,"meta":286,"style":286},"import * as Sentry from \"@sentry\u002Fbun\";\nimport express from \"express\";\n\nconst app = express();\n\u002F\u002F ... routes\nSentry.setupExpressErrorHandler(app);\napp.listen(3000);\n",[6198],{"type":45,"tag":106,"props":6199,"children":6200},{"__ignoreMap":286},[6201,6240,6271,6278,6305,6313,6336],{"type":45,"tag":292,"props":6202,"children":6203},{"class":294,"line":295},[6204,6208,6212,6216,6220,6224,6228,6232,6236],{"type":45,"tag":292,"props":6205,"children":6206},{"style":2661},[6207],{"type":59,"value":2664},{"type":45,"tag":292,"props":6209,"children":6210},{"style":321},[6211],{"type":59,"value":816},{"type":45,"tag":292,"props":6213,"children":6214},{"style":2661},[6215],{"type":59,"value":2673},{"type":45,"tag":292,"props":6217,"children":6218},{"style":813},[6219],{"type":59,"value":2262},{"type":45,"tag":292,"props":6221,"children":6222},{"style":2661},[6223],{"type":59,"value":2682},{"type":45,"tag":292,"props":6225,"children":6226},{"style":321},[6227],{"type":59,"value":345},{"type":45,"tag":292,"props":6229,"children":6230},{"style":315},[6231],{"type":59,"value":119},{"type":45,"tag":292,"props":6233,"children":6234},{"style":321},[6235],{"type":59,"value":1181},{"type":45,"tag":292,"props":6237,"children":6238},{"style":321},[6239],{"type":59,"value":2299},{"type":45,"tag":292,"props":6241,"children":6242},{"class":294,"line":305},[6243,6247,6251,6255,6259,6263,6267],{"type":45,"tag":292,"props":6244,"children":6245},{"style":2661},[6246],{"type":59,"value":2664},{"type":45,"tag":292,"props":6248,"children":6249},{"style":813},[6250],{"type":59,"value":3052},{"type":45,"tag":292,"props":6252,"children":6253},{"style":2661},[6254],{"type":59,"value":2682},{"type":45,"tag":292,"props":6256,"children":6257},{"style":321},[6258],{"type":59,"value":345},{"type":45,"tag":292,"props":6260,"children":6261},{"style":315},[6262],{"type":59,"value":3073},{"type":45,"tag":292,"props":6264,"children":6265},{"style":321},[6266],{"type":59,"value":1181},{"type":45,"tag":292,"props":6268,"children":6269},{"style":321},[6270],{"type":59,"value":2299},{"type":45,"tag":292,"props":6272,"children":6273},{"class":294,"line":358},[6274],{"type":45,"tag":292,"props":6275,"children":6276},{"emptyLinePlaceholder":40},[6277],{"type":59,"value":448},{"type":45,"tag":292,"props":6279,"children":6280},{"class":294,"line":400},[6281,6285,6289,6293,6297,6301],{"type":45,"tag":292,"props":6282,"children":6283},{"style":2254},[6284],{"type":59,"value":2257},{"type":45,"tag":292,"props":6286,"children":6287},{"style":813},[6288],{"type":59,"value":3464},{"type":45,"tag":292,"props":6290,"children":6291},{"style":321},[6292],{"type":59,"value":2267},{"type":45,"tag":292,"props":6294,"children":6295},{"style":337},[6296],{"type":59,"value":3473},{"type":45,"tag":292,"props":6298,"children":6299},{"style":813},[6300],{"type":59,"value":3478},{"type":45,"tag":292,"props":6302,"children":6303},{"style":321},[6304],{"type":59,"value":2299},{"type":45,"tag":292,"props":6306,"children":6307},{"class":294,"line":442},[6308],{"type":45,"tag":292,"props":6309,"children":6310},{"style":299},[6311],{"type":59,"value":6312},"\u002F\u002F ... routes\n",{"type":45,"tag":292,"props":6314,"children":6315},{"class":294,"line":451},[6316,6320,6324,6328,6332],{"type":45,"tag":292,"props":6317,"children":6318},{"style":813},[6319],{"type":59,"value":9},{"type":45,"tag":292,"props":6321,"children":6322},{"style":321},[6323],{"type":59,"value":2110},{"type":45,"tag":292,"props":6325,"children":6326},{"style":337},[6327],{"type":59,"value":3528},{"type":45,"tag":292,"props":6329,"children":6330},{"style":813},[6331],{"type":59,"value":3533},{"type":45,"tag":292,"props":6333,"children":6334},{"style":321},[6335],{"type":59,"value":2299},{"type":45,"tag":292,"props":6337,"children":6338},{"class":294,"line":460},[6339,6343,6347,6351,6355,6359,6363],{"type":45,"tag":292,"props":6340,"children":6341},{"style":813},[6342],{"type":59,"value":3591},{"type":45,"tag":292,"props":6344,"children":6345},{"style":321},[6346],{"type":59,"value":2110},{"type":45,"tag":292,"props":6348,"children":6349},{"style":337},[6350],{"type":59,"value":3600},{"type":45,"tag":292,"props":6352,"children":6353},{"style":813},[6354],{"type":59,"value":2277},{"type":45,"tag":292,"props":6356,"children":6357},{"style":2529},[6358],{"type":59,"value":3609},{"type":45,"tag":292,"props":6360,"children":6361},{"style":813},[6362],{"type":59,"value":2294},{"type":45,"tag":292,"props":6364,"children":6365},{"style":321},[6366],{"type":59,"value":2299},{"type":45,"tag":2054,"props":6368,"children":6370},{"id":6369},"bun-feature-support",[6371],{"type":59,"value":6372},"Bun Feature Support",{"type":45,"tag":1371,"props":6374,"children":6375},{},[6376,6396],{"type":45,"tag":1375,"props":6377,"children":6378},{},[6379],{"type":45,"tag":1379,"props":6380,"children":6381},{},[6382,6386,6391],{"type":45,"tag":1383,"props":6383,"children":6384},{},[6385],{"type":59,"value":1842},{"type":45,"tag":1383,"props":6387,"children":6388},{},[6389],{"type":59,"value":6390},"Bun Support",{"type":45,"tag":1383,"props":6392,"children":6393},{},[6394],{"type":59,"value":6395},"Notes",{"type":45,"tag":1394,"props":6397,"children":6398},{},[6399,6416,6440,6467,6490,6510,6531,6551],{"type":45,"tag":1379,"props":6400,"children":6401},{},[6402,6406,6411],{"type":45,"tag":1401,"props":6403,"children":6404},{},[6405],{"type":59,"value":1677},{"type":45,"tag":1401,"props":6407,"children":6408},{},[6409],{"type":59,"value":6410},"✅ Full",{"type":45,"tag":1401,"props":6412,"children":6413},{},[6414],{"type":59,"value":6415},"Same API as Node",{"type":45,"tag":1379,"props":6417,"children":6418},{},[6419,6423,6435],{"type":45,"tag":1401,"props":6420,"children":6421},{},[6422],{"type":59,"value":1688},{"type":45,"tag":1401,"props":6424,"children":6425},{},[6426,6428,6433],{"type":59,"value":6427},"✅ Via ",{"type":45,"tag":106,"props":6429,"children":6431},{"className":6430},[],[6432],{"type":59,"value":111},{"type":59,"value":6434}," OTel",{"type":45,"tag":1401,"props":6436,"children":6437},{},[6438],{"type":59,"value":6439},"Most auto-instrumentations work",{"type":45,"tag":1379,"props":6441,"children":6442},{},[6443,6447,6451],{"type":45,"tag":1401,"props":6444,"children":6445},{},[6446],{"type":59,"value":1711},{"type":45,"tag":1401,"props":6448,"children":6449},{},[6450],{"type":59,"value":6410},{"type":45,"tag":1401,"props":6452,"children":6453},{},[6454,6460,6462],{"type":45,"tag":106,"props":6455,"children":6457},{"className":6456},[],[6458],{"type":59,"value":6459},"enableLogs: true",{"type":59,"value":6461}," + ",{"type":45,"tag":106,"props":6463,"children":6465},{"className":6464},[],[6466],{"type":59,"value":1719},{"type":45,"tag":1379,"props":6468,"children":6469},{},[6470,6474,6479],{"type":45,"tag":1401,"props":6471,"children":6472},{},[6473],{"type":59,"value":1753},{"type":45,"tag":1401,"props":6475,"children":6476},{},[6477],{"type":59,"value":6478},"❌ Not available",{"type":45,"tag":1401,"props":6480,"children":6481},{},[6482,6488],{"type":45,"tag":106,"props":6483,"children":6485},{"className":6484},[],[6486],{"type":59,"value":6487},"@sentry\u002Fprofiling-node",{"type":59,"value":6489}," uses native addons incompatible with Bun",{"type":45,"tag":1379,"props":6491,"children":6492},{},[6493,6497,6501],{"type":45,"tag":1401,"props":6494,"children":6495},{},[6496],{"type":59,"value":1791},{"type":45,"tag":1401,"props":6498,"children":6499},{},[6500],{"type":59,"value":6410},{"type":45,"tag":1401,"props":6502,"children":6503},{},[6504],{"type":45,"tag":106,"props":6505,"children":6507},{"className":6506},[],[6508],{"type":59,"value":6509},"Sentry.metrics.*",{"type":45,"tag":1379,"props":6511,"children":6512},{},[6513,6517,6521],{"type":45,"tag":1401,"props":6514,"children":6515},{},[6516],{"type":59,"value":1802},{"type":45,"tag":1401,"props":6518,"children":6519},{},[6520],{"type":59,"value":6410},{"type":45,"tag":1401,"props":6522,"children":6523},{},[6524,6529],{"type":45,"tag":106,"props":6525,"children":6527},{"className":6526},[],[6528],{"type":59,"value":1818},{"type":59,"value":6530}," — memory, CPU, event loop (no event loop delay percentiles)",{"type":45,"tag":1379,"props":6532,"children":6533},{},[6534,6538,6542],{"type":45,"tag":1401,"props":6535,"children":6536},{},[6537],{"type":59,"value":1780},{"type":45,"tag":1401,"props":6539,"children":6540},{},[6541],{"type":59,"value":6410},{"type":45,"tag":1401,"props":6543,"children":6544},{},[6545],{"type":45,"tag":106,"props":6546,"children":6548},{"className":6547},[],[6549],{"type":59,"value":6550},"Sentry.withMonitor()",{"type":45,"tag":1379,"props":6552,"children":6553},{},[6554,6558,6562],{"type":45,"tag":1401,"props":6555,"children":6556},{},[6557],{"type":59,"value":1769},{"type":45,"tag":1401,"props":6559,"children":6560},{},[6561],{"type":59,"value":6410},{"type":45,"tag":1401,"props":6563,"children":6564},{},[6565],{"type":59,"value":6566},"OpenAI, Anthropic integrations work",{"type":45,"tag":266,"props":6568,"children":6569},{},[],{"type":45,"tag":2047,"props":6571,"children":6573},{"id":6572},"runtime-deno",[6574],{"type":59,"value":6575},"Runtime: Deno",{"type":45,"tag":46,"props":6577,"children":6578},{},[6579],{"type":45,"tag":50,"props":6580,"children":6581},{},[6582,6587,6589,6594,6596,6609,6611,6617],{"type":45,"tag":177,"props":6583,"children":6584},{},[6585],{"type":59,"value":6586},"No wizard available for Deno.",{"type":59,"value":6588}," Manual setup only.\n",{"type":45,"tag":177,"props":6590,"children":6591},{},[6592],{"type":59,"value":6593},"Requires Deno 2.0+.",{"type":59,"value":6595}," Deno 1.x is not supported.\n",{"type":45,"tag":177,"props":6597,"children":6598},{},[6599,6601,6607],{"type":59,"value":6600},"Use ",{"type":45,"tag":106,"props":6602,"children":6604},{"className":6603},[],[6605],{"type":59,"value":6606},"npm:",{"type":59,"value":6608}," specifier.",{"type":59,"value":6610}," The ",{"type":45,"tag":106,"props":6612,"children":6614},{"className":6613},[],[6615],{"type":59,"value":6616},"deno.land\u002Fx\u002Fsentry",{"type":59,"value":6618}," registry is deprecated.",{"type":45,"tag":2054,"props":6620,"children":6622},{"id":6621},"install-via-denojson-recommended",[6623,6625,6631],{"type":59,"value":6624},"Install via ",{"type":45,"tag":106,"props":6626,"children":6628},{"className":6627},[],[6629],{"type":59,"value":6630},"deno.json",{"type":59,"value":6632}," (Recommended)",{"type":45,"tag":281,"props":6634,"children":6636},{"className":3155,"code":6635,"language":3157,"meta":286,"style":286},"{\n  \"imports\": {\n    \"@sentry\u002Fdeno\": \"npm:@sentry\u002Fdeno@10.42.0\"\n  }\n}\n",[6637],{"type":45,"tag":106,"props":6638,"children":6639},{"__ignoreMap":286},[6640,6647,6671,6703,6710],{"type":45,"tag":292,"props":6641,"children":6642},{"class":294,"line":295},[6643],{"type":45,"tag":292,"props":6644,"children":6645},{"style":321},[6646],{"type":59,"value":2331},{"type":45,"tag":292,"props":6648,"children":6649},{"class":294,"line":305},[6650,6654,6659,6663,6667],{"type":45,"tag":292,"props":6651,"children":6652},{"style":321},[6653],{"type":59,"value":3176},{"type":45,"tag":292,"props":6655,"children":6656},{"style":2254},[6657],{"type":59,"value":6658},"imports",{"type":45,"tag":292,"props":6660,"children":6661},{"style":321},[6662],{"type":59,"value":1181},{"type":45,"tag":292,"props":6664,"children":6665},{"style":321},[6666],{"type":59,"value":2345},{"type":45,"tag":292,"props":6668,"children":6669},{"style":321},[6670],{"type":59,"value":2415},{"type":45,"tag":292,"props":6672,"children":6673},{"class":294,"line":358},[6674,6678,6682,6686,6690,6694,6699],{"type":45,"tag":292,"props":6675,"children":6676},{"style":321},[6677],{"type":59,"value":3201},{"type":45,"tag":292,"props":6679,"children":6680},{"style":309},[6681],{"type":59,"value":127},{"type":45,"tag":292,"props":6683,"children":6684},{"style":321},[6685],{"type":59,"value":1181},{"type":45,"tag":292,"props":6687,"children":6688},{"style":321},[6689],{"type":59,"value":2345},{"type":45,"tag":292,"props":6691,"children":6692},{"style":321},[6693],{"type":59,"value":345},{"type":45,"tag":292,"props":6695,"children":6696},{"style":315},[6697],{"type":59,"value":6698},"npm:@sentry\u002Fdeno@10.42.0",{"type":45,"tag":292,"props":6700,"children":6701},{"style":321},[6702],{"type":59,"value":355},{"type":45,"tag":292,"props":6704,"children":6705},{"class":294,"line":400},[6706],{"type":45,"tag":292,"props":6707,"children":6708},{"style":321},[6709],{"type":59,"value":3272},{"type":45,"tag":292,"props":6711,"children":6712},{"class":294,"line":442},[6713],{"type":45,"tag":292,"props":6714,"children":6715},{"style":321},[6716],{"type":59,"value":3280},{"type":45,"tag":50,"props":6718,"children":6719},{},[6720,6722,6727],{"type":59,"value":6721},"Or import directly with the ",{"type":45,"tag":106,"props":6723,"children":6725},{"className":6724},[],[6726],{"type":59,"value":6606},{"type":59,"value":6728}," specifier:",{"type":45,"tag":281,"props":6730,"children":6732},{"className":5502,"code":6731,"language":5504,"meta":286,"style":286},"import * as Sentry from \"npm:@sentry\u002Fdeno\";\n",[6733],{"type":45,"tag":106,"props":6734,"children":6735},{"__ignoreMap":286},[6736],{"type":45,"tag":292,"props":6737,"children":6738},{"class":294,"line":295},[6739,6743,6747,6751,6755,6759,6763,6767,6771],{"type":45,"tag":292,"props":6740,"children":6741},{"style":2661},[6742],{"type":59,"value":2664},{"type":45,"tag":292,"props":6744,"children":6745},{"style":321},[6746],{"type":59,"value":816},{"type":45,"tag":292,"props":6748,"children":6749},{"style":2661},[6750],{"type":59,"value":2673},{"type":45,"tag":292,"props":6752,"children":6753},{"style":813},[6754],{"type":59,"value":2262},{"type":45,"tag":292,"props":6756,"children":6757},{"style":2661},[6758],{"type":59,"value":2682},{"type":45,"tag":292,"props":6760,"children":6761},{"style":321},[6762],{"type":59,"value":345},{"type":45,"tag":292,"props":6764,"children":6765},{"style":315},[6766],{"type":59,"value":164},{"type":45,"tag":292,"props":6768,"children":6769},{"style":321},[6770],{"type":59,"value":1181},{"type":45,"tag":292,"props":6772,"children":6773},{"style":321},[6774],{"type":59,"value":2299},{"type":45,"tag":2054,"props":6776,"children":6778},{"id":6777},"initialize-add-to-entry-file",[6779],{"type":59,"value":6780},"Initialize — Add to Entry File",{"type":45,"tag":281,"props":6782,"children":6784},{"className":5502,"code":6783,"language":5504,"meta":286,"style":286},"\u002F\u002F main.ts — Sentry.init() must be called before any other code\nimport * as Sentry from \"@sentry\u002Fdeno\";\n\nSentry.init({\n  dsn: Deno.env.get(\"SENTRY_DSN\") ?? \"___DSN___\",\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnode\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n  tracesSampleRate: Deno.env.get(\"DENO_ENV\") === \"development\" ? 1.0 : 0.1,\n  enableLogs: true,\n});\n\n\u002F\u002F Your application code follows\nDeno.serve({ port: 8000 }, (req) => {\n  return new Response(\"Hello from Deno!\");\n});\n",[6785],{"type":45,"tag":106,"props":6786,"children":6787},{"__ignoreMap":286},[6788,6796,6835,6842,6865,6939,6946,6961,6968,6975,6982,6989,6996,7084,7103,7118,7125,7133,7195,7236],{"type":45,"tag":292,"props":6789,"children":6790},{"class":294,"line":295},[6791],{"type":45,"tag":292,"props":6792,"children":6793},{"style":299},[6794],{"type":59,"value":6795},"\u002F\u002F main.ts — Sentry.init() must be called before any other code\n",{"type":45,"tag":292,"props":6797,"children":6798},{"class":294,"line":305},[6799,6803,6807,6811,6815,6819,6823,6827,6831],{"type":45,"tag":292,"props":6800,"children":6801},{"style":2661},[6802],{"type":59,"value":2664},{"type":45,"tag":292,"props":6804,"children":6805},{"style":321},[6806],{"type":59,"value":816},{"type":45,"tag":292,"props":6808,"children":6809},{"style":2661},[6810],{"type":59,"value":2673},{"type":45,"tag":292,"props":6812,"children":6813},{"style":813},[6814],{"type":59,"value":2262},{"type":45,"tag":292,"props":6816,"children":6817},{"style":2661},[6818],{"type":59,"value":2682},{"type":45,"tag":292,"props":6820,"children":6821},{"style":321},[6822],{"type":59,"value":345},{"type":45,"tag":292,"props":6824,"children":6825},{"style":315},[6826],{"type":59,"value":127},{"type":45,"tag":292,"props":6828,"children":6829},{"style":321},[6830],{"type":59,"value":1181},{"type":45,"tag":292,"props":6832,"children":6833},{"style":321},[6834],{"type":59,"value":2299},{"type":45,"tag":292,"props":6836,"children":6837},{"class":294,"line":358},[6838],{"type":45,"tag":292,"props":6839,"children":6840},{"emptyLinePlaceholder":40},[6841],{"type":59,"value":448},{"type":45,"tag":292,"props":6843,"children":6844},{"class":294,"line":400},[6845,6849,6853,6857,6861],{"type":45,"tag":292,"props":6846,"children":6847},{"style":813},[6848],{"type":59,"value":9},{"type":45,"tag":292,"props":6850,"children":6851},{"style":321},[6852],{"type":59,"value":2110},{"type":45,"tag":292,"props":6854,"children":6855},{"style":337},[6856],{"type":59,"value":2322},{"type":45,"tag":292,"props":6858,"children":6859},{"style":813},[6860],{"type":59,"value":2277},{"type":45,"tag":292,"props":6862,"children":6863},{"style":321},[6864],{"type":59,"value":2331},{"type":45,"tag":292,"props":6866,"children":6867},{"class":294,"line":442},[6868,6872,6876,6881,6885,6889,6893,6898,6902,6906,6911,6915,6919,6923,6927,6931,6935],{"type":45,"tag":292,"props":6869,"children":6870},{"style":2337},[6871],{"type":59,"value":2340},{"type":45,"tag":292,"props":6873,"children":6874},{"style":321},[6875],{"type":59,"value":2345},{"type":45,"tag":292,"props":6877,"children":6878},{"style":813},[6879],{"type":59,"value":6880}," Deno",{"type":45,"tag":292,"props":6882,"children":6883},{"style":321},[6884],{"type":59,"value":2110},{"type":45,"tag":292,"props":6886,"children":6887},{"style":813},[6888],{"type":59,"value":2359},{"type":45,"tag":292,"props":6890,"children":6891},{"style":321},[6892],{"type":59,"value":2110},{"type":45,"tag":292,"props":6894,"children":6895},{"style":337},[6896],{"type":59,"value":6897},"get",{"type":45,"tag":292,"props":6899,"children":6900},{"style":813},[6901],{"type":59,"value":2277},{"type":45,"tag":292,"props":6903,"children":6904},{"style":321},[6905],{"type":59,"value":1181},{"type":45,"tag":292,"props":6907,"children":6908},{"style":315},[6909],{"type":59,"value":6910},"SENTRY_DSN",{"type":45,"tag":292,"props":6912,"children":6913},{"style":321},[6914],{"type":59,"value":1181},{"type":45,"tag":292,"props":6916,"children":6917},{"style":813},[6918],{"type":59,"value":5013},{"type":45,"tag":292,"props":6920,"children":6921},{"style":321},[6922],{"type":59,"value":2373},{"type":45,"tag":292,"props":6924,"children":6925},{"style":321},[6926],{"type":59,"value":345},{"type":45,"tag":292,"props":6928,"children":6929},{"style":315},[6930],{"type":59,"value":2382},{"type":45,"tag":292,"props":6932,"children":6933},{"style":321},[6934],{"type":59,"value":1181},{"type":45,"tag":292,"props":6936,"children":6937},{"style":321},[6938],{"type":59,"value":2391},{"type":45,"tag":292,"props":6940,"children":6941},{"class":294,"line":451},[6942],{"type":45,"tag":292,"props":6943,"children":6944},{"emptyLinePlaceholder":40},[6945],{"type":59,"value":448},{"type":45,"tag":292,"props":6947,"children":6948},{"class":294,"line":460},[6949,6953,6957],{"type":45,"tag":292,"props":6950,"children":6951},{"style":2337},[6952],{"type":59,"value":2406},{"type":45,"tag":292,"props":6954,"children":6955},{"style":321},[6956],{"type":59,"value":2345},{"type":45,"tag":292,"props":6958,"children":6959},{"style":321},[6960],{"type":59,"value":2415},{"type":45,"tag":292,"props":6962,"children":6963},{"class":294,"line":512},[6964],{"type":45,"tag":292,"props":6965,"children":6966},{"style":299},[6967],{"type":59,"value":2423},{"type":45,"tag":292,"props":6969,"children":6970},{"class":294,"line":556},[6971],{"type":45,"tag":292,"props":6972,"children":6973},{"style":299},[6974],{"type":59,"value":2431},{"type":45,"tag":292,"props":6976,"children":6977},{"class":294,"line":564},[6978],{"type":45,"tag":292,"props":6979,"children":6980},{"style":299},[6981],{"type":59,"value":2439},{"type":45,"tag":292,"props":6983,"children":6984},{"class":294,"line":573},[6985],{"type":45,"tag":292,"props":6986,"children":6987},{"style":299},[6988],{"type":59,"value":2447},{"type":45,"tag":292,"props":6990,"children":6991},{"class":294,"line":618},[6992],{"type":45,"tag":292,"props":6993,"children":6994},{"style":321},[6995],{"type":59,"value":2455},{"type":45,"tag":292,"props":6997,"children":6998},{"class":294,"line":626},[6999,7003,7007,7011,7015,7019,7023,7027,7031,7035,7040,7044,7048,7052,7056,7060,7064,7068,7072,7076,7080],{"type":45,"tag":292,"props":7000,"children":7001},{"style":2337},[7002],{"type":59,"value":2478},{"type":45,"tag":292,"props":7004,"children":7005},{"style":321},[7006],{"type":59,"value":2345},{"type":45,"tag":292,"props":7008,"children":7009},{"style":813},[7010],{"type":59,"value":6880},{"type":45,"tag":292,"props":7012,"children":7013},{"style":321},[7014],{"type":59,"value":2110},{"type":45,"tag":292,"props":7016,"children":7017},{"style":813},[7018],{"type":59,"value":2359},{"type":45,"tag":292,"props":7020,"children":7021},{"style":321},[7022],{"type":59,"value":2110},{"type":45,"tag":292,"props":7024,"children":7025},{"style":337},[7026],{"type":59,"value":6897},{"type":45,"tag":292,"props":7028,"children":7029},{"style":813},[7030],{"type":59,"value":2277},{"type":45,"tag":292,"props":7032,"children":7033},{"style":321},[7034],{"type":59,"value":1181},{"type":45,"tag":292,"props":7036,"children":7037},{"style":315},[7038],{"type":59,"value":7039},"DENO_ENV",{"type":45,"tag":292,"props":7041,"children":7042},{"style":321},[7043],{"type":59,"value":1181},{"type":45,"tag":292,"props":7045,"children":7046},{"style":813},[7047],{"type":59,"value":5013},{"type":45,"tag":292,"props":7049,"children":7050},{"style":321},[7051],{"type":59,"value":2508},{"type":45,"tag":292,"props":7053,"children":7054},{"style":321},[7055],{"type":59,"value":345},{"type":45,"tag":292,"props":7057,"children":7058},{"style":315},[7059],{"type":59,"value":2517},{"type":45,"tag":292,"props":7061,"children":7062},{"style":321},[7063],{"type":59,"value":1181},{"type":45,"tag":292,"props":7065,"children":7066},{"style":321},[7067],{"type":59,"value":2526},{"type":45,"tag":292,"props":7069,"children":7070},{"style":2529},[7071],{"type":59,"value":2532},{"type":45,"tag":292,"props":7073,"children":7074},{"style":321},[7075],{"type":59,"value":2537},{"type":45,"tag":292,"props":7077,"children":7078},{"style":2529},[7079],{"type":59,"value":2542},{"type":45,"tag":292,"props":7081,"children":7082},{"style":321},[7083],{"type":59,"value":2391},{"type":45,"tag":292,"props":7085,"children":7086},{"class":294,"line":635},[7087,7091,7095,7099],{"type":45,"tag":292,"props":7088,"children":7089},{"style":2337},[7090],{"type":59,"value":2598},{"type":45,"tag":292,"props":7092,"children":7093},{"style":321},[7094],{"type":59,"value":2345},{"type":45,"tag":292,"props":7096,"children":7097},{"style":2576},[7098],{"type":59,"value":2579},{"type":45,"tag":292,"props":7100,"children":7101},{"style":321},[7102],{"type":59,"value":2391},{"type":45,"tag":292,"props":7104,"children":7105},{"class":294,"line":680},[7106,7110,7114],{"type":45,"tag":292,"props":7107,"children":7108},{"style":321},[7109],{"type":59,"value":2618},{"type":45,"tag":292,"props":7111,"children":7112},{"style":813},[7113],{"type":59,"value":2294},{"type":45,"tag":292,"props":7115,"children":7116},{"style":321},[7117],{"type":59,"value":2299},{"type":45,"tag":292,"props":7119,"children":7120},{"class":294,"line":688},[7121],{"type":45,"tag":292,"props":7122,"children":7123},{"emptyLinePlaceholder":40},[7124],{"type":59,"value":448},{"type":45,"tag":292,"props":7126,"children":7127},{"class":294,"line":697},[7128],{"type":45,"tag":292,"props":7129,"children":7130},{"style":299},[7131],{"type":59,"value":7132},"\u002F\u002F Your application code follows\n",{"type":45,"tag":292,"props":7134,"children":7135},{"class":294,"line":746},[7136,7141,7145,7149,7153,7157,7161,7165,7170,7175,7179,7183,7187,7191],{"type":45,"tag":292,"props":7137,"children":7138},{"style":813},[7139],{"type":59,"value":7140},"Deno",{"type":45,"tag":292,"props":7142,"children":7143},{"style":321},[7144],{"type":59,"value":2110},{"type":45,"tag":292,"props":7146,"children":7147},{"style":337},[7148],{"type":59,"value":6046},{"type":45,"tag":292,"props":7150,"children":7151},{"style":813},[7152],{"type":59,"value":2277},{"type":45,"tag":292,"props":7154,"children":7155},{"style":321},[7156],{"type":59,"value":3847},{"type":45,"tag":292,"props":7158,"children":7159},{"style":2337},[7160],{"type":59,"value":3852},{"type":45,"tag":292,"props":7162,"children":7163},{"style":321},[7164],{"type":59,"value":2345},{"type":45,"tag":292,"props":7166,"children":7167},{"style":2529},[7168],{"type":59,"value":7169}," 8000",{"type":45,"tag":292,"props":7171,"children":7172},{"style":321},[7173],{"type":59,"value":7174}," },",{"type":45,"tag":292,"props":7176,"children":7177},{"style":321},[7178],{"type":59,"value":1594},{"type":45,"tag":292,"props":7180,"children":7181},{"style":4865},[7182],{"type":59,"value":4868},{"type":45,"tag":292,"props":7184,"children":7185},{"style":321},[7186],{"type":59,"value":2294},{"type":45,"tag":292,"props":7188,"children":7189},{"style":2254},[7190],{"type":59,"value":4887},{"type":45,"tag":292,"props":7192,"children":7193},{"style":321},[7194],{"type":59,"value":2415},{"type":45,"tag":292,"props":7196,"children":7197},{"class":294,"line":754},[7198,7203,7207,7211,7215,7219,7224,7228,7232],{"type":45,"tag":292,"props":7199,"children":7200},{"style":2661},[7201],{"type":59,"value":7202},"  return",{"type":45,"tag":292,"props":7204,"children":7205},{"style":321},[7206],{"type":59,"value":4004},{"type":45,"tag":292,"props":7208,"children":7209},{"style":337},[7210],{"type":59,"value":6115},{"type":45,"tag":292,"props":7212,"children":7213},{"style":2337},[7214],{"type":59,"value":2277},{"type":45,"tag":292,"props":7216,"children":7217},{"style":321},[7218],{"type":59,"value":1181},{"type":45,"tag":292,"props":7220,"children":7221},{"style":315},[7222],{"type":59,"value":7223},"Hello from Deno!",{"type":45,"tag":292,"props":7225,"children":7226},{"style":321},[7227],{"type":59,"value":1181},{"type":45,"tag":292,"props":7229,"children":7230},{"style":2337},[7231],{"type":59,"value":2294},{"type":45,"tag":292,"props":7233,"children":7234},{"style":321},[7235],{"type":59,"value":2299},{"type":45,"tag":292,"props":7237,"children":7238},{"class":294,"line":763},[7239,7243,7247],{"type":45,"tag":292,"props":7240,"children":7241},{"style":321},[7242],{"type":59,"value":2618},{"type":45,"tag":292,"props":7244,"children":7245},{"style":813},[7246],{"type":59,"value":2294},{"type":45,"tag":292,"props":7248,"children":7249},{"style":321},[7250],{"type":59,"value":2299},{"type":45,"tag":46,"props":7252,"children":7253},{},[7254],{"type":45,"tag":50,"props":7255,"children":7256},{},[7257,7259,7264,7265,7270,7272,7277],{"type":59,"value":7258},"Unlike Node.js and Bun, Deno does not have a ",{"type":45,"tag":106,"props":7260,"children":7262},{"className":7261},[],[7263],{"type":59,"value":5806},{"type":59,"value":1602},{"type":45,"tag":106,"props":7266,"children":7268},{"className":7267},[],[7269],{"type":59,"value":3109},{"type":59,"value":7271}," flag. Sentry must be the first ",{"type":45,"tag":106,"props":7273,"children":7275},{"className":7274},[],[7276],{"type":59,"value":2664},{"type":59,"value":7278}," in your entry file.",{"type":45,"tag":2054,"props":7280,"children":7282},{"id":7281},"required-deno-permissions",[7283],{"type":59,"value":7284},"Required Deno Permissions",{"type":45,"tag":50,"props":7286,"children":7287},{},[7288],{"type":59,"value":7289},"The SDK requires network access to reach your Sentry ingest domain:",{"type":45,"tag":281,"props":7291,"children":7293},{"className":283,"code":7292,"language":285,"meta":286,"style":286},"deno run \\\n  --allow-net=o\u003CORG_ID>.ingest.sentry.io \\\n  --allow-read=.\u002Fsrc \\\n  --allow-env=SENTRY_DSN,SENTRY_RELEASE \\\n  main.ts\n",[7294],{"type":45,"tag":106,"props":7295,"children":7296},{"__ignoreMap":286},[7297,7313,7345,7357,7369],{"type":45,"tag":292,"props":7298,"children":7299},{"class":294,"line":295},[7300,7304,7309],{"type":45,"tag":292,"props":7301,"children":7302},{"style":309},[7303],{"type":59,"value":364},{"type":45,"tag":292,"props":7305,"children":7306},{"style":315},[7307],{"type":59,"value":7308}," run",{"type":45,"tag":292,"props":7310,"children":7311},{"style":813},[7312],{"type":59,"value":1186},{"type":45,"tag":292,"props":7314,"children":7315},{"class":294,"line":305},[7316,7321,7326,7331,7336,7341],{"type":45,"tag":292,"props":7317,"children":7318},{"style":315},[7319],{"type":59,"value":7320},"  --allow-net=o",{"type":45,"tag":292,"props":7322,"children":7323},{"style":321},[7324],{"type":59,"value":7325},"\u003C",{"type":45,"tag":292,"props":7327,"children":7328},{"style":315},[7329],{"type":59,"value":7330},"ORG_ID",{"type":45,"tag":292,"props":7332,"children":7333},{"style":321},[7334],{"type":59,"value":7335},">",{"type":45,"tag":292,"props":7337,"children":7338},{"style":315},[7339],{"type":59,"value":7340},".ingest.sentry.io",{"type":45,"tag":292,"props":7342,"children":7343},{"style":813},[7344],{"type":59,"value":1186},{"type":45,"tag":292,"props":7346,"children":7347},{"class":294,"line":358},[7348,7353],{"type":45,"tag":292,"props":7349,"children":7350},{"style":315},[7351],{"type":59,"value":7352},"  --allow-read=.\u002Fsrc",{"type":45,"tag":292,"props":7354,"children":7355},{"style":813},[7356],{"type":59,"value":1186},{"type":45,"tag":292,"props":7358,"children":7359},{"class":294,"line":400},[7360,7365],{"type":45,"tag":292,"props":7361,"children":7362},{"style":315},[7363],{"type":59,"value":7364},"  --allow-env=SENTRY_DSN,SENTRY_RELEASE",{"type":45,"tag":292,"props":7366,"children":7367},{"style":813},[7368],{"type":59,"value":1186},{"type":45,"tag":292,"props":7370,"children":7371},{"class":294,"line":442},[7372],{"type":45,"tag":292,"props":7373,"children":7374},{"style":315},[7375],{"type":59,"value":7376},"  main.ts\n",{"type":45,"tag":50,"props":7378,"children":7379},{},[7380,7382,7388],{"type":59,"value":7381},"For development, ",{"type":45,"tag":106,"props":7383,"children":7385},{"className":7384},[],[7386],{"type":59,"value":7387},"--allow-all",{"type":59,"value":7389}," works but is not recommended for production.",{"type":45,"tag":2054,"props":7391,"children":7393},{"id":7392},"deno-cron-integration",[7394],{"type":59,"value":7395},"Deno Cron Integration",{"type":45,"tag":50,"props":7397,"children":7398},{},[7399,7401,7407],{"type":59,"value":7400},"Deno provides native cron scheduling. Use ",{"type":45,"tag":106,"props":7402,"children":7404},{"className":7403},[],[7405],{"type":59,"value":7406},"denoCronIntegration",{"type":59,"value":7408}," for automatic monitoring:",{"type":45,"tag":281,"props":7410,"children":7412},{"className":5502,"code":7411,"language":5504,"meta":286,"style":286},"import * as Sentry from \"@sentry\u002Fdeno\";\nimport { denoCronIntegration } from \"@sentry\u002Fdeno\";\n\nSentry.init({\n  dsn: Deno.env.get(\"SENTRY_DSN\") ?? \"___DSN___\",\n  integrations: [denoCronIntegration()],\n});\n\n\u002F\u002F Cron is automatically monitored\nDeno.cron(\"daily-cleanup\", \"0 0 * * *\", () => {\n  \u002F\u002F cleanup logic\n});\n",[7413],{"type":45,"tag":106,"props":7414,"children":7415},{"__ignoreMap":286},[7416,7455,7497,7504,7527,7598,7628,7643,7650,7658,7725,7733],{"type":45,"tag":292,"props":7417,"children":7418},{"class":294,"line":295},[7419,7423,7427,7431,7435,7439,7443,7447,7451],{"type":45,"tag":292,"props":7420,"children":7421},{"style":2661},[7422],{"type":59,"value":2664},{"type":45,"tag":292,"props":7424,"children":7425},{"style":321},[7426],{"type":59,"value":816},{"type":45,"tag":292,"props":7428,"children":7429},{"style":2661},[7430],{"type":59,"value":2673},{"type":45,"tag":292,"props":7432,"children":7433},{"style":813},[7434],{"type":59,"value":2262},{"type":45,"tag":292,"props":7436,"children":7437},{"style":2661},[7438],{"type":59,"value":2682},{"type":45,"tag":292,"props":7440,"children":7441},{"style":321},[7442],{"type":59,"value":345},{"type":45,"tag":292,"props":7444,"children":7445},{"style":315},[7446],{"type":59,"value":127},{"type":45,"tag":292,"props":7448,"children":7449},{"style":321},[7450],{"type":59,"value":1181},{"type":45,"tag":292,"props":7452,"children":7453},{"style":321},[7454],{"type":59,"value":2299},{"type":45,"tag":292,"props":7456,"children":7457},{"class":294,"line":305},[7458,7462,7467,7472,7476,7481,7485,7489,7493],{"type":45,"tag":292,"props":7459,"children":7460},{"style":2661},[7461],{"type":59,"value":2664},{"type":45,"tag":292,"props":7463,"children":7464},{"style":321},[7465],{"type":59,"value":7466}," {",{"type":45,"tag":292,"props":7468,"children":7469},{"style":813},[7470],{"type":59,"value":7471}," denoCronIntegration",{"type":45,"tag":292,"props":7473,"children":7474},{"style":321},[7475],{"type":59,"value":3866},{"type":45,"tag":292,"props":7477,"children":7478},{"style":2661},[7479],{"type":59,"value":7480}," from",{"type":45,"tag":292,"props":7482,"children":7483},{"style":321},[7484],{"type":59,"value":345},{"type":45,"tag":292,"props":7486,"children":7487},{"style":315},[7488],{"type":59,"value":127},{"type":45,"tag":292,"props":7490,"children":7491},{"style":321},[7492],{"type":59,"value":1181},{"type":45,"tag":292,"props":7494,"children":7495},{"style":321},[7496],{"type":59,"value":2299},{"type":45,"tag":292,"props":7498,"children":7499},{"class":294,"line":358},[7500],{"type":45,"tag":292,"props":7501,"children":7502},{"emptyLinePlaceholder":40},[7503],{"type":59,"value":448},{"type":45,"tag":292,"props":7505,"children":7506},{"class":294,"line":400},[7507,7511,7515,7519,7523],{"type":45,"tag":292,"props":7508,"children":7509},{"style":813},[7510],{"type":59,"value":9},{"type":45,"tag":292,"props":7512,"children":7513},{"style":321},[7514],{"type":59,"value":2110},{"type":45,"tag":292,"props":7516,"children":7517},{"style":337},[7518],{"type":59,"value":2322},{"type":45,"tag":292,"props":7520,"children":7521},{"style":813},[7522],{"type":59,"value":2277},{"type":45,"tag":292,"props":7524,"children":7525},{"style":321},[7526],{"type":59,"value":2331},{"type":45,"tag":292,"props":7528,"children":7529},{"class":294,"line":442},[7530,7534,7538,7542,7546,7550,7554,7558,7562,7566,7570,7574,7578,7582,7586,7590,7594],{"type":45,"tag":292,"props":7531,"children":7532},{"style":2337},[7533],{"type":59,"value":2340},{"type":45,"tag":292,"props":7535,"children":7536},{"style":321},[7537],{"type":59,"value":2345},{"type":45,"tag":292,"props":7539,"children":7540},{"style":813},[7541],{"type":59,"value":6880},{"type":45,"tag":292,"props":7543,"children":7544},{"style":321},[7545],{"type":59,"value":2110},{"type":45,"tag":292,"props":7547,"children":7548},{"style":813},[7549],{"type":59,"value":2359},{"type":45,"tag":292,"props":7551,"children":7552},{"style":321},[7553],{"type":59,"value":2110},{"type":45,"tag":292,"props":7555,"children":7556},{"style":337},[7557],{"type":59,"value":6897},{"type":45,"tag":292,"props":7559,"children":7560},{"style":813},[7561],{"type":59,"value":2277},{"type":45,"tag":292,"props":7563,"children":7564},{"style":321},[7565],{"type":59,"value":1181},{"type":45,"tag":292,"props":7567,"children":7568},{"style":315},[7569],{"type":59,"value":6910},{"type":45,"tag":292,"props":7571,"children":7572},{"style":321},[7573],{"type":59,"value":1181},{"type":45,"tag":292,"props":7575,"children":7576},{"style":813},[7577],{"type":59,"value":5013},{"type":45,"tag":292,"props":7579,"children":7580},{"style":321},[7581],{"type":59,"value":2373},{"type":45,"tag":292,"props":7583,"children":7584},{"style":321},[7585],{"type":59,"value":345},{"type":45,"tag":292,"props":7587,"children":7588},{"style":315},[7589],{"type":59,"value":2382},{"type":45,"tag":292,"props":7591,"children":7592},{"style":321},[7593],{"type":59,"value":1181},{"type":45,"tag":292,"props":7595,"children":7596},{"style":321},[7597],{"type":59,"value":2391},{"type":45,"tag":292,"props":7599,"children":7600},{"class":294,"line":451},[7601,7606,7610,7615,7619,7624],{"type":45,"tag":292,"props":7602,"children":7603},{"style":2337},[7604],{"type":59,"value":7605},"  integrations",{"type":45,"tag":292,"props":7607,"children":7608},{"style":321},[7609],{"type":59,"value":2345},{"type":45,"tag":292,"props":7611,"children":7612},{"style":813},[7613],{"type":59,"value":7614}," [",{"type":45,"tag":292,"props":7616,"children":7617},{"style":337},[7618],{"type":59,"value":7406},{"type":45,"tag":292,"props":7620,"children":7621},{"style":813},[7622],{"type":59,"value":7623},"()]",{"type":45,"tag":292,"props":7625,"children":7626},{"style":321},[7627],{"type":59,"value":2391},{"type":45,"tag":292,"props":7629,"children":7630},{"class":294,"line":460},[7631,7635,7639],{"type":45,"tag":292,"props":7632,"children":7633},{"style":321},[7634],{"type":59,"value":2618},{"type":45,"tag":292,"props":7636,"children":7637},{"style":813},[7638],{"type":59,"value":2294},{"type":45,"tag":292,"props":7640,"children":7641},{"style":321},[7642],{"type":59,"value":2299},{"type":45,"tag":292,"props":7644,"children":7645},{"class":294,"line":512},[7646],{"type":45,"tag":292,"props":7647,"children":7648},{"emptyLinePlaceholder":40},[7649],{"type":59,"value":448},{"type":45,"tag":292,"props":7651,"children":7652},{"class":294,"line":556},[7653],{"type":45,"tag":292,"props":7654,"children":7655},{"style":299},[7656],{"type":59,"value":7657},"\u002F\u002F Cron is automatically monitored\n",{"type":45,"tag":292,"props":7659,"children":7660},{"class":294,"line":564},[7661,7665,7669,7674,7678,7682,7687,7691,7695,7699,7704,7708,7712,7717,7721],{"type":45,"tag":292,"props":7662,"children":7663},{"style":813},[7664],{"type":59,"value":7140},{"type":45,"tag":292,"props":7666,"children":7667},{"style":321},[7668],{"type":59,"value":2110},{"type":45,"tag":292,"props":7670,"children":7671},{"style":337},[7672],{"type":59,"value":7673},"cron",{"type":45,"tag":292,"props":7675,"children":7676},{"style":813},[7677],{"type":59,"value":2277},{"type":45,"tag":292,"props":7679,"children":7680},{"style":321},[7681],{"type":59,"value":1181},{"type":45,"tag":292,"props":7683,"children":7684},{"style":315},[7685],{"type":59,"value":7686},"daily-cleanup",{"type":45,"tag":292,"props":7688,"children":7689},{"style":321},[7690],{"type":59,"value":1181},{"type":45,"tag":292,"props":7692,"children":7693},{"style":321},[7694],{"type":59,"value":4873},{"type":45,"tag":292,"props":7696,"children":7697},{"style":321},[7698],{"type":59,"value":345},{"type":45,"tag":292,"props":7700,"children":7701},{"style":315},[7702],{"type":59,"value":7703},"0 0 * * *",{"type":45,"tag":292,"props":7705,"children":7706},{"style":321},[7707],{"type":59,"value":1181},{"type":45,"tag":292,"props":7709,"children":7710},{"style":321},[7711],{"type":59,"value":4873},{"type":45,"tag":292,"props":7713,"children":7714},{"style":321},[7715],{"type":59,"value":7716}," ()",{"type":45,"tag":292,"props":7718,"children":7719},{"style":2254},[7720],{"type":59,"value":4887},{"type":45,"tag":292,"props":7722,"children":7723},{"style":321},[7724],{"type":59,"value":2415},{"type":45,"tag":292,"props":7726,"children":7727},{"class":294,"line":573},[7728],{"type":45,"tag":292,"props":7729,"children":7730},{"style":299},[7731],{"type":59,"value":7732},"  \u002F\u002F cleanup logic\n",{"type":45,"tag":292,"props":7734,"children":7735},{"class":294,"line":618},[7736,7740,7744],{"type":45,"tag":292,"props":7737,"children":7738},{"style":321},[7739],{"type":59,"value":2618},{"type":45,"tag":292,"props":7741,"children":7742},{"style":813},[7743],{"type":59,"value":2294},{"type":45,"tag":292,"props":7745,"children":7746},{"style":321},[7747],{"type":59,"value":2299},{"type":45,"tag":2054,"props":7749,"children":7751},{"id":7750},"deno-feature-support",[7752],{"type":59,"value":7753},"Deno Feature Support",{"type":45,"tag":1371,"props":7755,"children":7756},{},[7757,7776],{"type":45,"tag":1375,"props":7758,"children":7759},{},[7760],{"type":45,"tag":1379,"props":7761,"children":7762},{},[7763,7767,7772],{"type":45,"tag":1383,"props":7764,"children":7765},{},[7766],{"type":59,"value":1842},{"type":45,"tag":1383,"props":7768,"children":7769},{},[7770],{"type":59,"value":7771},"Deno Support",{"type":45,"tag":1383,"props":7773,"children":7774},{},[7775],{"type":59,"value":6395},{"type":45,"tag":1394,"props":7777,"children":7778},{},[7779,7800,7831,7856,7872,7891,7907,7933],{"type":45,"tag":1379,"props":7780,"children":7781},{},[7782,7786,7790],{"type":45,"tag":1401,"props":7783,"children":7784},{},[7785],{"type":59,"value":1677},{"type":45,"tag":1401,"props":7787,"children":7788},{},[7789],{"type":59,"value":6410},{"type":45,"tag":1401,"props":7791,"children":7792},{},[7793,7795],{"type":59,"value":7794},"Unhandled exceptions + ",{"type":45,"tag":106,"props":7796,"children":7798},{"className":7797},[],[7799],{"type":59,"value":5034},{"type":45,"tag":1379,"props":7801,"children":7802},{},[7803,7807,7812],{"type":45,"tag":1401,"props":7804,"children":7805},{},[7806],{"type":59,"value":1688},{"type":45,"tag":1401,"props":7808,"children":7809},{},[7810],{"type":59,"value":7811},"✅ Custom OTel",{"type":45,"tag":1401,"props":7813,"children":7814},{},[7815,7817,7823,7825],{"type":59,"value":7816},"Automatic spans for ",{"type":45,"tag":106,"props":7818,"children":7820},{"className":7819},[],[7821],{"type":59,"value":7822},"Deno.serve()",{"type":59,"value":7824}," and ",{"type":45,"tag":106,"props":7826,"children":7828},{"className":7827},[],[7829],{"type":59,"value":7830},"fetch",{"type":45,"tag":1379,"props":7832,"children":7833},{},[7834,7838,7842],{"type":45,"tag":1401,"props":7835,"children":7836},{},[7837],{"type":59,"value":1711},{"type":45,"tag":1401,"props":7839,"children":7840},{},[7841],{"type":59,"value":6410},{"type":45,"tag":1401,"props":7843,"children":7844},{},[7845,7850,7851],{"type":45,"tag":106,"props":7846,"children":7848},{"className":7847},[],[7849],{"type":59,"value":6459},{"type":59,"value":6461},{"type":45,"tag":106,"props":7852,"children":7854},{"className":7853},[],[7855],{"type":59,"value":1719},{"type":45,"tag":1379,"props":7857,"children":7858},{},[7859,7863,7867],{"type":45,"tag":1401,"props":7860,"children":7861},{},[7862],{"type":59,"value":1753},{"type":45,"tag":1401,"props":7864,"children":7865},{},[7866],{"type":59,"value":6478},{"type":45,"tag":1401,"props":7868,"children":7869},{},[7870],{"type":59,"value":7871},"No profiling addon for Deno",{"type":45,"tag":1379,"props":7873,"children":7874},{},[7875,7879,7883],{"type":45,"tag":1401,"props":7876,"children":7877},{},[7878],{"type":59,"value":1791},{"type":45,"tag":1401,"props":7880,"children":7881},{},[7882],{"type":59,"value":6410},{"type":45,"tag":1401,"props":7884,"children":7885},{},[7886],{"type":45,"tag":106,"props":7887,"children":7889},{"className":7888},[],[7890],{"type":59,"value":6509},{"type":45,"tag":1379,"props":7892,"children":7893},{},[7894,7898,7902],{"type":45,"tag":1401,"props":7895,"children":7896},{},[7897],{"type":59,"value":1802},{"type":45,"tag":1401,"props":7899,"children":7900},{},[7901],{"type":59,"value":6478},{"type":45,"tag":1401,"props":7903,"children":7904},{},[7905],{"type":59,"value":7906},"No runtime metrics integration for Deno",{"type":45,"tag":1379,"props":7908,"children":7909},{},[7910,7914,7918],{"type":45,"tag":1401,"props":7911,"children":7912},{},[7913],{"type":59,"value":1780},{"type":45,"tag":1401,"props":7915,"children":7916},{},[7917],{"type":59,"value":6410},{"type":45,"tag":1401,"props":7919,"children":7920},{},[7921,7927,7928],{"type":45,"tag":106,"props":7922,"children":7924},{"className":7923},[],[7925],{"type":59,"value":7926},"denoCronIntegration()",{"type":59,"value":6461},{"type":45,"tag":106,"props":7929,"children":7931},{"className":7930},[],[7932],{"type":59,"value":6550},{"type":45,"tag":1379,"props":7934,"children":7935},{},[7936,7940,7945],{"type":45,"tag":1401,"props":7937,"children":7938},{},[7939],{"type":59,"value":1769},{"type":45,"tag":1401,"props":7941,"children":7942},{},[7943],{"type":59,"value":7944},"✅ Partial",{"type":45,"tag":1401,"props":7946,"children":7947},{},[7948,7950],{"type":59,"value":7949},"Vercel AI SDK integration works; OpenAI\u002FAnthropic via ",{"type":45,"tag":106,"props":7951,"children":7953},{"className":7952},[],[7954],{"type":59,"value":6606},{"type":45,"tag":266,"props":7956,"children":7957},{},[],{"type":45,"tag":2047,"props":7959,"children":7961},{"id":7960},"otlp-integration-otel-first-projects-nodejs-only",[7962],{"type":59,"value":7963},"OTLP Integration (OTel-First Projects — Node.js Only)",{"type":45,"tag":46,"props":7965,"children":7966},{},[7967],{"type":45,"tag":50,"props":7968,"children":7969},{},[7970,7972,7977,7979,7984,7985,7990,7991,7996,7998,8003],{"type":59,"value":7971},"Use this path ",{"type":45,"tag":177,"props":7973,"children":7974},{},[7975],{"type":59,"value":7976},"only when OpenTelemetry tracing was detected",{"type":59,"value":7978}," in Phase 1\n(e.g., ",{"type":45,"tag":106,"props":7980,"children":7982},{"className":7981},[],[7983],{"type":59,"value":1600},{"type":59,"value":1602},{"type":45,"tag":106,"props":7986,"children":7988},{"className":7987},[],[7989],{"type":59,"value":1608},{"type":59,"value":1610},{"type":45,"tag":106,"props":7992,"children":7994},{"className":7993},[],[7995],{"type":59,"value":1616},{"type":59,"value":7997},").\nFor projects without an existing OTel setup, use the standard ",{"type":45,"tag":106,"props":7999,"children":8001},{"className":8000},[],[8002],{"type":59,"value":111},{"type":59,"value":8004}," path above.",{"type":45,"tag":50,"props":8006,"children":8007},{},[8008,8010,8015,8017,8023],{"type":59,"value":8009},"The OTLP integration uses ",{"type":45,"tag":106,"props":8011,"children":8013},{"className":8012},[],[8014],{"type":59,"value":1639},{"type":59,"value":8016}," — a lightweight Sentry SDK that does not bundle its own OpenTelemetry. Instead, it hooks into the user's existing OTel ",{"type":45,"tag":106,"props":8018,"children":8020},{"className":8019},[],[8021],{"type":59,"value":8022},"TracerProvider",{"type":59,"value":8024}," and exports spans to Sentry via OTLP.",{"type":45,"tag":2054,"props":8026,"children":8028},{"id":8027},"when-to-use",[8029],{"type":59,"value":8030},"When to Use",{"type":45,"tag":1371,"props":8032,"children":8033},{},[8034,8050],{"type":45,"tag":1375,"props":8035,"children":8036},{},[8037],{"type":45,"tag":1379,"props":8038,"children":8039},{},[8040,8045],{"type":45,"tag":1383,"props":8041,"children":8042},{},[8043],{"type":59,"value":8044},"Scenario",{"type":45,"tag":1383,"props":8046,"children":8047},{},[8048],{"type":59,"value":8049},"Recommended path",{"type":45,"tag":1394,"props":8051,"children":8052},{},[8053,8073,8095],{"type":45,"tag":1379,"props":8054,"children":8055},{},[8056,8061],{"type":45,"tag":1401,"props":8057,"children":8058},{},[8059],{"type":59,"value":8060},"New project, no existing OTel",{"type":45,"tag":1401,"props":8062,"children":8063},{},[8064,8066,8071],{"type":59,"value":8065},"Standard ",{"type":45,"tag":106,"props":8067,"children":8069},{"className":8068},[],[8070],{"type":59,"value":111},{"type":59,"value":8072}," (above) — includes built-in OTel",{"type":45,"tag":1379,"props":8074,"children":8075},{},[8076,8081],{"type":45,"tag":1401,"props":8077,"children":8078},{},[8079],{"type":59,"value":8080},"Existing OTel setup, want Sentry tracing",{"type":45,"tag":1401,"props":8082,"children":8083},{},[8084,8089,8090],{"type":45,"tag":106,"props":8085,"children":8087},{"className":8086},[],[8088],{"type":59,"value":1639},{"type":59,"value":6461},{"type":45,"tag":106,"props":8091,"children":8093},{"className":8092},[],[8094],{"type":59,"value":1631},{"type":45,"tag":1379,"props":8096,"children":8097},{},[8098,8103],{"type":45,"tag":1401,"props":8099,"children":8100},{},[8101],{"type":59,"value":8102},"Existing OTel setup, sending to own Collector",{"type":45,"tag":1401,"props":8104,"children":8105},{},[8106,8111,8112],{"type":45,"tag":106,"props":8107,"children":8109},{"className":8108},[],[8110],{"type":59,"value":1639},{"type":59,"value":6461},{"type":45,"tag":106,"props":8113,"children":8115},{"className":8114},[],[8116],{"type":59,"value":8117},"otlpIntegration({ collectorUrl })",{"type":45,"tag":2054,"props":8119,"children":8121},{"id":8120},"install-2",[8122],{"type":59,"value":2131},{"type":45,"tag":281,"props":8124,"children":8126},{"className":283,"code":8125,"language":285,"meta":286,"style":286},"npm install @sentry\u002Fnode-core @opentelemetry\u002Fapi @opentelemetry\u002Fsdk-trace-node @opentelemetry\u002Fsdk-trace-base\n# or\nyarn add @sentry\u002Fnode-core @opentelemetry\u002Fapi @opentelemetry\u002Fsdk-trace-node @opentelemetry\u002Fsdk-trace-base\n# or\npnpm add @sentry\u002Fnode-core @opentelemetry\u002Fapi @opentelemetry\u002Fsdk-trace-node @opentelemetry\u002Fsdk-trace-base\n",[8127],{"type":45,"tag":106,"props":8128,"children":8129},{"__ignoreMap":286},[8130,8161,8168,8195,8202],{"type":45,"tag":292,"props":8131,"children":8132},{"class":294,"line":295},[8133,8137,8141,8146,8151,8156],{"type":45,"tag":292,"props":8134,"children":8135},{"style":309},[8136],{"type":59,"value":2146},{"type":45,"tag":292,"props":8138,"children":8139},{"style":315},[8140],{"type":59,"value":2151},{"type":45,"tag":292,"props":8142,"children":8143},{"style":315},[8144],{"type":59,"value":8145}," @sentry\u002Fnode-core",{"type":45,"tag":292,"props":8147,"children":8148},{"style":315},[8149],{"type":59,"value":8150}," @opentelemetry\u002Fapi",{"type":45,"tag":292,"props":8152,"children":8153},{"style":315},[8154],{"type":59,"value":8155}," @opentelemetry\u002Fsdk-trace-node",{"type":45,"tag":292,"props":8157,"children":8158},{"style":315},[8159],{"type":59,"value":8160}," @opentelemetry\u002Fsdk-trace-base\n",{"type":45,"tag":292,"props":8162,"children":8163},{"class":294,"line":305},[8164],{"type":45,"tag":292,"props":8165,"children":8166},{"style":299},[8167],{"type":59,"value":2169},{"type":45,"tag":292,"props":8169,"children":8170},{"class":294,"line":358},[8171,8175,8179,8183,8187,8191],{"type":45,"tag":292,"props":8172,"children":8173},{"style":309},[8174],{"type":59,"value":2177},{"type":45,"tag":292,"props":8176,"children":8177},{"style":315},[8178],{"type":59,"value":2182},{"type":45,"tag":292,"props":8180,"children":8181},{"style":315},[8182],{"type":59,"value":8145},{"type":45,"tag":292,"props":8184,"children":8185},{"style":315},[8186],{"type":59,"value":8150},{"type":45,"tag":292,"props":8188,"children":8189},{"style":315},[8190],{"type":59,"value":8155},{"type":45,"tag":292,"props":8192,"children":8193},{"style":315},[8194],{"type":59,"value":8160},{"type":45,"tag":292,"props":8196,"children":8197},{"class":294,"line":400},[8198],{"type":45,"tag":292,"props":8199,"children":8200},{"style":299},[8201],{"type":59,"value":2169},{"type":45,"tag":292,"props":8203,"children":8204},{"class":294,"line":442},[8205,8209,8213,8217,8221,8225],{"type":45,"tag":292,"props":8206,"children":8207},{"style":309},[8208],{"type":59,"value":2202},{"type":45,"tag":292,"props":8210,"children":8211},{"style":315},[8212],{"type":59,"value":2182},{"type":45,"tag":292,"props":8214,"children":8215},{"style":315},[8216],{"type":59,"value":8145},{"type":45,"tag":292,"props":8218,"children":8219},{"style":315},[8220],{"type":59,"value":8150},{"type":45,"tag":292,"props":8222,"children":8223},{"style":315},[8224],{"type":59,"value":8155},{"type":45,"tag":292,"props":8226,"children":8227},{"style":315},[8228],{"type":59,"value":8160},{"type":45,"tag":46,"props":8230,"children":8231},{},[8232],{"type":45,"tag":50,"props":8233,"children":8234},{},[8235,8237,8243],{"type":59,"value":8236},"The ",{"type":45,"tag":106,"props":8238,"children":8240},{"className":8239},[],[8241],{"type":59,"value":8242},"@opentelemetry\u002F*",{"type":59,"value":8244}," packages are peer dependencies. If the project already has them installed, skip duplicates.",{"type":45,"tag":2054,"props":8246,"children":8248},{"id":8247},"initialize",[8249],{"type":59,"value":8250},"Initialize",{"type":45,"tag":281,"props":8252,"children":8254},{"className":2234,"code":8253,"language":2236,"meta":286,"style":286},"\u002F\u002F instrument.mjs — load via --import flag before any other module\nimport { NodeTracerProvider } from '@opentelemetry\u002Fsdk-trace-node';\nimport * as Sentry from '@sentry\u002Fnode-core\u002Flight';\nimport { otlpIntegration } from '@sentry\u002Fnode-core\u002Flight\u002Fotlp';\n\n\u002F\u002F Register the user's OTel TracerProvider first\nconst provider = new NodeTracerProvider();\nprovider.register();\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN ?? '___DSN___',\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnode\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n  enableLogs: true,\n\n  \u002F\u002F Do NOT set tracesSampleRate — OTel controls sampling\n  integrations: [\n    otlpIntegration({\n      \u002F\u002F Export OTel spans to Sentry via OTLP (default: true)\n      setupOtlpTracesExporter: true,\n    }),\n  ],\n});\n",[8255],{"type":45,"tag":106,"props":8256,"children":8257},{"__ignoreMap":286},[8258,8266,8307,8346,8387,8394,8402,8434,8459,8466,8489,8540,8547,8562,8569,8576,8583,8590,8597,8616,8623,8631,8647,8663,8671,8691,8706,8718],{"type":45,"tag":292,"props":8259,"children":8260},{"class":294,"line":295},[8261],{"type":45,"tag":292,"props":8262,"children":8263},{"style":299},[8264],{"type":59,"value":8265},"\u002F\u002F instrument.mjs — load via --import flag before any other module\n",{"type":45,"tag":292,"props":8267,"children":8268},{"class":294,"line":305},[8269,8273,8277,8282,8286,8290,8294,8298,8303],{"type":45,"tag":292,"props":8270,"children":8271},{"style":2661},[8272],{"type":59,"value":2664},{"type":45,"tag":292,"props":8274,"children":8275},{"style":321},[8276],{"type":59,"value":7466},{"type":45,"tag":292,"props":8278,"children":8279},{"style":813},[8280],{"type":59,"value":8281}," NodeTracerProvider",{"type":45,"tag":292,"props":8283,"children":8284},{"style":321},[8285],{"type":59,"value":3866},{"type":45,"tag":292,"props":8287,"children":8288},{"style":2661},[8289],{"type":59,"value":7480},{"type":45,"tag":292,"props":8291,"children":8292},{"style":321},[8293],{"type":59,"value":499},{"type":45,"tag":292,"props":8295,"children":8296},{"style":315},[8297],{"type":59,"value":1608},{"type":45,"tag":292,"props":8299,"children":8300},{"style":321},[8301],{"type":59,"value":8302},"'",{"type":45,"tag":292,"props":8304,"children":8305},{"style":321},[8306],{"type":59,"value":2299},{"type":45,"tag":292,"props":8308,"children":8309},{"class":294,"line":358},[8310,8314,8318,8322,8326,8330,8334,8338,8342],{"type":45,"tag":292,"props":8311,"children":8312},{"style":2661},[8313],{"type":59,"value":2664},{"type":45,"tag":292,"props":8315,"children":8316},{"style":321},[8317],{"type":59,"value":816},{"type":45,"tag":292,"props":8319,"children":8320},{"style":2661},[8321],{"type":59,"value":2673},{"type":45,"tag":292,"props":8323,"children":8324},{"style":813},[8325],{"type":59,"value":2262},{"type":45,"tag":292,"props":8327,"children":8328},{"style":2661},[8329],{"type":59,"value":2682},{"type":45,"tag":292,"props":8331,"children":8332},{"style":321},[8333],{"type":59,"value":499},{"type":45,"tag":292,"props":8335,"children":8336},{"style":315},[8337],{"type":59,"value":1639},{"type":45,"tag":292,"props":8339,"children":8340},{"style":321},[8341],{"type":59,"value":8302},{"type":45,"tag":292,"props":8343,"children":8344},{"style":321},[8345],{"type":59,"value":2299},{"type":45,"tag":292,"props":8347,"children":8348},{"class":294,"line":400},[8349,8353,8357,8362,8366,8370,8374,8379,8383],{"type":45,"tag":292,"props":8350,"children":8351},{"style":2661},[8352],{"type":59,"value":2664},{"type":45,"tag":292,"props":8354,"children":8355},{"style":321},[8356],{"type":59,"value":7466},{"type":45,"tag":292,"props":8358,"children":8359},{"style":813},[8360],{"type":59,"value":8361}," otlpIntegration",{"type":45,"tag":292,"props":8363,"children":8364},{"style":321},[8365],{"type":59,"value":3866},{"type":45,"tag":292,"props":8367,"children":8368},{"style":2661},[8369],{"type":59,"value":7480},{"type":45,"tag":292,"props":8371,"children":8372},{"style":321},[8373],{"type":59,"value":499},{"type":45,"tag":292,"props":8375,"children":8376},{"style":315},[8377],{"type":59,"value":8378},"@sentry\u002Fnode-core\u002Flight\u002Fotlp",{"type":45,"tag":292,"props":8380,"children":8381},{"style":321},[8382],{"type":59,"value":8302},{"type":45,"tag":292,"props":8384,"children":8385},{"style":321},[8386],{"type":59,"value":2299},{"type":45,"tag":292,"props":8388,"children":8389},{"class":294,"line":442},[8390],{"type":45,"tag":292,"props":8391,"children":8392},{"emptyLinePlaceholder":40},[8393],{"type":59,"value":448},{"type":45,"tag":292,"props":8395,"children":8396},{"class":294,"line":451},[8397],{"type":45,"tag":292,"props":8398,"children":8399},{"style":299},[8400],{"type":59,"value":8401},"\u002F\u002F Register the user's OTel TracerProvider first\n",{"type":45,"tag":292,"props":8403,"children":8404},{"class":294,"line":460},[8405,8409,8414,8418,8422,8426,8430],{"type":45,"tag":292,"props":8406,"children":8407},{"style":2254},[8408],{"type":59,"value":2257},{"type":45,"tag":292,"props":8410,"children":8411},{"style":813},[8412],{"type":59,"value":8413}," provider ",{"type":45,"tag":292,"props":8415,"children":8416},{"style":321},[8417],{"type":59,"value":2267},{"type":45,"tag":292,"props":8419,"children":8420},{"style":321},[8421],{"type":59,"value":4004},{"type":45,"tag":292,"props":8423,"children":8424},{"style":337},[8425],{"type":59,"value":8281},{"type":45,"tag":292,"props":8427,"children":8428},{"style":813},[8429],{"type":59,"value":3478},{"type":45,"tag":292,"props":8431,"children":8432},{"style":321},[8433],{"type":59,"value":2299},{"type":45,"tag":292,"props":8435,"children":8436},{"class":294,"line":512},[8437,8442,8446,8451,8455],{"type":45,"tag":292,"props":8438,"children":8439},{"style":813},[8440],{"type":59,"value":8441},"provider",{"type":45,"tag":292,"props":8443,"children":8444},{"style":321},[8445],{"type":59,"value":2110},{"type":45,"tag":292,"props":8447,"children":8448},{"style":337},[8449],{"type":59,"value":8450},"register",{"type":45,"tag":292,"props":8452,"children":8453},{"style":813},[8454],{"type":59,"value":3478},{"type":45,"tag":292,"props":8456,"children":8457},{"style":321},[8458],{"type":59,"value":2299},{"type":45,"tag":292,"props":8460,"children":8461},{"class":294,"line":556},[8462],{"type":45,"tag":292,"props":8463,"children":8464},{"emptyLinePlaceholder":40},[8465],{"type":59,"value":448},{"type":45,"tag":292,"props":8467,"children":8468},{"class":294,"line":564},[8469,8473,8477,8481,8485],{"type":45,"tag":292,"props":8470,"children":8471},{"style":813},[8472],{"type":59,"value":9},{"type":45,"tag":292,"props":8474,"children":8475},{"style":321},[8476],{"type":59,"value":2110},{"type":45,"tag":292,"props":8478,"children":8479},{"style":337},[8480],{"type":59,"value":2322},{"type":45,"tag":292,"props":8482,"children":8483},{"style":813},[8484],{"type":59,"value":2277},{"type":45,"tag":292,"props":8486,"children":8487},{"style":321},[8488],{"type":59,"value":2331},{"type":45,"tag":292,"props":8490,"children":8491},{"class":294,"line":573},[8492,8496,8500,8504,8508,8512,8516,8520,8524,8528,8532,8536],{"type":45,"tag":292,"props":8493,"children":8494},{"style":2337},[8495],{"type":59,"value":2340},{"type":45,"tag":292,"props":8497,"children":8498},{"style":321},[8499],{"type":59,"value":2345},{"type":45,"tag":292,"props":8501,"children":8502},{"style":813},[8503],{"type":59,"value":2350},{"type":45,"tag":292,"props":8505,"children":8506},{"style":321},[8507],{"type":59,"value":2110},{"type":45,"tag":292,"props":8509,"children":8510},{"style":813},[8511],{"type":59,"value":2359},{"type":45,"tag":292,"props":8513,"children":8514},{"style":321},[8515],{"type":59,"value":2110},{"type":45,"tag":292,"props":8517,"children":8518},{"style":813},[8519],{"type":59,"value":2368},{"type":45,"tag":292,"props":8521,"children":8522},{"style":321},[8523],{"type":59,"value":2373},{"type":45,"tag":292,"props":8525,"children":8526},{"style":321},[8527],{"type":59,"value":499},{"type":45,"tag":292,"props":8529,"children":8530},{"style":315},[8531],{"type":59,"value":2382},{"type":45,"tag":292,"props":8533,"children":8534},{"style":321},[8535],{"type":59,"value":8302},{"type":45,"tag":292,"props":8537,"children":8538},{"style":321},[8539],{"type":59,"value":2391},{"type":45,"tag":292,"props":8541,"children":8542},{"class":294,"line":618},[8543],{"type":45,"tag":292,"props":8544,"children":8545},{"emptyLinePlaceholder":40},[8546],{"type":59,"value":448},{"type":45,"tag":292,"props":8548,"children":8549},{"class":294,"line":626},[8550,8554,8558],{"type":45,"tag":292,"props":8551,"children":8552},{"style":2337},[8553],{"type":59,"value":2406},{"type":45,"tag":292,"props":8555,"children":8556},{"style":321},[8557],{"type":59,"value":2345},{"type":45,"tag":292,"props":8559,"children":8560},{"style":321},[8561],{"type":59,"value":2415},{"type":45,"tag":292,"props":8563,"children":8564},{"class":294,"line":635},[8565],{"type":45,"tag":292,"props":8566,"children":8567},{"style":299},[8568],{"type":59,"value":2423},{"type":45,"tag":292,"props":8570,"children":8571},{"class":294,"line":680},[8572],{"type":45,"tag":292,"props":8573,"children":8574},{"style":299},[8575],{"type":59,"value":2431},{"type":45,"tag":292,"props":8577,"children":8578},{"class":294,"line":688},[8579],{"type":45,"tag":292,"props":8580,"children":8581},{"style":299},[8582],{"type":59,"value":2439},{"type":45,"tag":292,"props":8584,"children":8585},{"class":294,"line":697},[8586],{"type":45,"tag":292,"props":8587,"children":8588},{"style":299},[8589],{"type":59,"value":2447},{"type":45,"tag":292,"props":8591,"children":8592},{"class":294,"line":746},[8593],{"type":45,"tag":292,"props":8594,"children":8595},{"style":321},[8596],{"type":59,"value":2455},{"type":45,"tag":292,"props":8598,"children":8599},{"class":294,"line":754},[8600,8604,8608,8612],{"type":45,"tag":292,"props":8601,"children":8602},{"style":2337},[8603],{"type":59,"value":2598},{"type":45,"tag":292,"props":8605,"children":8606},{"style":321},[8607],{"type":59,"value":2345},{"type":45,"tag":292,"props":8609,"children":8610},{"style":2576},[8611],{"type":59,"value":2579},{"type":45,"tag":292,"props":8613,"children":8614},{"style":321},[8615],{"type":59,"value":2391},{"type":45,"tag":292,"props":8617,"children":8618},{"class":294,"line":763},[8619],{"type":45,"tag":292,"props":8620,"children":8621},{"emptyLinePlaceholder":40},[8622],{"type":59,"value":448},{"type":45,"tag":292,"props":8624,"children":8625},{"class":294,"line":804},[8626],{"type":45,"tag":292,"props":8627,"children":8628},{"style":299},[8629],{"type":59,"value":8630},"  \u002F\u002F Do NOT set tracesSampleRate — OTel controls sampling\n",{"type":45,"tag":292,"props":8632,"children":8633},{"class":294,"line":855},[8634,8638,8642],{"type":45,"tag":292,"props":8635,"children":8636},{"style":2337},[8637],{"type":59,"value":7605},{"type":45,"tag":292,"props":8639,"children":8640},{"style":321},[8641],{"type":59,"value":2345},{"type":45,"tag":292,"props":8643,"children":8644},{"style":813},[8645],{"type":59,"value":8646}," [\n",{"type":45,"tag":292,"props":8648,"children":8649},{"class":294,"line":863},[8650,8655,8659],{"type":45,"tag":292,"props":8651,"children":8652},{"style":337},[8653],{"type":59,"value":8654},"    otlpIntegration",{"type":45,"tag":292,"props":8656,"children":8657},{"style":813},[8658],{"type":59,"value":2277},{"type":45,"tag":292,"props":8660,"children":8661},{"style":321},[8662],{"type":59,"value":2331},{"type":45,"tag":292,"props":8664,"children":8665},{"class":294,"line":872},[8666],{"type":45,"tag":292,"props":8667,"children":8668},{"style":299},[8669],{"type":59,"value":8670},"      \u002F\u002F Export OTel spans to Sentry via OTLP (default: true)\n",{"type":45,"tag":292,"props":8672,"children":8673},{"class":294,"line":909},[8674,8679,8683,8687],{"type":45,"tag":292,"props":8675,"children":8676},{"style":2337},[8677],{"type":59,"value":8678},"      setupOtlpTracesExporter",{"type":45,"tag":292,"props":8680,"children":8681},{"style":321},[8682],{"type":59,"value":2345},{"type":45,"tag":292,"props":8684,"children":8685},{"style":2576},[8686],{"type":59,"value":2579},{"type":45,"tag":292,"props":8688,"children":8689},{"style":321},[8690],{"type":59,"value":2391},{"type":45,"tag":292,"props":8692,"children":8693},{"class":294,"line":917},[8694,8698,8702],{"type":45,"tag":292,"props":8695,"children":8696},{"style":321},[8697],{"type":59,"value":4994},{"type":45,"tag":292,"props":8699,"children":8700},{"style":813},[8701],{"type":59,"value":2294},{"type":45,"tag":292,"props":8703,"children":8704},{"style":321},[8705],{"type":59,"value":2391},{"type":45,"tag":292,"props":8707,"children":8708},{"class":294,"line":926},[8709,8714],{"type":45,"tag":292,"props":8710,"children":8711},{"style":813},[8712],{"type":59,"value":8713},"  ]",{"type":45,"tag":292,"props":8715,"children":8716},{"style":321},[8717],{"type":59,"value":2391},{"type":45,"tag":292,"props":8719,"children":8720},{"class":294,"line":971},[8721,8725,8729],{"type":45,"tag":292,"props":8722,"children":8723},{"style":321},[8724],{"type":59,"value":2618},{"type":45,"tag":292,"props":8726,"children":8727},{"style":813},[8728],{"type":59,"value":2294},{"type":45,"tag":292,"props":8730,"children":8731},{"style":321},[8732],{"type":59,"value":2299},{"type":45,"tag":50,"props":8734,"children":8735},{},[8736],{"type":45,"tag":177,"props":8737,"children":8738},{},[8739],{"type":59,"value":8740},"With a custom Collector endpoint:",{"type":45,"tag":281,"props":8742,"children":8744},{"className":2234,"code":8743,"language":2236,"meta":286,"style":286},"Sentry.init({\n  dsn: process.env.SENTRY_DSN ?? '___DSN___',\n  integrations: [\n    otlpIntegration({\n      collectorUrl: 'http:\u002F\u002Flocalhost:4318\u002Fv1\u002Ftraces',\n    }),\n  ],\n});\n",[8745],{"type":45,"tag":106,"props":8746,"children":8747},{"__ignoreMap":286},[8748,8771,8822,8837,8852,8881,8896,8907],{"type":45,"tag":292,"props":8749,"children":8750},{"class":294,"line":295},[8751,8755,8759,8763,8767],{"type":45,"tag":292,"props":8752,"children":8753},{"style":813},[8754],{"type":59,"value":9},{"type":45,"tag":292,"props":8756,"children":8757},{"style":321},[8758],{"type":59,"value":2110},{"type":45,"tag":292,"props":8760,"children":8761},{"style":337},[8762],{"type":59,"value":2322},{"type":45,"tag":292,"props":8764,"children":8765},{"style":813},[8766],{"type":59,"value":2277},{"type":45,"tag":292,"props":8768,"children":8769},{"style":321},[8770],{"type":59,"value":2331},{"type":45,"tag":292,"props":8772,"children":8773},{"class":294,"line":305},[8774,8778,8782,8786,8790,8794,8798,8802,8806,8810,8814,8818],{"type":45,"tag":292,"props":8775,"children":8776},{"style":2337},[8777],{"type":59,"value":2340},{"type":45,"tag":292,"props":8779,"children":8780},{"style":321},[8781],{"type":59,"value":2345},{"type":45,"tag":292,"props":8783,"children":8784},{"style":813},[8785],{"type":59,"value":2350},{"type":45,"tag":292,"props":8787,"children":8788},{"style":321},[8789],{"type":59,"value":2110},{"type":45,"tag":292,"props":8791,"children":8792},{"style":813},[8793],{"type":59,"value":2359},{"type":45,"tag":292,"props":8795,"children":8796},{"style":321},[8797],{"type":59,"value":2110},{"type":45,"tag":292,"props":8799,"children":8800},{"style":813},[8801],{"type":59,"value":2368},{"type":45,"tag":292,"props":8803,"children":8804},{"style":321},[8805],{"type":59,"value":2373},{"type":45,"tag":292,"props":8807,"children":8808},{"style":321},[8809],{"type":59,"value":499},{"type":45,"tag":292,"props":8811,"children":8812},{"style":315},[8813],{"type":59,"value":2382},{"type":45,"tag":292,"props":8815,"children":8816},{"style":321},[8817],{"type":59,"value":8302},{"type":45,"tag":292,"props":8819,"children":8820},{"style":321},[8821],{"type":59,"value":2391},{"type":45,"tag":292,"props":8823,"children":8824},{"class":294,"line":358},[8825,8829,8833],{"type":45,"tag":292,"props":8826,"children":8827},{"style":2337},[8828],{"type":59,"value":7605},{"type":45,"tag":292,"props":8830,"children":8831},{"style":321},[8832],{"type":59,"value":2345},{"type":45,"tag":292,"props":8834,"children":8835},{"style":813},[8836],{"type":59,"value":8646},{"type":45,"tag":292,"props":8838,"children":8839},{"class":294,"line":400},[8840,8844,8848],{"type":45,"tag":292,"props":8841,"children":8842},{"style":337},[8843],{"type":59,"value":8654},{"type":45,"tag":292,"props":8845,"children":8846},{"style":813},[8847],{"type":59,"value":2277},{"type":45,"tag":292,"props":8849,"children":8850},{"style":321},[8851],{"type":59,"value":2331},{"type":45,"tag":292,"props":8853,"children":8854},{"class":294,"line":442},[8855,8860,8864,8868,8873,8877],{"type":45,"tag":292,"props":8856,"children":8857},{"style":2337},[8858],{"type":59,"value":8859},"      collectorUrl",{"type":45,"tag":292,"props":8861,"children":8862},{"style":321},[8863],{"type":59,"value":2345},{"type":45,"tag":292,"props":8865,"children":8866},{"style":321},[8867],{"type":59,"value":499},{"type":45,"tag":292,"props":8869,"children":8870},{"style":315},[8871],{"type":59,"value":8872},"http:\u002F\u002Flocalhost:4318\u002Fv1\u002Ftraces",{"type":45,"tag":292,"props":8874,"children":8875},{"style":321},[8876],{"type":59,"value":8302},{"type":45,"tag":292,"props":8878,"children":8879},{"style":321},[8880],{"type":59,"value":2391},{"type":45,"tag":292,"props":8882,"children":8883},{"class":294,"line":451},[8884,8888,8892],{"type":45,"tag":292,"props":8885,"children":8886},{"style":321},[8887],{"type":59,"value":4994},{"type":45,"tag":292,"props":8889,"children":8890},{"style":813},[8891],{"type":59,"value":2294},{"type":45,"tag":292,"props":8893,"children":8894},{"style":321},[8895],{"type":59,"value":2391},{"type":45,"tag":292,"props":8897,"children":8898},{"class":294,"line":460},[8899,8903],{"type":45,"tag":292,"props":8900,"children":8901},{"style":813},[8902],{"type":59,"value":8713},{"type":45,"tag":292,"props":8904,"children":8905},{"style":321},[8906],{"type":59,"value":2391},{"type":45,"tag":292,"props":8908,"children":8909},{"class":294,"line":512},[8910,8914,8918],{"type":45,"tag":292,"props":8911,"children":8912},{"style":321},[8913],{"type":59,"value":2618},{"type":45,"tag":292,"props":8915,"children":8916},{"style":813},[8917],{"type":59,"value":2294},{"type":45,"tag":292,"props":8919,"children":8920},{"style":321},[8921],{"type":59,"value":2299},{"type":45,"tag":2054,"props":8923,"children":8925},{"id":8924},"start-your-app",[8926],{"type":59,"value":8927},"Start Your App",{"type":45,"tag":50,"props":8929,"children":8930},{},[8931,8933,8938],{"type":59,"value":8932},"Same ",{"type":45,"tag":106,"props":8934,"children":8936},{"className":8935},[],[8937],{"type":59,"value":3109},{"type":59,"value":8939}," pattern as the standard Node.js setup:",{"type":45,"tag":281,"props":8941,"children":8942},{"className":283,"code":3114,"language":285,"meta":286,"style":286},[8943],{"type":45,"tag":106,"props":8944,"children":8945},{"__ignoreMap":286},[8946],{"type":45,"tag":292,"props":8947,"children":8948},{"class":294,"line":295},[8949,8953,8957,8961],{"type":45,"tag":292,"props":8950,"children":8951},{"style":309},[8952],{"type":59,"value":406},{"type":45,"tag":292,"props":8954,"children":8955},{"style":315},[8956],{"type":59,"value":3130},{"type":45,"tag":292,"props":8958,"children":8959},{"style":315},[8960],{"type":59,"value":3135},{"type":45,"tag":292,"props":8962,"children":8963},{"style":315},[8964],{"type":59,"value":3140},{"type":45,"tag":2054,"props":8966,"children":8968},{"id":8967},"key-differences-from-standard-sentrynode",[8969,8971],{"type":59,"value":8970},"Key Differences from Standard ",{"type":45,"tag":106,"props":8972,"children":8974},{"className":8973},[],[8975],{"type":59,"value":111},{"type":45,"tag":1371,"props":8977,"children":8978},{},[8979,9010],{"type":45,"tag":1375,"props":8980,"children":8981},{},[8982],{"type":45,"tag":1379,"props":8983,"children":8984},{},[8985,8990,9000],{"type":45,"tag":1383,"props":8986,"children":8987},{},[8988],{"type":59,"value":8989},"Aspect",{"type":45,"tag":1383,"props":8991,"children":8992},{},[8993,8998],{"type":45,"tag":106,"props":8994,"children":8996},{"className":8995},[],[8997],{"type":59,"value":111},{"type":59,"value":8999}," (standard)",{"type":45,"tag":1383,"props":9001,"children":9002},{},[9003,9008],{"type":45,"tag":106,"props":9004,"children":9006},{"className":9005},[],[9007],{"type":59,"value":1639},{"type":59,"value":9009}," (OTLP)",{"type":45,"tag":1394,"props":9011,"children":9012},{},[9013,9031,9059,9077,9094,9119],{"type":45,"tag":1379,"props":9014,"children":9015},{},[9016,9021,9026],{"type":45,"tag":1401,"props":9017,"children":9018},{},[9019],{"type":59,"value":9020},"OTel bundled",{"type":45,"tag":1401,"props":9022,"children":9023},{},[9024],{"type":59,"value":9025},"✅ Yes — built-in TracerProvider",{"type":45,"tag":1401,"props":9027,"children":9028},{},[9029],{"type":59,"value":9030},"❌ No — uses your existing provider",{"type":45,"tag":1379,"props":9032,"children":9033},{},[9034,9039,9054],{"type":45,"tag":1401,"props":9035,"children":9036},{},[9037],{"type":59,"value":9038},"Tracing control",{"type":45,"tag":1401,"props":9040,"children":9041},{},[9042,9047,9048],{"type":45,"tag":106,"props":9043,"children":9045},{"className":9044},[],[9046],{"type":59,"value":1654},{"type":59,"value":1610},{"type":45,"tag":106,"props":9049,"children":9051},{"className":9050},[],[9052],{"type":59,"value":9053},"Sentry.init()",{"type":45,"tag":1401,"props":9055,"children":9056},{},[9057],{"type":59,"value":9058},"OTel SDK controls sampling",{"type":45,"tag":1379,"props":9060,"children":9061},{},[9062,9067,9072],{"type":45,"tag":1401,"props":9063,"children":9064},{},[9065],{"type":59,"value":9066},"Auto-instrumentation",{"type":45,"tag":1401,"props":9068,"children":9069},{},[9070],{"type":59,"value":9071},"✅ Built-in (HTTP, DB, etc.)",{"type":45,"tag":1401,"props":9073,"children":9074},{},[9075],{"type":59,"value":9076},"❌ You manage OTel instrumentations",{"type":45,"tag":1379,"props":9078,"children":9079},{},[9080,9084,9089],{"type":45,"tag":1401,"props":9081,"children":9082},{},[9083],{"type":59,"value":1753},{"type":45,"tag":1401,"props":9085,"children":9086},{},[9087],{"type":59,"value":9088},"✅ Available",{"type":45,"tag":1401,"props":9090,"children":9091},{},[9092],{"type":59,"value":9093},"❌ Not compatible",{"type":45,"tag":1379,"props":9095,"children":9096},{},[9097,9102,9107],{"type":45,"tag":1401,"props":9098,"children":9099},{},[9100],{"type":59,"value":9101},"Error ↔ trace linking",{"type":45,"tag":1401,"props":9103,"children":9104},{},[9105],{"type":59,"value":9106},"✅ Automatic",{"type":45,"tag":1401,"props":9108,"children":9109},{},[9110,9112,9118],{"type":59,"value":9111},"✅ Automatic (via ",{"type":45,"tag":106,"props":9113,"children":9115},{"className":9114},[],[9116],{"type":59,"value":9117},"otlpIntegration",{"type":59,"value":2294},{"type":45,"tag":1379,"props":9120,"children":9121},{},[9122,9127,9132],{"type":45,"tag":1401,"props":9123,"children":9124},{},[9125],{"type":59,"value":9126},"Package size",{"type":45,"tag":1401,"props":9128,"children":9129},{},[9130],{"type":59,"value":9131},"Larger (includes OTel)",{"type":45,"tag":1401,"props":9133,"children":9134},{},[9135],{"type":59,"value":9136},"Smaller (light mode)",{"type":45,"tag":266,"props":9138,"children":9139},{},[],{"type":45,"tag":2047,"props":9141,"children":9143},{"id":9142},"for-each-agreed-feature",[9144],{"type":59,"value":9145},"For Each Agreed Feature",{"type":45,"tag":50,"props":9147,"children":9148},{},[9149],{"type":59,"value":9150},"Load the corresponding reference file and follow its steps:",{"type":45,"tag":1371,"props":9152,"children":9153},{},[9154,9174],{"type":45,"tag":1375,"props":9155,"children":9156},{},[9157],{"type":45,"tag":1379,"props":9158,"children":9159},{},[9160,9164,9169],{"type":45,"tag":1383,"props":9161,"children":9162},{},[9163],{"type":59,"value":1842},{"type":45,"tag":1383,"props":9165,"children":9166},{},[9167],{"type":59,"value":9168},"Reference file",{"type":45,"tag":1383,"props":9170,"children":9171},{},[9172],{"type":59,"value":9173},"Load when...",{"type":45,"tag":1394,"props":9175,"children":9176},{},[9177,9198,9226,9251,9279,9304,9325,9342,9363],{"type":45,"tag":1379,"props":9178,"children":9179},{},[9180,9184,9193],{"type":45,"tag":1401,"props":9181,"children":9182},{},[9183],{"type":59,"value":1677},{"type":45,"tag":1401,"props":9185,"children":9186},{},[9187],{"type":45,"tag":106,"props":9188,"children":9190},{"className":9189},[],[9191],{"type":59,"value":9192},"references\u002Ferror-monitoring.md",{"type":45,"tag":1401,"props":9194,"children":9195},{},[9196],{"type":59,"value":9197},"Always (baseline) — captures, scopes, enrichment, beforeSend",{"type":45,"tag":1379,"props":9199,"children":9200},{},[9201,9205,9217],{"type":45,"tag":1401,"props":9202,"children":9203},{},[9204],{"type":59,"value":1875},{"type":45,"tag":1401,"props":9206,"children":9207},{},[9208,9210,9215],{"type":59,"value":9209},"See ",{"type":45,"tag":54,"props":9211,"children":9213},{"href":9212},"#otlp-integration-otel-first-projects--nodejs-only",[9214],{"type":59,"value":1875},{"type":59,"value":9216}," above",{"type":45,"tag":1401,"props":9218,"children":9219},{},[9220,9221,9225],{"type":59,"value":1880},{"type":45,"tag":177,"props":9222,"children":9223},{},[9224],{"type":59,"value":1885},{"type":59,"value":1887},{"type":45,"tag":1379,"props":9227,"children":9228},{},[9229,9233,9242],{"type":45,"tag":1401,"props":9230,"children":9231},{},[9232],{"type":59,"value":1688},{"type":45,"tag":1401,"props":9234,"children":9235},{},[9236],{"type":45,"tag":106,"props":9237,"children":9239},{"className":9238},[],[9240],{"type":59,"value":9241},"references\u002Ftracing.md",{"type":45,"tag":1401,"props":9243,"children":9244},{},[9245,9247],{"type":59,"value":9246},"OTel auto-instrumentation, custom spans, distributed tracing, sampling; ",{"type":45,"tag":177,"props":9248,"children":9249},{},[9250],{"type":59,"value":1909},{"type":45,"tag":1379,"props":9252,"children":9253},{},[9254,9258,9267],{"type":45,"tag":1401,"props":9255,"children":9256},{},[9257],{"type":59,"value":1711},{"type":45,"tag":1401,"props":9259,"children":9260},{},[9261],{"type":45,"tag":106,"props":9262,"children":9264},{"className":9263},[],[9265],{"type":59,"value":9266},"references\u002Flogging.md",{"type":45,"tag":1401,"props":9268,"children":9269},{},[9270,9272,9277],{"type":59,"value":9271},"Structured logs, ",{"type":45,"tag":106,"props":9273,"children":9275},{"className":9274},[],[9276],{"type":59,"value":1719},{"type":59,"value":9278},", log-to-trace correlation",{"type":45,"tag":1379,"props":9280,"children":9281},{},[9282,9286,9295],{"type":45,"tag":1401,"props":9283,"children":9284},{},[9285],{"type":59,"value":1753},{"type":45,"tag":1401,"props":9287,"children":9288},{},[9289],{"type":45,"tag":106,"props":9290,"children":9292},{"className":9291},[],[9293],{"type":59,"value":9294},"references\u002Fprofiling.md",{"type":45,"tag":1401,"props":9296,"children":9297},{},[9298,9300],{"type":59,"value":9299},"Node.js only — CPU profiling, Bun\u002FDeno gaps documented; ",{"type":45,"tag":177,"props":9301,"children":9302},{},[9303],{"type":59,"value":1909},{"type":45,"tag":1379,"props":9305,"children":9306},{},[9307,9311,9320],{"type":45,"tag":1401,"props":9308,"children":9309},{},[9310],{"type":59,"value":1791},{"type":45,"tag":1401,"props":9312,"children":9313},{},[9314],{"type":45,"tag":106,"props":9315,"children":9317},{"className":9316},[],[9318],{"type":59,"value":9319},"references\u002Fmetrics.md",{"type":45,"tag":1401,"props":9321,"children":9322},{},[9323],{"type":59,"value":9324},"Custom counters, gauges, distributions",{"type":45,"tag":1379,"props":9326,"children":9327},{},[9328,9332,9337],{"type":45,"tag":1401,"props":9329,"children":9330},{},[9331],{"type":59,"value":1802},{"type":45,"tag":1401,"props":9333,"children":9334},{},[9335],{"type":59,"value":9336},"See inline below",{"type":45,"tag":1401,"props":9338,"children":9339},{},[9340],{"type":59,"value":9341},"Automatic memory, CPU, and event loop metrics for Node.js and Bun",{"type":45,"tag":1379,"props":9343,"children":9344},{},[9345,9349,9358],{"type":45,"tag":1401,"props":9346,"children":9347},{},[9348],{"type":59,"value":1780},{"type":45,"tag":1401,"props":9350,"children":9351},{},[9352],{"type":45,"tag":106,"props":9353,"children":9355},{"className":9354},[],[9356],{"type":59,"value":9357},"references\u002Fcrons.md",{"type":45,"tag":1401,"props":9359,"children":9360},{},[9361],{"type":59,"value":9362},"Scheduled job monitoring, node-cron, Bull, Agenda, Deno.cron",{"type":45,"tag":1379,"props":9364,"children":9365},{},[9366,9370,9383],{"type":45,"tag":1401,"props":9367,"children":9368},{},[9369],{"type":59,"value":1769},{"type":45,"tag":1401,"props":9371,"children":9372},{},[9373,9375,9381],{"type":59,"value":9374},"Load ",{"type":45,"tag":106,"props":9376,"children":9378},{"className":9377},[],[9379],{"type":59,"value":9380},"sentry-setup-ai-monitoring",{"type":59,"value":9382}," skill",{"type":45,"tag":1401,"props":9384,"children":9385},{},[9386],{"type":59,"value":9387},"OpenAI, Anthropic, LangChain, Vercel AI, Google GenAI",{"type":45,"tag":50,"props":9389,"children":9390},{},[9391],{"type":59,"value":9392},"For each feature: read the reference file, follow its steps exactly, and verify before moving on.",{"type":45,"tag":2047,"props":9394,"children":9396},{"id":9395},"runtime-metrics",[9397],{"type":59,"value":1802},{"type":45,"tag":50,"props":9399,"children":9400},{},[9401,9403,9409,9410,9416],{"type":59,"value":9402},"Automatically collect Node.js and Bun runtime health metrics (memory, CPU utilization, event loop delay\u002Futilization, uptime) at a configurable interval. Metrics appear in Sentry's Metrics product under the ",{"type":45,"tag":106,"props":9404,"children":9406},{"className":9405},[],[9407],{"type":59,"value":9408},"node.runtime.*",{"type":59,"value":1481},{"type":45,"tag":106,"props":9411,"children":9413},{"className":9412},[],[9414],{"type":59,"value":9415},"bun.runtime.*",{"type":59,"value":9417}," namespace.",{"type":45,"tag":50,"props":9419,"children":9420},{},[9421,9425,9426,9431,9433,9438],{"type":45,"tag":177,"props":9422,"children":9423},{},[9424],{"type":59,"value":21},{"type":59,"value":2972},{"type":45,"tag":106,"props":9427,"children":9429},{"className":9428},[],[9430],{"type":59,"value":1810},{"type":59,"value":9432}," to your ",{"type":45,"tag":106,"props":9434,"children":9436},{"className":9435},[],[9437],{"type":59,"value":143},{"type":59,"value":2345},{"type":45,"tag":281,"props":9440,"children":9442},{"className":2234,"code":9441,"language":2236,"meta":286,"style":286},"const Sentry = require(\"@sentry\u002Fnode\");\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN,\n  integrations: [\n    Sentry.nodeRuntimeMetricsIntegration(),\n    \u002F\u002F Optional: change collection interval (default 30 000 ms)\n    \u002F\u002F Sentry.nodeRuntimeMetricsIntegration({ collectionIntervalMs: 60_000 }),\n  ],\n});\n",[9443],{"type":45,"tag":106,"props":9444,"children":9445},{"__ignoreMap":286},[9446,9489,9496,9519,9554,9569,9594,9602,9610,9621],{"type":45,"tag":292,"props":9447,"children":9448},{"class":294,"line":295},[9449,9453,9457,9461,9465,9469,9473,9477,9481,9485],{"type":45,"tag":292,"props":9450,"children":9451},{"style":2254},[9452],{"type":59,"value":2257},{"type":45,"tag":292,"props":9454,"children":9455},{"style":813},[9456],{"type":59,"value":2262},{"type":45,"tag":292,"props":9458,"children":9459},{"style":321},[9460],{"type":59,"value":2267},{"type":45,"tag":292,"props":9462,"children":9463},{"style":337},[9464],{"type":59,"value":2272},{"type":45,"tag":292,"props":9466,"children":9467},{"style":813},[9468],{"type":59,"value":2277},{"type":45,"tag":292,"props":9470,"children":9471},{"style":321},[9472],{"type":59,"value":1181},{"type":45,"tag":292,"props":9474,"children":9475},{"style":315},[9476],{"type":59,"value":111},{"type":45,"tag":292,"props":9478,"children":9479},{"style":321},[9480],{"type":59,"value":1181},{"type":45,"tag":292,"props":9482,"children":9483},{"style":813},[9484],{"type":59,"value":2294},{"type":45,"tag":292,"props":9486,"children":9487},{"style":321},[9488],{"type":59,"value":2299},{"type":45,"tag":292,"props":9490,"children":9491},{"class":294,"line":305},[9492],{"type":45,"tag":292,"props":9493,"children":9494},{"emptyLinePlaceholder":40},[9495],{"type":59,"value":448},{"type":45,"tag":292,"props":9497,"children":9498},{"class":294,"line":358},[9499,9503,9507,9511,9515],{"type":45,"tag":292,"props":9500,"children":9501},{"style":813},[9502],{"type":59,"value":9},{"type":45,"tag":292,"props":9504,"children":9505},{"style":321},[9506],{"type":59,"value":2110},{"type":45,"tag":292,"props":9508,"children":9509},{"style":337},[9510],{"type":59,"value":2322},{"type":45,"tag":292,"props":9512,"children":9513},{"style":813},[9514],{"type":59,"value":2277},{"type":45,"tag":292,"props":9516,"children":9517},{"style":321},[9518],{"type":59,"value":2331},{"type":45,"tag":292,"props":9520,"children":9521},{"class":294,"line":400},[9522,9526,9530,9534,9538,9542,9546,9550],{"type":45,"tag":292,"props":9523,"children":9524},{"style":2337},[9525],{"type":59,"value":2340},{"type":45,"tag":292,"props":9527,"children":9528},{"style":321},[9529],{"type":59,"value":2345},{"type":45,"tag":292,"props":9531,"children":9532},{"style":813},[9533],{"type":59,"value":2350},{"type":45,"tag":292,"props":9535,"children":9536},{"style":321},[9537],{"type":59,"value":2110},{"type":45,"tag":292,"props":9539,"children":9540},{"style":813},[9541],{"type":59,"value":2359},{"type":45,"tag":292,"props":9543,"children":9544},{"style":321},[9545],{"type":59,"value":2110},{"type":45,"tag":292,"props":9547,"children":9548},{"style":813},[9549],{"type":59,"value":6910},{"type":45,"tag":292,"props":9551,"children":9552},{"style":321},[9553],{"type":59,"value":2391},{"type":45,"tag":292,"props":9555,"children":9556},{"class":294,"line":442},[9557,9561,9565],{"type":45,"tag":292,"props":9558,"children":9559},{"style":2337},[9560],{"type":59,"value":7605},{"type":45,"tag":292,"props":9562,"children":9563},{"style":321},[9564],{"type":59,"value":2345},{"type":45,"tag":292,"props":9566,"children":9567},{"style":813},[9568],{"type":59,"value":8646},{"type":45,"tag":292,"props":9570,"children":9571},{"class":294,"line":451},[9572,9577,9581,9586,9590],{"type":45,"tag":292,"props":9573,"children":9574},{"style":813},[9575],{"type":59,"value":9576},"    Sentry",{"type":45,"tag":292,"props":9578,"children":9579},{"style":321},[9580],{"type":59,"value":2110},{"type":45,"tag":292,"props":9582,"children":9583},{"style":337},[9584],{"type":59,"value":9585},"nodeRuntimeMetricsIntegration",{"type":45,"tag":292,"props":9587,"children":9588},{"style":813},[9589],{"type":59,"value":3478},{"type":45,"tag":292,"props":9591,"children":9592},{"style":321},[9593],{"type":59,"value":2391},{"type":45,"tag":292,"props":9595,"children":9596},{"class":294,"line":460},[9597],{"type":45,"tag":292,"props":9598,"children":9599},{"style":299},[9600],{"type":59,"value":9601},"    \u002F\u002F Optional: change collection interval (default 30 000 ms)\n",{"type":45,"tag":292,"props":9603,"children":9604},{"class":294,"line":512},[9605],{"type":45,"tag":292,"props":9606,"children":9607},{"style":299},[9608],{"type":59,"value":9609},"    \u002F\u002F Sentry.nodeRuntimeMetricsIntegration({ collectionIntervalMs: 60_000 }),\n",{"type":45,"tag":292,"props":9611,"children":9612},{"class":294,"line":556},[9613,9617],{"type":45,"tag":292,"props":9614,"children":9615},{"style":813},[9616],{"type":59,"value":8713},{"type":45,"tag":292,"props":9618,"children":9619},{"style":321},[9620],{"type":59,"value":2391},{"type":45,"tag":292,"props":9622,"children":9623},{"class":294,"line":564},[9624,9628,9632],{"type":45,"tag":292,"props":9625,"children":9626},{"style":321},[9627],{"type":59,"value":2618},{"type":45,"tag":292,"props":9629,"children":9630},{"style":813},[9631],{"type":59,"value":2294},{"type":45,"tag":292,"props":9633,"children":9634},{"style":321},[9635],{"type":59,"value":2299},{"type":45,"tag":50,"props":9637,"children":9638},{},[9639,9641,9647,9648,9654,9655,9661,9662,9668,9669,9675,9676,9682,9683,9689,9690,9696],{"type":59,"value":9640},"Metrics collected by default: ",{"type":45,"tag":106,"props":9642,"children":9644},{"className":9643},[],[9645],{"type":59,"value":9646},"node.runtime.mem.rss",{"type":59,"value":113},{"type":45,"tag":106,"props":9649,"children":9651},{"className":9650},[],[9652],{"type":59,"value":9653},"node.runtime.mem.heap_used",{"type":59,"value":113},{"type":45,"tag":106,"props":9656,"children":9658},{"className":9657},[],[9659],{"type":59,"value":9660},"node.runtime.mem.heap_total",{"type":59,"value":113},{"type":45,"tag":106,"props":9663,"children":9665},{"className":9664},[],[9666],{"type":59,"value":9667},"node.runtime.cpu.utilization",{"type":59,"value":113},{"type":45,"tag":106,"props":9670,"children":9672},{"className":9671},[],[9673],{"type":59,"value":9674},"node.runtime.event_loop.delay.p50",{"type":59,"value":113},{"type":45,"tag":106,"props":9677,"children":9679},{"className":9678},[],[9680],{"type":59,"value":9681},"node.runtime.event_loop.delay.p99",{"type":59,"value":113},{"type":45,"tag":106,"props":9684,"children":9686},{"className":9685},[],[9687],{"type":59,"value":9688},"node.runtime.event_loop.utilization",{"type":59,"value":113},{"type":45,"tag":106,"props":9691,"children":9693},{"className":9692},[],[9694],{"type":59,"value":9695},"node.runtime.process.uptime",{"type":59,"value":2110},{"type":45,"tag":50,"props":9698,"children":9699},{},[9700,9705,9706,9711,9712,9717],{"type":45,"tag":177,"props":9701,"children":9702},{},[9703],{"type":59,"value":9704},"Bun",{"type":59,"value":2972},{"type":45,"tag":106,"props":9707,"children":9709},{"className":9708},[],[9710],{"type":59,"value":1818},{"type":59,"value":9432},{"type":45,"tag":106,"props":9713,"children":9715},{"className":9714},[],[9716],{"type":59,"value":5491},{"type":59,"value":2345},{"type":45,"tag":281,"props":9719,"children":9721},{"className":5502,"code":9720,"language":5504,"meta":286,"style":286},"import * as Sentry from \"@sentry\u002Fbun\";\nimport { bunRuntimeMetricsIntegration } from \"@sentry\u002Fbun\";\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN,\n  integrations: [\n    bunRuntimeMetricsIntegration(),\n    \u002F\u002F Optional: change collection interval (default 30 000 ms)\n    \u002F\u002F bunRuntimeMetricsIntegration({ collectionIntervalMs: 60_000 }),\n  ],\n});\n",[9722],{"type":45,"tag":106,"props":9723,"children":9724},{"__ignoreMap":286},[9725,9764,9804,9811,9834,9869,9884,9900,9907,9915,9926],{"type":45,"tag":292,"props":9726,"children":9727},{"class":294,"line":295},[9728,9732,9736,9740,9744,9748,9752,9756,9760],{"type":45,"tag":292,"props":9729,"children":9730},{"style":2661},[9731],{"type":59,"value":2664},{"type":45,"tag":292,"props":9733,"children":9734},{"style":321},[9735],{"type":59,"value":816},{"type":45,"tag":292,"props":9737,"children":9738},{"style":2661},[9739],{"type":59,"value":2673},{"type":45,"tag":292,"props":9741,"children":9742},{"style":813},[9743],{"type":59,"value":2262},{"type":45,"tag":292,"props":9745,"children":9746},{"style":2661},[9747],{"type":59,"value":2682},{"type":45,"tag":292,"props":9749,"children":9750},{"style":321},[9751],{"type":59,"value":345},{"type":45,"tag":292,"props":9753,"children":9754},{"style":315},[9755],{"type":59,"value":119},{"type":45,"tag":292,"props":9757,"children":9758},{"style":321},[9759],{"type":59,"value":1181},{"type":45,"tag":292,"props":9761,"children":9762},{"style":321},[9763],{"type":59,"value":2299},{"type":45,"tag":292,"props":9765,"children":9766},{"class":294,"line":305},[9767,9771,9775,9780,9784,9788,9792,9796,9800],{"type":45,"tag":292,"props":9768,"children":9769},{"style":2661},[9770],{"type":59,"value":2664},{"type":45,"tag":292,"props":9772,"children":9773},{"style":321},[9774],{"type":59,"value":7466},{"type":45,"tag":292,"props":9776,"children":9777},{"style":813},[9778],{"type":59,"value":9779}," bunRuntimeMetricsIntegration",{"type":45,"tag":292,"props":9781,"children":9782},{"style":321},[9783],{"type":59,"value":3866},{"type":45,"tag":292,"props":9785,"children":9786},{"style":2661},[9787],{"type":59,"value":7480},{"type":45,"tag":292,"props":9789,"children":9790},{"style":321},[9791],{"type":59,"value":345},{"type":45,"tag":292,"props":9793,"children":9794},{"style":315},[9795],{"type":59,"value":119},{"type":45,"tag":292,"props":9797,"children":9798},{"style":321},[9799],{"type":59,"value":1181},{"type":45,"tag":292,"props":9801,"children":9802},{"style":321},[9803],{"type":59,"value":2299},{"type":45,"tag":292,"props":9805,"children":9806},{"class":294,"line":358},[9807],{"type":45,"tag":292,"props":9808,"children":9809},{"emptyLinePlaceholder":40},[9810],{"type":59,"value":448},{"type":45,"tag":292,"props":9812,"children":9813},{"class":294,"line":400},[9814,9818,9822,9826,9830],{"type":45,"tag":292,"props":9815,"children":9816},{"style":813},[9817],{"type":59,"value":9},{"type":45,"tag":292,"props":9819,"children":9820},{"style":321},[9821],{"type":59,"value":2110},{"type":45,"tag":292,"props":9823,"children":9824},{"style":337},[9825],{"type":59,"value":2322},{"type":45,"tag":292,"props":9827,"children":9828},{"style":813},[9829],{"type":59,"value":2277},{"type":45,"tag":292,"props":9831,"children":9832},{"style":321},[9833],{"type":59,"value":2331},{"type":45,"tag":292,"props":9835,"children":9836},{"class":294,"line":442},[9837,9841,9845,9849,9853,9857,9861,9865],{"type":45,"tag":292,"props":9838,"children":9839},{"style":2337},[9840],{"type":59,"value":2340},{"type":45,"tag":292,"props":9842,"children":9843},{"style":321},[9844],{"type":59,"value":2345},{"type":45,"tag":292,"props":9846,"children":9847},{"style":813},[9848],{"type":59,"value":2350},{"type":45,"tag":292,"props":9850,"children":9851},{"style":321},[9852],{"type":59,"value":2110},{"type":45,"tag":292,"props":9854,"children":9855},{"style":813},[9856],{"type":59,"value":2359},{"type":45,"tag":292,"props":9858,"children":9859},{"style":321},[9860],{"type":59,"value":2110},{"type":45,"tag":292,"props":9862,"children":9863},{"style":813},[9864],{"type":59,"value":6910},{"type":45,"tag":292,"props":9866,"children":9867},{"style":321},[9868],{"type":59,"value":2391},{"type":45,"tag":292,"props":9870,"children":9871},{"class":294,"line":451},[9872,9876,9880],{"type":45,"tag":292,"props":9873,"children":9874},{"style":2337},[9875],{"type":59,"value":7605},{"type":45,"tag":292,"props":9877,"children":9878},{"style":321},[9879],{"type":59,"value":2345},{"type":45,"tag":292,"props":9881,"children":9882},{"style":813},[9883],{"type":59,"value":8646},{"type":45,"tag":292,"props":9885,"children":9886},{"class":294,"line":460},[9887,9892,9896],{"type":45,"tag":292,"props":9888,"children":9889},{"style":337},[9890],{"type":59,"value":9891},"    bunRuntimeMetricsIntegration",{"type":45,"tag":292,"props":9893,"children":9894},{"style":813},[9895],{"type":59,"value":3478},{"type":45,"tag":292,"props":9897,"children":9898},{"style":321},[9899],{"type":59,"value":2391},{"type":45,"tag":292,"props":9901,"children":9902},{"class":294,"line":512},[9903],{"type":45,"tag":292,"props":9904,"children":9905},{"style":299},[9906],{"type":59,"value":9601},{"type":45,"tag":292,"props":9908,"children":9909},{"class":294,"line":556},[9910],{"type":45,"tag":292,"props":9911,"children":9912},{"style":299},[9913],{"type":59,"value":9914},"    \u002F\u002F bunRuntimeMetricsIntegration({ collectionIntervalMs: 60_000 }),\n",{"type":45,"tag":292,"props":9916,"children":9917},{"class":294,"line":564},[9918,9922],{"type":45,"tag":292,"props":9919,"children":9920},{"style":813},[9921],{"type":59,"value":8713},{"type":45,"tag":292,"props":9923,"children":9924},{"style":321},[9925],{"type":59,"value":2391},{"type":45,"tag":292,"props":9927,"children":9928},{"class":294,"line":573},[9929,9933,9937],{"type":45,"tag":292,"props":9930,"children":9931},{"style":321},[9932],{"type":59,"value":2618},{"type":45,"tag":292,"props":9934,"children":9935},{"style":813},[9936],{"type":59,"value":2294},{"type":45,"tag":292,"props":9938,"children":9939},{"style":321},[9940],{"type":59,"value":2299},{"type":45,"tag":50,"props":9942,"children":9943},{},[9944,9946,9951],{"type":59,"value":9945},"Metrics collected: same as Node.js except no event loop delay percentiles (unavailable in Bun). Prefixed with ",{"type":45,"tag":106,"props":9947,"children":9949},{"className":9948},[],[9950],{"type":59,"value":9415},{"type":59,"value":2110},{"type":45,"tag":266,"props":9953,"children":9954},{},[],{"type":45,"tag":84,"props":9956,"children":9958},{"id":9957},"configuration-reference",[9959],{"type":59,"value":9960},"Configuration Reference",{"type":45,"tag":2047,"props":9962,"children":9964},{"id":9963},"sentryinit-core-options",[9965,9970],{"type":45,"tag":106,"props":9966,"children":9968},{"className":9967},[],[9969],{"type":59,"value":9053},{"type":59,"value":9971}," Core Options",{"type":45,"tag":1371,"props":9973,"children":9974},{},[9975,10000],{"type":45,"tag":1375,"props":9976,"children":9977},{},[9978],{"type":45,"tag":1379,"props":9979,"children":9980},{},[9981,9986,9991,9996],{"type":45,"tag":1383,"props":9982,"children":9983},{},[9984],{"type":59,"value":9985},"Option",{"type":45,"tag":1383,"props":9987,"children":9988},{},[9989],{"type":59,"value":9990},"Type",{"type":45,"tag":1383,"props":9992,"children":9993},{},[9994],{"type":59,"value":9995},"Default",{"type":45,"tag":1383,"props":9997,"children":9998},{},[9999],{"type":59,"value":6395},{"type":45,"tag":1394,"props":10001,"children":10002},{},[10003,10040,10074,10172,10206,10239,10280,10315,10348,10389,10423],{"type":45,"tag":1379,"props":10004,"children":10005},{},[10006,10015,10024,10028],{"type":45,"tag":1401,"props":10007,"children":10008},{},[10009],{"type":45,"tag":106,"props":10010,"children":10012},{"className":10011},[],[10013],{"type":59,"value":10014},"dsn",{"type":45,"tag":1401,"props":10016,"children":10017},{},[10018],{"type":45,"tag":106,"props":10019,"children":10021},{"className":10020},[],[10022],{"type":59,"value":10023},"string",{"type":45,"tag":1401,"props":10025,"children":10026},{},[10027],{"type":59,"value":5429},{"type":45,"tag":1401,"props":10029,"children":10030},{},[10031,10033,10038],{"type":59,"value":10032},"Required. Also from ",{"type":45,"tag":106,"props":10034,"children":10036},{"className":10035},[],[10037],{"type":59,"value":6910},{"type":59,"value":10039}," env var",{"type":45,"tag":1379,"props":10041,"children":10042},{},[10043,10051,10060,10064],{"type":45,"tag":1401,"props":10044,"children":10045},{},[10046],{"type":45,"tag":106,"props":10047,"children":10049},{"className":10048},[],[10050],{"type":59,"value":1654},{"type":45,"tag":1401,"props":10052,"children":10053},{},[10054],{"type":45,"tag":106,"props":10055,"children":10057},{"className":10056},[],[10058],{"type":59,"value":10059},"number",{"type":45,"tag":1401,"props":10061,"children":10062},{},[10063],{"type":59,"value":5429},{"type":45,"tag":1401,"props":10065,"children":10066},{},[10067,10069],{"type":59,"value":10068},"0–1; required to enable tracing; ",{"type":45,"tag":177,"props":10070,"children":10071},{},[10072],{"type":59,"value":10073},"do not set when using OTLP path",{"type":45,"tag":1379,"props":10075,"children":10076},{},[10077,10086,10095,10100],{"type":45,"tag":1401,"props":10078,"children":10079},{},[10080],{"type":45,"tag":106,"props":10081,"children":10083},{"className":10082},[],[10084],{"type":59,"value":10085},"dataCollection",{"type":45,"tag":1401,"props":10087,"children":10088},{},[10089],{"type":45,"tag":106,"props":10090,"children":10092},{"className":10091},[],[10093],{"type":59,"value":10094},"object",{"type":45,"tag":1401,"props":10096,"children":10097},{},[10098],{"type":59,"value":10099},"conservative unless set",{"type":45,"tag":1401,"props":10101,"children":10102},{},[10103,10105,10111,10112,10118,10119,10125,10126,10132,10133,10139,10140,10146,10148,10154,10156,10162,10164,10170],{"type":59,"value":10104},"Fine-grained control over auto-collected categories (",{"type":45,"tag":106,"props":10106,"children":10108},{"className":10107},[],[10109],{"type":59,"value":10110},"userInfo",{"type":59,"value":113},{"type":45,"tag":106,"props":10113,"children":10115},{"className":10114},[],[10116],{"type":59,"value":10117},"cookies",{"type":59,"value":113},{"type":45,"tag":106,"props":10120,"children":10122},{"className":10121},[],[10123],{"type":59,"value":10124},"httpHeaders",{"type":59,"value":113},{"type":45,"tag":106,"props":10127,"children":10129},{"className":10128},[],[10130],{"type":59,"value":10131},"httpBodies",{"type":59,"value":113},{"type":45,"tag":106,"props":10134,"children":10136},{"className":10135},[],[10137],{"type":59,"value":10138},"queryParams",{"type":59,"value":113},{"type":45,"tag":106,"props":10141,"children":10143},{"className":10142},[],[10144],{"type":59,"value":10145},"genAI",{"type":59,"value":10147},"). When omitted, the SDK falls back to ",{"type":45,"tag":106,"props":10149,"children":10151},{"className":10150},[],[10152],{"type":59,"value":10153},"sendDefaultPii",{"type":59,"value":10155}," (default ",{"type":45,"tag":106,"props":10157,"children":10159},{"className":10158},[],[10160],{"type":59,"value":10161},"false",{"type":59,"value":10163},"). Passing the object — even ",{"type":45,"tag":106,"props":10165,"children":10167},{"className":10166},[],[10168],{"type":59,"value":10169},"{}",{"type":59,"value":10171}," — flips unset categories to their permissive defaults; opt out per category.",{"type":45,"tag":1379,"props":10173,"children":10174},{},[10175,10184,10193,10201],{"type":45,"tag":1401,"props":10176,"children":10177},{},[10178],{"type":45,"tag":106,"props":10179,"children":10181},{"className":10180},[],[10182],{"type":59,"value":10183},"includeLocalVariables",{"type":45,"tag":1401,"props":10185,"children":10186},{},[10187],{"type":45,"tag":106,"props":10188,"children":10190},{"className":10189},[],[10191],{"type":59,"value":10192},"boolean",{"type":45,"tag":1401,"props":10194,"children":10195},{},[10196],{"type":45,"tag":106,"props":10197,"children":10199},{"className":10198},[],[10200],{"type":59,"value":10161},{"type":45,"tag":1401,"props":10202,"children":10203},{},[10204],{"type":59,"value":10205},"Add local variable values to stack frames (Node.js)",{"type":45,"tag":1379,"props":10207,"children":10208},{},[10209,10218,10226,10234],{"type":45,"tag":1401,"props":10210,"children":10211},{},[10212],{"type":45,"tag":106,"props":10213,"children":10215},{"className":10214},[],[10216],{"type":59,"value":10217},"enableLogs",{"type":45,"tag":1401,"props":10219,"children":10220},{},[10221],{"type":45,"tag":106,"props":10222,"children":10224},{"className":10223},[],[10225],{"type":59,"value":10192},{"type":45,"tag":1401,"props":10227,"children":10228},{},[10229],{"type":45,"tag":106,"props":10230,"children":10232},{"className":10231},[],[10233],{"type":59,"value":10161},{"type":45,"tag":1401,"props":10235,"children":10236},{},[10237],{"type":59,"value":10238},"Enable Sentry Logs product (v9.41.0+)",{"type":45,"tag":1379,"props":10240,"children":10241},{},[10242,10251,10259,10268],{"type":45,"tag":1401,"props":10243,"children":10244},{},[10245],{"type":45,"tag":106,"props":10246,"children":10248},{"className":10247},[],[10249],{"type":59,"value":10250},"environment",{"type":45,"tag":1401,"props":10252,"children":10253},{},[10254],{"type":45,"tag":106,"props":10255,"children":10257},{"className":10256},[],[10258],{"type":59,"value":10023},{"type":45,"tag":1401,"props":10260,"children":10261},{},[10262],{"type":45,"tag":106,"props":10263,"children":10265},{"className":10264},[],[10266],{"type":59,"value":10267},"\"production\"",{"type":45,"tag":1401,"props":10269,"children":10270},{},[10271,10273,10279],{"type":59,"value":10272},"Also from ",{"type":45,"tag":106,"props":10274,"children":10276},{"className":10275},[],[10277],{"type":59,"value":10278},"SENTRY_ENVIRONMENT",{"type":59,"value":10039},{"type":45,"tag":1379,"props":10281,"children":10282},{},[10283,10292,10300,10304],{"type":45,"tag":1401,"props":10284,"children":10285},{},[10286],{"type":45,"tag":106,"props":10287,"children":10289},{"className":10288},[],[10290],{"type":59,"value":10291},"release",{"type":45,"tag":1401,"props":10293,"children":10294},{},[10295],{"type":45,"tag":106,"props":10296,"children":10298},{"className":10297},[],[10299],{"type":59,"value":10023},{"type":45,"tag":1401,"props":10301,"children":10302},{},[10303],{"type":59,"value":5429},{"type":45,"tag":1401,"props":10305,"children":10306},{},[10307,10308,10314],{"type":59,"value":10272},{"type":45,"tag":106,"props":10309,"children":10311},{"className":10310},[],[10312],{"type":59,"value":10313},"SENTRY_RELEASE",{"type":59,"value":10039},{"type":45,"tag":1379,"props":10316,"children":10317},{},[10318,10327,10335,10343],{"type":45,"tag":1401,"props":10319,"children":10320},{},[10321],{"type":45,"tag":106,"props":10322,"children":10324},{"className":10323},[],[10325],{"type":59,"value":10326},"debug",{"type":45,"tag":1401,"props":10328,"children":10329},{},[10330],{"type":45,"tag":106,"props":10331,"children":10333},{"className":10332},[],[10334],{"type":59,"value":10192},{"type":45,"tag":1401,"props":10336,"children":10337},{},[10338],{"type":45,"tag":106,"props":10339,"children":10341},{"className":10340},[],[10342],{"type":59,"value":10161},{"type":45,"tag":1401,"props":10344,"children":10345},{},[10346],{"type":59,"value":10347},"Log SDK activity to console",{"type":45,"tag":1379,"props":10349,"children":10350},{},[10351,10360,10368,10377],{"type":45,"tag":1401,"props":10352,"children":10353},{},[10354],{"type":45,"tag":106,"props":10355,"children":10357},{"className":10356},[],[10358],{"type":59,"value":10359},"enabled",{"type":45,"tag":1401,"props":10361,"children":10362},{},[10363],{"type":45,"tag":106,"props":10364,"children":10366},{"className":10365},[],[10367],{"type":59,"value":10192},{"type":45,"tag":1401,"props":10369,"children":10370},{},[10371],{"type":45,"tag":106,"props":10372,"children":10374},{"className":10373},[],[10375],{"type":59,"value":10376},"true",{"type":45,"tag":1401,"props":10378,"children":10379},{},[10380,10382,10387],{"type":59,"value":10381},"Set ",{"type":45,"tag":106,"props":10383,"children":10385},{"className":10384},[],[10386],{"type":59,"value":10161},{"type":59,"value":10388}," in tests to disable sending",{"type":45,"tag":1379,"props":10390,"children":10391},{},[10392,10401,10409,10418],{"type":45,"tag":1401,"props":10393,"children":10394},{},[10395],{"type":45,"tag":106,"props":10396,"children":10398},{"className":10397},[],[10399],{"type":59,"value":10400},"sampleRate",{"type":45,"tag":1401,"props":10402,"children":10403},{},[10404],{"type":45,"tag":106,"props":10405,"children":10407},{"className":10406},[],[10408],{"type":59,"value":10059},{"type":45,"tag":1401,"props":10410,"children":10411},{},[10412],{"type":45,"tag":106,"props":10413,"children":10415},{"className":10414},[],[10416],{"type":59,"value":10417},"1.0",{"type":45,"tag":1401,"props":10419,"children":10420},{},[10421],{"type":59,"value":10422},"Fraction of error events to send (0–1)",{"type":45,"tag":1379,"props":10424,"children":10425},{},[10426,10435,10443,10452],{"type":45,"tag":1401,"props":10427,"children":10428},{},[10429],{"type":45,"tag":106,"props":10430,"children":10432},{"className":10431},[],[10433],{"type":59,"value":10434},"shutdownTimeout",{"type":45,"tag":1401,"props":10436,"children":10437},{},[10438],{"type":45,"tag":106,"props":10439,"children":10441},{"className":10440},[],[10442],{"type":59,"value":10059},{"type":45,"tag":1401,"props":10444,"children":10445},{},[10446],{"type":45,"tag":106,"props":10447,"children":10449},{"className":10448},[],[10450],{"type":59,"value":10451},"2000",{"type":45,"tag":1401,"props":10453,"children":10454},{},[10455],{"type":59,"value":10456},"Milliseconds to flush events before process exit",{"type":45,"tag":2047,"props":10458,"children":10460},{"id":10459},"nativenodefetchintegration-options",[10461,10467],{"type":45,"tag":106,"props":10462,"children":10464},{"className":10463},[],[10465],{"type":59,"value":10466},"nativeNodeFetchIntegration()",{"type":59,"value":10468}," Options",{"type":45,"tag":50,"props":10470,"children":10471},{},[10472,10474,10479,10480,10486,10488,10494,10496,10502,10504,10510],{"type":59,"value":10473},"Configures outgoing ",{"type":45,"tag":106,"props":10475,"children":10477},{"className":10476},[],[10478],{"type":59,"value":7830},{"type":59,"value":1729},{"type":45,"tag":106,"props":10481,"children":10483},{"className":10482},[],[10484],{"type":59,"value":10485},"undici",{"type":59,"value":10487}," span capture. Since ",{"type":45,"tag":106,"props":10489,"children":10491},{"className":10490},[],[10492],{"type":59,"value":10493},"@opentelemetry\u002Finstrumentation-undici@0.22.0",{"type":59,"value":10495},", response headers like ",{"type":45,"tag":106,"props":10497,"children":10499},{"className":10498},[],[10500],{"type":59,"value":10501},"content-length",{"type":59,"value":10503}," are no longer captured automatically — use ",{"type":45,"tag":106,"props":10505,"children":10507},{"className":10506},[],[10508],{"type":59,"value":10509},"headersToSpanAttributes",{"type":59,"value":10511}," to opt in:",{"type":45,"tag":281,"props":10513,"children":10515},{"className":2234,"code":10514,"language":2236,"meta":286,"style":286},"Sentry.init({\n  integrations: [\n    Sentry.nativeNodeFetchIntegration({\n      headersToSpanAttributes: {\n        requestHeaders: [\"x-request-id\"],\n        responseHeaders: [\"content-length\", \"content-type\"],\n      },\n    }),\n  ],\n});\n",[10516],{"type":45,"tag":106,"props":10517,"children":10518},{"__ignoreMap":286},[10519,10542,10557,10581,10597,10635,10688,10696,10711,10722],{"type":45,"tag":292,"props":10520,"children":10521},{"class":294,"line":295},[10522,10526,10530,10534,10538],{"type":45,"tag":292,"props":10523,"children":10524},{"style":813},[10525],{"type":59,"value":9},{"type":45,"tag":292,"props":10527,"children":10528},{"style":321},[10529],{"type":59,"value":2110},{"type":45,"tag":292,"props":10531,"children":10532},{"style":337},[10533],{"type":59,"value":2322},{"type":45,"tag":292,"props":10535,"children":10536},{"style":813},[10537],{"type":59,"value":2277},{"type":45,"tag":292,"props":10539,"children":10540},{"style":321},[10541],{"type":59,"value":2331},{"type":45,"tag":292,"props":10543,"children":10544},{"class":294,"line":305},[10545,10549,10553],{"type":45,"tag":292,"props":10546,"children":10547},{"style":2337},[10548],{"type":59,"value":7605},{"type":45,"tag":292,"props":10550,"children":10551},{"style":321},[10552],{"type":59,"value":2345},{"type":45,"tag":292,"props":10554,"children":10555},{"style":813},[10556],{"type":59,"value":8646},{"type":45,"tag":292,"props":10558,"children":10559},{"class":294,"line":358},[10560,10564,10568,10573,10577],{"type":45,"tag":292,"props":10561,"children":10562},{"style":813},[10563],{"type":59,"value":9576},{"type":45,"tag":292,"props":10565,"children":10566},{"style":321},[10567],{"type":59,"value":2110},{"type":45,"tag":292,"props":10569,"children":10570},{"style":337},[10571],{"type":59,"value":10572},"nativeNodeFetchIntegration",{"type":45,"tag":292,"props":10574,"children":10575},{"style":813},[10576],{"type":59,"value":2277},{"type":45,"tag":292,"props":10578,"children":10579},{"style":321},[10580],{"type":59,"value":2331},{"type":45,"tag":292,"props":10582,"children":10583},{"class":294,"line":400},[10584,10589,10593],{"type":45,"tag":292,"props":10585,"children":10586},{"style":2337},[10587],{"type":59,"value":10588},"      headersToSpanAttributes",{"type":45,"tag":292,"props":10590,"children":10591},{"style":321},[10592],{"type":59,"value":2345},{"type":45,"tag":292,"props":10594,"children":10595},{"style":321},[10596],{"type":59,"value":2415},{"type":45,"tag":292,"props":10598,"children":10599},{"class":294,"line":442},[10600,10605,10609,10613,10617,10622,10626,10631],{"type":45,"tag":292,"props":10601,"children":10602},{"style":2337},[10603],{"type":59,"value":10604},"        requestHeaders",{"type":45,"tag":292,"props":10606,"children":10607},{"style":321},[10608],{"type":59,"value":2345},{"type":45,"tag":292,"props":10610,"children":10611},{"style":813},[10612],{"type":59,"value":7614},{"type":45,"tag":292,"props":10614,"children":10615},{"style":321},[10616],{"type":59,"value":1181},{"type":45,"tag":292,"props":10618,"children":10619},{"style":315},[10620],{"type":59,"value":10621},"x-request-id",{"type":45,"tag":292,"props":10623,"children":10624},{"style":321},[10625],{"type":59,"value":1181},{"type":45,"tag":292,"props":10627,"children":10628},{"style":813},[10629],{"type":59,"value":10630},"]",{"type":45,"tag":292,"props":10632,"children":10633},{"style":321},[10634],{"type":59,"value":2391},{"type":45,"tag":292,"props":10636,"children":10637},{"class":294,"line":451},[10638,10643,10647,10651,10655,10659,10663,10667,10671,10676,10680,10684],{"type":45,"tag":292,"props":10639,"children":10640},{"style":2337},[10641],{"type":59,"value":10642},"        responseHeaders",{"type":45,"tag":292,"props":10644,"children":10645},{"style":321},[10646],{"type":59,"value":2345},{"type":45,"tag":292,"props":10648,"children":10649},{"style":813},[10650],{"type":59,"value":7614},{"type":45,"tag":292,"props":10652,"children":10653},{"style":321},[10654],{"type":59,"value":1181},{"type":45,"tag":292,"props":10656,"children":10657},{"style":315},[10658],{"type":59,"value":10501},{"type":45,"tag":292,"props":10660,"children":10661},{"style":321},[10662],{"type":59,"value":1181},{"type":45,"tag":292,"props":10664,"children":10665},{"style":321},[10666],{"type":59,"value":4873},{"type":45,"tag":292,"props":10668,"children":10669},{"style":321},[10670],{"type":59,"value":345},{"type":45,"tag":292,"props":10672,"children":10673},{"style":315},[10674],{"type":59,"value":10675},"content-type",{"type":45,"tag":292,"props":10677,"children":10678},{"style":321},[10679],{"type":59,"value":1181},{"type":45,"tag":292,"props":10681,"children":10682},{"style":813},[10683],{"type":59,"value":10630},{"type":45,"tag":292,"props":10685,"children":10686},{"style":321},[10687],{"type":59,"value":2391},{"type":45,"tag":292,"props":10689,"children":10690},{"class":294,"line":460},[10691],{"type":45,"tag":292,"props":10692,"children":10693},{"style":321},[10694],{"type":59,"value":10695},"      },\n",{"type":45,"tag":292,"props":10697,"children":10698},{"class":294,"line":512},[10699,10703,10707],{"type":45,"tag":292,"props":10700,"children":10701},{"style":321},[10702],{"type":59,"value":4994},{"type":45,"tag":292,"props":10704,"children":10705},{"style":813},[10706],{"type":59,"value":2294},{"type":45,"tag":292,"props":10708,"children":10709},{"style":321},[10710],{"type":59,"value":2391},{"type":45,"tag":292,"props":10712,"children":10713},{"class":294,"line":556},[10714,10718],{"type":45,"tag":292,"props":10715,"children":10716},{"style":813},[10717],{"type":59,"value":8713},{"type":45,"tag":292,"props":10719,"children":10720},{"style":321},[10721],{"type":59,"value":2391},{"type":45,"tag":292,"props":10723,"children":10724},{"class":294,"line":564},[10725,10729,10733],{"type":45,"tag":292,"props":10726,"children":10727},{"style":321},[10728],{"type":59,"value":2618},{"type":45,"tag":292,"props":10730,"children":10731},{"style":813},[10732],{"type":59,"value":2294},{"type":45,"tag":292,"props":10734,"children":10735},{"style":321},[10736],{"type":59,"value":2299},{"type":45,"tag":1371,"props":10738,"children":10739},{},[10740,10762],{"type":45,"tag":1375,"props":10741,"children":10742},{},[10743],{"type":45,"tag":1379,"props":10744,"children":10745},{},[10746,10750,10754,10758],{"type":45,"tag":1383,"props":10747,"children":10748},{},[10749],{"type":59,"value":9985},{"type":45,"tag":1383,"props":10751,"children":10752},{},[10753],{"type":59,"value":9990},{"type":45,"tag":1383,"props":10755,"children":10756},{},[10757],{"type":59,"value":9995},{"type":45,"tag":1383,"props":10759,"children":10760},{},[10761],{"type":59,"value":6395},{"type":45,"tag":1394,"props":10763,"children":10764},{},[10765,10798,10828],{"type":45,"tag":1379,"props":10766,"children":10767},{},[10768,10777,10785,10793],{"type":45,"tag":1401,"props":10769,"children":10770},{},[10771],{"type":45,"tag":106,"props":10772,"children":10774},{"className":10773},[],[10775],{"type":59,"value":10776},"breadcrumbs",{"type":45,"tag":1401,"props":10778,"children":10779},{},[10780],{"type":45,"tag":106,"props":10781,"children":10783},{"className":10782},[],[10784],{"type":59,"value":10192},{"type":45,"tag":1401,"props":10786,"children":10787},{},[10788],{"type":45,"tag":106,"props":10789,"children":10791},{"className":10790},[],[10792],{"type":59,"value":10376},{"type":45,"tag":1401,"props":10794,"children":10795},{},[10796],{"type":59,"value":10797},"Record breadcrumbs for outgoing fetch requests",{"type":45,"tag":1379,"props":10799,"children":10800},{},[10801,10810,10819,10823],{"type":45,"tag":1401,"props":10802,"children":10803},{},[10804],{"type":45,"tag":106,"props":10805,"children":10807},{"className":10806},[],[10808],{"type":59,"value":10809},"headersToSpanAttributes.requestHeaders",{"type":45,"tag":1401,"props":10811,"children":10812},{},[10813],{"type":45,"tag":106,"props":10814,"children":10816},{"className":10815},[],[10817],{"type":59,"value":10818},"string[]",{"type":45,"tag":1401,"props":10820,"children":10821},{},[10822],{"type":59,"value":5429},{"type":45,"tag":1401,"props":10824,"children":10825},{},[10826],{"type":59,"value":10827},"Request header names to capture as span attributes",{"type":45,"tag":1379,"props":10829,"children":10830},{},[10831,10840,10848,10852],{"type":45,"tag":1401,"props":10832,"children":10833},{},[10834],{"type":45,"tag":106,"props":10835,"children":10837},{"className":10836},[],[10838],{"type":59,"value":10839},"headersToSpanAttributes.responseHeaders",{"type":45,"tag":1401,"props":10841,"children":10842},{},[10843],{"type":45,"tag":106,"props":10844,"children":10846},{"className":10845},[],[10847],{"type":59,"value":10818},{"type":45,"tag":1401,"props":10849,"children":10850},{},[10851],{"type":59,"value":5429},{"type":45,"tag":1401,"props":10853,"children":10854},{},[10855],{"type":59,"value":10856},"Response header names to capture as span attributes",{"type":45,"tag":2047,"props":10858,"children":10860},{"id":10859},"otlpintegration-options-sentrynode-corelightotlp",[10861,10866,10868,10873],{"type":45,"tag":106,"props":10862,"children":10864},{"className":10863},[],[10865],{"type":59,"value":1631},{"type":59,"value":10867}," Options (",{"type":45,"tag":106,"props":10869,"children":10871},{"className":10870},[],[10872],{"type":59,"value":8378},{"type":59,"value":2294},{"type":45,"tag":50,"props":10875,"children":10876},{},[10877,10879,10884,10886,10892],{"type":59,"value":10878},"For OTel-first projects using ",{"type":45,"tag":106,"props":10880,"children":10882},{"className":10881},[],[10883],{"type":59,"value":1639},{"type":59,"value":10885},". Import: ",{"type":45,"tag":106,"props":10887,"children":10889},{"className":10888},[],[10890],{"type":59,"value":10891},"import { otlpIntegration } from '@sentry\u002Fnode-core\u002Flight\u002Fotlp'",{"type":59,"value":2110},{"type":45,"tag":1371,"props":10894,"children":10895},{},[10896,10919],{"type":45,"tag":1375,"props":10897,"children":10898},{},[10899],{"type":45,"tag":1379,"props":10900,"children":10901},{},[10902,10906,10910,10914],{"type":45,"tag":1383,"props":10903,"children":10904},{},[10905],{"type":59,"value":9985},{"type":45,"tag":1383,"props":10907,"children":10908},{},[10909],{"type":59,"value":9990},{"type":45,"tag":1383,"props":10911,"children":10912},{},[10913],{"type":59,"value":9995},{"type":45,"tag":1383,"props":10915,"children":10916},{},[10917],{"type":59,"value":10918},"Purpose",{"type":45,"tag":1394,"props":10920,"children":10921},{},[10922,10962],{"type":45,"tag":1379,"props":10923,"children":10924},{},[10925,10934,10942,10950],{"type":45,"tag":1401,"props":10926,"children":10927},{},[10928],{"type":45,"tag":106,"props":10929,"children":10931},{"className":10930},[],[10932],{"type":59,"value":10933},"setupOtlpTracesExporter",{"type":45,"tag":1401,"props":10935,"children":10936},{},[10937],{"type":45,"tag":106,"props":10938,"children":10940},{"className":10939},[],[10941],{"type":59,"value":10192},{"type":45,"tag":1401,"props":10943,"children":10944},{},[10945],{"type":45,"tag":106,"props":10946,"children":10948},{"className":10947},[],[10949],{"type":59,"value":10376},{"type":45,"tag":1401,"props":10951,"children":10952},{},[10953,10955,10960],{"type":59,"value":10954},"Auto-configure OTLP exporter to send spans to Sentry; set ",{"type":45,"tag":106,"props":10956,"children":10958},{"className":10957},[],[10959],{"type":59,"value":10161},{"type":59,"value":10961}," if you already export to your own Collector",{"type":45,"tag":1379,"props":10963,"children":10964},{},[10965,10974,10982,10991],{"type":45,"tag":1401,"props":10966,"children":10967},{},[10968],{"type":45,"tag":106,"props":10969,"children":10971},{"className":10970},[],[10972],{"type":59,"value":10973},"collectorUrl",{"type":45,"tag":1401,"props":10975,"children":10976},{},[10977],{"type":45,"tag":106,"props":10978,"children":10980},{"className":10979},[],[10981],{"type":59,"value":10023},{"type":45,"tag":1401,"props":10983,"children":10984},{},[10985],{"type":45,"tag":106,"props":10986,"children":10988},{"className":10987},[],[10989],{"type":59,"value":10990},"undefined",{"type":45,"tag":1401,"props":10992,"children":10993},{},[10994,10996,11001],{"type":59,"value":10995},"OTLP HTTP endpoint of an OTel Collector (e.g., ",{"type":45,"tag":106,"props":10997,"children":10999},{"className":10998},[],[11000],{"type":59,"value":8872},{"type":59,"value":11002},"); when set, spans are sent to the collector instead of the DSN-derived Sentry endpoint",{"type":45,"tag":2047,"props":11004,"children":11006},{"id":11005},"graceful-shutdown",[11007],{"type":59,"value":11008},"Graceful Shutdown",{"type":45,"tag":50,"props":11010,"children":11011},{},[11012],{"type":59,"value":11013},"Flush buffered events before process exit — important for short-lived scripts and serverless:",{"type":45,"tag":281,"props":11015,"children":11017},{"className":2234,"code":11016,"language":2236,"meta":286,"style":286},"process.on(\"SIGTERM\", async () => {\n  await Sentry.close(2000); \u002F\u002F flush with 2s timeout\n  process.exit(0);\n});\n",[11018],{"type":45,"tag":106,"props":11019,"children":11020},{"__ignoreMap":286},[11021,11076,11118,11152],{"type":45,"tag":292,"props":11022,"children":11023},{"class":294,"line":295},[11024,11029,11033,11038,11042,11046,11051,11055,11059,11064,11068,11072],{"type":45,"tag":292,"props":11025,"children":11026},{"style":813},[11027],{"type":59,"value":11028},"process",{"type":45,"tag":292,"props":11030,"children":11031},{"style":321},[11032],{"type":59,"value":2110},{"type":45,"tag":292,"props":11034,"children":11035},{"style":337},[11036],{"type":59,"value":11037},"on",{"type":45,"tag":292,"props":11039,"children":11040},{"style":813},[11041],{"type":59,"value":2277},{"type":45,"tag":292,"props":11043,"children":11044},{"style":321},[11045],{"type":59,"value":1181},{"type":45,"tag":292,"props":11047,"children":11048},{"style":315},[11049],{"type":59,"value":11050},"SIGTERM",{"type":45,"tag":292,"props":11052,"children":11053},{"style":321},[11054],{"type":59,"value":1181},{"type":45,"tag":292,"props":11056,"children":11057},{"style":321},[11058],{"type":59,"value":4873},{"type":45,"tag":292,"props":11060,"children":11061},{"style":2254},[11062],{"type":59,"value":11063}," async",{"type":45,"tag":292,"props":11065,"children":11066},{"style":321},[11067],{"type":59,"value":7716},{"type":45,"tag":292,"props":11069,"children":11070},{"style":2254},[11071],{"type":59,"value":4887},{"type":45,"tag":292,"props":11073,"children":11074},{"style":321},[11075],{"type":59,"value":2415},{"type":45,"tag":292,"props":11077,"children":11078},{"class":294,"line":305},[11079,11084,11088,11092,11097,11101,11105,11109,11113],{"type":45,"tag":292,"props":11080,"children":11081},{"style":2661},[11082],{"type":59,"value":11083},"  await",{"type":45,"tag":292,"props":11085,"children":11086},{"style":813},[11087],{"type":59,"value":4322},{"type":45,"tag":292,"props":11089,"children":11090},{"style":321},[11091],{"type":59,"value":2110},{"type":45,"tag":292,"props":11093,"children":11094},{"style":337},[11095],{"type":59,"value":11096},"close",{"type":45,"tag":292,"props":11098,"children":11099},{"style":2337},[11100],{"type":59,"value":2277},{"type":45,"tag":292,"props":11102,"children":11103},{"style":2529},[11104],{"type":59,"value":10451},{"type":45,"tag":292,"props":11106,"children":11107},{"style":2337},[11108],{"type":59,"value":2294},{"type":45,"tag":292,"props":11110,"children":11111},{"style":321},[11112],{"type":59,"value":3028},{"type":45,"tag":292,"props":11114,"children":11115},{"style":299},[11116],{"type":59,"value":11117}," \u002F\u002F flush with 2s timeout\n",{"type":45,"tag":292,"props":11119,"children":11120},{"class":294,"line":358},[11121,11126,11130,11135,11139,11144,11148],{"type":45,"tag":292,"props":11122,"children":11123},{"style":813},[11124],{"type":59,"value":11125},"  process",{"type":45,"tag":292,"props":11127,"children":11128},{"style":321},[11129],{"type":59,"value":2110},{"type":45,"tag":292,"props":11131,"children":11132},{"style":337},[11133],{"type":59,"value":11134},"exit",{"type":45,"tag":292,"props":11136,"children":11137},{"style":2337},[11138],{"type":59,"value":2277},{"type":45,"tag":292,"props":11140,"children":11141},{"style":2529},[11142],{"type":59,"value":11143},"0",{"type":45,"tag":292,"props":11145,"children":11146},{"style":2337},[11147],{"type":59,"value":2294},{"type":45,"tag":292,"props":11149,"children":11150},{"style":321},[11151],{"type":59,"value":2299},{"type":45,"tag":292,"props":11153,"children":11154},{"class":294,"line":400},[11155,11159,11163],{"type":45,"tag":292,"props":11156,"children":11157},{"style":321},[11158],{"type":59,"value":2618},{"type":45,"tag":292,"props":11160,"children":11161},{"style":813},[11162],{"type":59,"value":2294},{"type":45,"tag":292,"props":11164,"children":11165},{"style":321},[11166],{"type":59,"value":2299},{"type":45,"tag":2047,"props":11168,"children":11170},{"id":11169},"environment-variables",[11171],{"type":59,"value":11172},"Environment Variables",{"type":45,"tag":1371,"props":11174,"children":11175},{},[11176,11196],{"type":45,"tag":1375,"props":11177,"children":11178},{},[11179],{"type":45,"tag":1379,"props":11180,"children":11181},{},[11182,11187,11191],{"type":45,"tag":1383,"props":11183,"children":11184},{},[11185],{"type":59,"value":11186},"Variable",{"type":45,"tag":1383,"props":11188,"children":11189},{},[11190],{"type":59,"value":10918},{"type":45,"tag":1383,"props":11192,"children":11193},{},[11194],{"type":59,"value":11195},"Runtime",{"type":45,"tag":1394,"props":11197,"children":11198},{},[11199,11227,11247,11267,11289,11310,11331],{"type":45,"tag":1379,"props":11200,"children":11201},{},[11202,11210,11222],{"type":45,"tag":1401,"props":11203,"children":11204},{},[11205],{"type":45,"tag":106,"props":11206,"children":11208},{"className":11207},[],[11209],{"type":59,"value":6910},{"type":45,"tag":1401,"props":11211,"children":11212},{},[11213,11215,11221],{"type":59,"value":11214},"DSN (alternative to hardcoding in ",{"type":45,"tag":106,"props":11216,"children":11218},{"className":11217},[],[11219],{"type":59,"value":11220},"init()",{"type":59,"value":2294},{"type":45,"tag":1401,"props":11223,"children":11224},{},[11225],{"type":59,"value":11226},"All",{"type":45,"tag":1379,"props":11228,"children":11229},{},[11230,11238,11243],{"type":45,"tag":1401,"props":11231,"children":11232},{},[11233],{"type":45,"tag":106,"props":11234,"children":11236},{"className":11235},[],[11237],{"type":59,"value":10278},{"type":45,"tag":1401,"props":11239,"children":11240},{},[11241],{"type":59,"value":11242},"Deployment environment",{"type":45,"tag":1401,"props":11244,"children":11245},{},[11246],{"type":59,"value":11226},{"type":45,"tag":1379,"props":11248,"children":11249},{},[11250,11258,11263],{"type":45,"tag":1401,"props":11251,"children":11252},{},[11253],{"type":45,"tag":106,"props":11254,"children":11256},{"className":11255},[],[11257],{"type":59,"value":10313},{"type":45,"tag":1401,"props":11259,"children":11260},{},[11261],{"type":59,"value":11262},"Release version string (auto-detected from git)",{"type":45,"tag":1401,"props":11264,"children":11265},{},[11266],{"type":59,"value":11226},{"type":45,"tag":1379,"props":11268,"children":11269},{},[11270,11279,11284],{"type":45,"tag":1401,"props":11271,"children":11272},{},[11273],{"type":45,"tag":106,"props":11274,"children":11276},{"className":11275},[],[11277],{"type":59,"value":11278},"SENTRY_AUTH_TOKEN",{"type":45,"tag":1401,"props":11280,"children":11281},{},[11282],{"type":59,"value":11283},"Source map upload token",{"type":45,"tag":1401,"props":11285,"children":11286},{},[11287],{"type":59,"value":11288},"Build time",{"type":45,"tag":1379,"props":11290,"children":11291},{},[11292,11301,11306],{"type":45,"tag":1401,"props":11293,"children":11294},{},[11295],{"type":45,"tag":106,"props":11296,"children":11298},{"className":11297},[],[11299],{"type":59,"value":11300},"SENTRY_ORG",{"type":45,"tag":1401,"props":11302,"children":11303},{},[11304],{"type":59,"value":11305},"Org slug for source map upload",{"type":45,"tag":1401,"props":11307,"children":11308},{},[11309],{"type":59,"value":11288},{"type":45,"tag":1379,"props":11311,"children":11312},{},[11313,11322,11327],{"type":45,"tag":1401,"props":11314,"children":11315},{},[11316],{"type":45,"tag":106,"props":11317,"children":11319},{"className":11318},[],[11320],{"type":59,"value":11321},"SENTRY_PROJECT",{"type":45,"tag":1401,"props":11323,"children":11324},{},[11325],{"type":59,"value":11326},"Project slug for source map upload",{"type":45,"tag":1401,"props":11328,"children":11329},{},[11330],{"type":59,"value":11288},{"type":45,"tag":1379,"props":11332,"children":11333},{},[11334,11342,11353],{"type":45,"tag":1401,"props":11335,"children":11336},{},[11337],{"type":45,"tag":106,"props":11338,"children":11340},{"className":11339},[],[11341],{"type":59,"value":3300},{"type":45,"tag":1401,"props":11343,"children":11344},{},[11345,11346,11351],{"type":59,"value":10381},{"type":45,"tag":106,"props":11347,"children":11349},{"className":11348},[],[11350],{"type":59,"value":150},{"type":59,"value":11352}," for ESM",{"type":45,"tag":1401,"props":11354,"children":11355},{},[11356],{"type":59,"value":21},{"type":45,"tag":2047,"props":11358,"children":11360},{"id":11359},"source-maps-nodejs",[11361],{"type":59,"value":11362},"Source Maps (Node.js)",{"type":45,"tag":50,"props":11364,"children":11365},{},[11366,11368,11374],{"type":59,"value":11367},"Readable stack traces in production require uploading source maps with ",{"type":45,"tag":106,"props":11369,"children":11371},{"className":11370},[],[11372],{"type":59,"value":11373},"@sentry\u002Fcli",{"type":59,"value":11375}," or the webpack\u002Fesbuild\u002Frollup plugins — for example, an inject + upload step in your build:",{"type":45,"tag":281,"props":11377,"children":11379},{"className":3155,"code":11378,"language":3157,"meta":286,"style":286},"{\n  \"scripts\": {\n    \"build\": \"tsc && sentry-cli sourcemaps inject .\u002Fdist && sentry-cli sourcemaps upload .\u002Fdist\"\n  }\n}\n",[11380],{"type":45,"tag":106,"props":11381,"children":11382},{"__ignoreMap":286},[11383,11390,11413,11446,11453],{"type":45,"tag":292,"props":11384,"children":11385},{"class":294,"line":295},[11386],{"type":45,"tag":292,"props":11387,"children":11388},{"style":321},[11389],{"type":59,"value":2331},{"type":45,"tag":292,"props":11391,"children":11392},{"class":294,"line":305},[11393,11397,11401,11405,11409],{"type":45,"tag":292,"props":11394,"children":11395},{"style":321},[11396],{"type":59,"value":3176},{"type":45,"tag":292,"props":11398,"children":11399},{"style":2254},[11400],{"type":59,"value":3181},{"type":45,"tag":292,"props":11402,"children":11403},{"style":321},[11404],{"type":59,"value":1181},{"type":45,"tag":292,"props":11406,"children":11407},{"style":321},[11408],{"type":59,"value":2345},{"type":45,"tag":292,"props":11410,"children":11411},{"style":321},[11412],{"type":59,"value":2415},{"type":45,"tag":292,"props":11414,"children":11415},{"class":294,"line":358},[11416,11420,11425,11429,11433,11437,11442],{"type":45,"tag":292,"props":11417,"children":11418},{"style":321},[11419],{"type":59,"value":3201},{"type":45,"tag":292,"props":11421,"children":11422},{"style":309},[11423],{"type":59,"value":11424},"build",{"type":45,"tag":292,"props":11426,"children":11427},{"style":321},[11428],{"type":59,"value":1181},{"type":45,"tag":292,"props":11430,"children":11431},{"style":321},[11432],{"type":59,"value":2345},{"type":45,"tag":292,"props":11434,"children":11435},{"style":321},[11436],{"type":59,"value":345},{"type":45,"tag":292,"props":11438,"children":11439},{"style":315},[11440],{"type":59,"value":11441},"tsc && sentry-cli sourcemaps inject .\u002Fdist && sentry-cli sourcemaps upload .\u002Fdist",{"type":45,"tag":292,"props":11443,"children":11444},{"style":321},[11445],{"type":59,"value":355},{"type":45,"tag":292,"props":11447,"children":11448},{"class":294,"line":400},[11449],{"type":45,"tag":292,"props":11450,"children":11451},{"style":321},[11452],{"type":59,"value":3272},{"type":45,"tag":292,"props":11454,"children":11455},{"class":294,"line":442},[11456],{"type":45,"tag":292,"props":11457,"children":11458},{"style":321},[11459],{"type":59,"value":3280},{"type":45,"tag":50,"props":11461,"children":11462},{},[11463,11465,11470,11472,11482],{"type":59,"value":11464},"Upload needs a ",{"type":45,"tag":106,"props":11466,"children":11468},{"className":11467},[],[11469],{"type":59,"value":11278},{"type":59,"value":11471}," (a build-time secret). For creating the token and wiring it into CI, see ",{"type":45,"tag":54,"props":11473,"children":11475},{"href":11474},"..\u002Fsentry-source-maps\u002FSKILL.md",[11476],{"type":45,"tag":106,"props":11477,"children":11479},{"className":11478},[],[11480],{"type":59,"value":11481},"sentry-source-maps",{"type":59,"value":2110},{"type":45,"tag":266,"props":11484,"children":11485},{},[],{"type":45,"tag":84,"props":11487,"children":11489},{"id":11488},"verification",[11490],{"type":59,"value":2108},{"type":45,"tag":50,"props":11492,"children":11493},{},[11494],{"type":59,"value":11495},"After setup, verify Sentry is receiving events:",{"type":45,"tag":281,"props":11497,"children":11499},{"className":2234,"code":11498,"language":2236,"meta":286,"style":286},"\u002F\u002F Add temporarily to your entry file or a test route, then remove\nimport * as Sentry from \"@sentry\u002Fnode\"; \u002F\u002F or @sentry\u002Fbun \u002F @sentry\u002Fdeno\n\nSentry.captureException(new Error(\"Sentry test error — delete me\"));\n",[11500],{"type":45,"tag":106,"props":11501,"children":11502},{"__ignoreMap":286},[11503,11511,11555,11562],{"type":45,"tag":292,"props":11504,"children":11505},{"class":294,"line":295},[11506],{"type":45,"tag":292,"props":11507,"children":11508},{"style":299},[11509],{"type":59,"value":11510},"\u002F\u002F Add temporarily to your entry file or a test route, then remove\n",{"type":45,"tag":292,"props":11512,"children":11513},{"class":294,"line":305},[11514,11518,11522,11526,11530,11534,11538,11542,11546,11550],{"type":45,"tag":292,"props":11515,"children":11516},{"style":2661},[11517],{"type":59,"value":2664},{"type":45,"tag":292,"props":11519,"children":11520},{"style":321},[11521],{"type":59,"value":816},{"type":45,"tag":292,"props":11523,"children":11524},{"style":2661},[11525],{"type":59,"value":2673},{"type":45,"tag":292,"props":11527,"children":11528},{"style":813},[11529],{"type":59,"value":2262},{"type":45,"tag":292,"props":11531,"children":11532},{"style":2661},[11533],{"type":59,"value":2682},{"type":45,"tag":292,"props":11535,"children":11536},{"style":321},[11537],{"type":59,"value":345},{"type":45,"tag":292,"props":11539,"children":11540},{"style":315},[11541],{"type":59,"value":111},{"type":45,"tag":292,"props":11543,"children":11544},{"style":321},[11545],{"type":59,"value":1181},{"type":45,"tag":292,"props":11547,"children":11548},{"style":321},[11549],{"type":59,"value":3028},{"type":45,"tag":292,"props":11551,"children":11552},{"style":299},[11553],{"type":59,"value":11554}," \u002F\u002F or @sentry\u002Fbun \u002F @sentry\u002Fdeno\n",{"type":45,"tag":292,"props":11556,"children":11557},{"class":294,"line":358},[11558],{"type":45,"tag":292,"props":11559,"children":11560},{"emptyLinePlaceholder":40},[11561],{"type":59,"value":448},{"type":45,"tag":292,"props":11563,"children":11564},{"class":294,"line":400},[11565,11569,11573,11577,11581,11586,11591,11595,11599,11604,11608,11613],{"type":45,"tag":292,"props":11566,"children":11567},{"style":813},[11568],{"type":59,"value":9},{"type":45,"tag":292,"props":11570,"children":11571},{"style":321},[11572],{"type":59,"value":2110},{"type":45,"tag":292,"props":11574,"children":11575},{"style":337},[11576],{"type":59,"value":5034},{"type":45,"tag":292,"props":11578,"children":11579},{"style":813},[11580],{"type":59,"value":2277},{"type":45,"tag":292,"props":11582,"children":11583},{"style":321},[11584],{"type":59,"value":11585},"new",{"type":45,"tag":292,"props":11587,"children":11588},{"style":337},[11589],{"type":59,"value":11590}," Error",{"type":45,"tag":292,"props":11592,"children":11593},{"style":813},[11594],{"type":59,"value":2277},{"type":45,"tag":292,"props":11596,"children":11597},{"style":321},[11598],{"type":59,"value":1181},{"type":45,"tag":292,"props":11600,"children":11601},{"style":315},[11602],{"type":59,"value":11603},"Sentry test error — delete me",{"type":45,"tag":292,"props":11605,"children":11606},{"style":321},[11607],{"type":59,"value":1181},{"type":45,"tag":292,"props":11609,"children":11610},{"style":813},[11611],{"type":59,"value":11612},"))",{"type":45,"tag":292,"props":11614,"children":11615},{"style":321},[11616],{"type":59,"value":2299},{"type":45,"tag":50,"props":11618,"children":11619},{},[11620],{"type":59,"value":11621},"Or trigger an unhandled exception:",{"type":45,"tag":281,"props":11623,"children":11625},{"className":2234,"code":11624,"language":2236,"meta":286,"style":286},"\u002F\u002F In a route handler or startup — will be captured automatically\nthrow new Error(\"Sentry test error — delete me\");\n",[11626],{"type":45,"tag":106,"props":11627,"children":11628},{"__ignoreMap":286},[11629,11637],{"type":45,"tag":292,"props":11630,"children":11631},{"class":294,"line":295},[11632],{"type":45,"tag":292,"props":11633,"children":11634},{"style":299},[11635],{"type":59,"value":11636},"\u002F\u002F In a route handler or startup — will be captured automatically\n",{"type":45,"tag":292,"props":11638,"children":11639},{"class":294,"line":305},[11640,11645,11649,11653,11657,11661,11665,11669,11673],{"type":45,"tag":292,"props":11641,"children":11642},{"style":2661},[11643],{"type":59,"value":11644},"throw",{"type":45,"tag":292,"props":11646,"children":11647},{"style":321},[11648],{"type":59,"value":4004},{"type":45,"tag":292,"props":11650,"children":11651},{"style":337},[11652],{"type":59,"value":11590},{"type":45,"tag":292,"props":11654,"children":11655},{"style":813},[11656],{"type":59,"value":2277},{"type":45,"tag":292,"props":11658,"children":11659},{"style":321},[11660],{"type":59,"value":1181},{"type":45,"tag":292,"props":11662,"children":11663},{"style":315},[11664],{"type":59,"value":11603},{"type":45,"tag":292,"props":11666,"children":11667},{"style":321},[11668],{"type":59,"value":1181},{"type":45,"tag":292,"props":11670,"children":11671},{"style":813},[11672],{"type":59,"value":2294},{"type":45,"tag":292,"props":11674,"children":11675},{"style":321},[11676],{"type":59,"value":2299},{"type":45,"tag":50,"props":11678,"children":11679},{},[11680,11682,11689],{"type":59,"value":11681},"Then check your ",{"type":45,"tag":54,"props":11683,"children":11686},{"href":11684,"rel":11685},"https:\u002F\u002Fsentry.io\u002Fissues\u002F",[259],[11687],{"type":59,"value":11688},"Sentry Issues dashboard",{"type":59,"value":11690}," — the error should appear within ~30 seconds.",{"type":45,"tag":50,"props":11692,"children":11693},{},[11694],{"type":45,"tag":177,"props":11695,"children":11696},{},[11697],{"type":59,"value":11698},"Verification checklist:",{"type":45,"tag":1371,"props":11700,"children":11701},{},[11702,11718],{"type":45,"tag":1375,"props":11703,"children":11704},{},[11705],{"type":45,"tag":1379,"props":11706,"children":11707},{},[11708,11713],{"type":45,"tag":1383,"props":11709,"children":11710},{},[11711],{"type":59,"value":11712},"Check",{"type":45,"tag":1383,"props":11714,"children":11715},{},[11716],{"type":59,"value":11717},"How",{"type":45,"tag":1394,"props":11719,"children":11720},{},[11721,11734,11747,11765],{"type":45,"tag":1379,"props":11722,"children":11723},{},[11724,11729],{"type":45,"tag":1401,"props":11725,"children":11726},{},[11727],{"type":59,"value":11728},"Error captured",{"type":45,"tag":1401,"props":11730,"children":11731},{},[11732],{"type":59,"value":11733},"Throw in a handler, verify in Sentry Issues",{"type":45,"tag":1379,"props":11735,"children":11736},{},[11737,11742],{"type":45,"tag":1401,"props":11738,"children":11739},{},[11740],{"type":59,"value":11741},"Tracing working",{"type":45,"tag":1401,"props":11743,"children":11744},{},[11745],{"type":59,"value":11746},"Check Performance tab — should show HTTP spans",{"type":45,"tag":1379,"props":11748,"children":11749},{},[11750,11760],{"type":45,"tag":1401,"props":11751,"children":11752},{},[11753,11758],{"type":45,"tag":106,"props":11754,"children":11756},{"className":11755},[],[11757],{"type":59,"value":10183},{"type":59,"value":11759}," working",{"type":45,"tag":1401,"props":11761,"children":11762},{},[11763],{"type":59,"value":11764},"Stack frame in Sentry should show variable values",{"type":45,"tag":1379,"props":11766,"children":11767},{},[11768,11773],{"type":45,"tag":1401,"props":11769,"children":11770},{},[11771],{"type":59,"value":11772},"Source maps working",{"type":45,"tag":1401,"props":11774,"children":11775},{},[11776],{"type":59,"value":11777},"Stack trace shows readable file names, not minified",{"type":45,"tag":266,"props":11779,"children":11780},{},[],{"type":45,"tag":84,"props":11782,"children":11784},{"id":11783},"phase-4-cross-link",[11785],{"type":59,"value":11786},"Phase 4: Cross-Link",{"type":45,"tag":50,"props":11788,"children":11789},{},[11790],{"type":59,"value":11791},"After completing backend setup, check for companion services:",{"type":45,"tag":281,"props":11793,"children":11795},{"className":283,"code":11794,"language":285,"meta":286,"style":286},"# Frontend companion\nls frontend\u002F web\u002F client\u002F ui\u002F 2>\u002Fdev\u002Fnull\ncat package.json 2>\u002Fdev\u002Fnull | grep -E '\"react\"|\"vue\"|\"svelte\"|\"next\"'\n\n# Other backend services\nls ..\u002Fgo.mod ..\u002Frequirements.txt ..\u002FGemfile 2>\u002Fdev\u002Fnull\n",[11796],{"type":45,"tag":106,"props":11797,"children":11798},{"__ignoreMap":286},[11799,11807,11838,11881,11888,11896],{"type":45,"tag":292,"props":11800,"children":11801},{"class":294,"line":295},[11802],{"type":45,"tag":292,"props":11803,"children":11804},{"style":299},[11805],{"type":59,"value":11806},"# Frontend companion\n",{"type":45,"tag":292,"props":11808,"children":11809},{"class":294,"line":305},[11810,11814,11818,11822,11826,11830,11834],{"type":45,"tag":292,"props":11811,"children":11812},{"style":309},[11813],{"type":59,"value":810},{"type":45,"tag":292,"props":11815,"children":11816},{"style":315},[11817],{"type":59,"value":1293},{"type":45,"tag":292,"props":11819,"children":11820},{"style":315},[11821],{"type":59,"value":1298},{"type":45,"tag":292,"props":11823,"children":11824},{"style":315},[11825],{"type":59,"value":1303},{"type":45,"tag":292,"props":11827,"children":11828},{"style":315},[11829],{"type":59,"value":1308},{"type":45,"tag":292,"props":11831,"children":11832},{"style":321},[11833],{"type":59,"value":324},{"type":45,"tag":292,"props":11835,"children":11836},{"style":315},[11837],{"type":59,"value":906},{"type":45,"tag":292,"props":11839,"children":11840},{"class":294,"line":358},[11841,11845,11849,11853,11857,11861,11865,11869,11873,11877],{"type":45,"tag":292,"props":11842,"children":11843},{"style":309},[11844],{"type":59,"value":466},{"type":45,"tag":292,"props":11846,"children":11847},{"style":315},[11848],{"type":59,"value":471},{"type":45,"tag":292,"props":11850,"children":11851},{"style":321},[11852],{"type":59,"value":324},{"type":45,"tag":292,"props":11854,"children":11855},{"style":315},[11856],{"type":59,"value":329},{"type":45,"tag":292,"props":11858,"children":11859},{"style":321},[11860],{"type":59,"value":484},{"type":45,"tag":292,"props":11862,"children":11863},{"style":309},[11864],{"type":59,"value":489},{"type":45,"tag":292,"props":11866,"children":11867},{"style":315},[11868],{"type":59,"value":494},{"type":45,"tag":292,"props":11870,"children":11871},{"style":321},[11872],{"type":59,"value":499},{"type":45,"tag":292,"props":11874,"children":11875},{"style":315},[11876],{"type":59,"value":1357},{"type":45,"tag":292,"props":11878,"children":11879},{"style":321},[11880],{"type":59,"value":509},{"type":45,"tag":292,"props":11882,"children":11883},{"class":294,"line":400},[11884],{"type":45,"tag":292,"props":11885,"children":11886},{"emptyLinePlaceholder":40},[11887],{"type":59,"value":448},{"type":45,"tag":292,"props":11889,"children":11890},{"class":294,"line":442},[11891],{"type":45,"tag":292,"props":11892,"children":11893},{"style":299},[11894],{"type":59,"value":11895},"# Other backend services\n",{"type":45,"tag":292,"props":11897,"children":11898},{"class":294,"line":451},[11899,11903,11908,11913,11918,11922],{"type":45,"tag":292,"props":11900,"children":11901},{"style":309},[11902],{"type":59,"value":810},{"type":45,"tag":292,"props":11904,"children":11905},{"style":315},[11906],{"type":59,"value":11907}," ..\u002Fgo.mod",{"type":45,"tag":292,"props":11909,"children":11910},{"style":315},[11911],{"type":59,"value":11912}," ..\u002Frequirements.txt",{"type":45,"tag":292,"props":11914,"children":11915},{"style":315},[11916],{"type":59,"value":11917}," ..\u002FGemfile",{"type":45,"tag":292,"props":11919,"children":11920},{"style":321},[11921],{"type":59,"value":324},{"type":45,"tag":292,"props":11923,"children":11924},{"style":315},[11925],{"type":59,"value":906},{"type":45,"tag":50,"props":11927,"children":11928},{},[11929],{"type":59,"value":11930},"If a frontend, framework-specific SDK, or other backend is found, suggest the matching skill:",{"type":45,"tag":50,"props":11932,"children":11933},{},[11934],{"type":45,"tag":177,"props":11935,"children":11936},{},[11937],{"type":59,"value":11938},"Dedicated JavaScript framework skills (prefer these over generic node-sdk):",{"type":45,"tag":1371,"props":11940,"children":11941},{},[11942,11963],{"type":45,"tag":1375,"props":11943,"children":11944},{},[11945],{"type":45,"tag":1379,"props":11946,"children":11947},{},[11948,11953,11958],{"type":45,"tag":1383,"props":11949,"children":11950},{},[11951],{"type":59,"value":11952},"Detected",{"type":45,"tag":1383,"props":11954,"children":11955},{},[11956],{"type":59,"value":11957},"Prefer skill",{"type":45,"tag":1383,"props":11959,"children":11960},{},[11961],{"type":59,"value":11962},"Why",{"type":45,"tag":1394,"props":11964,"children":11965},{},[11966,12010],{"type":45,"tag":1379,"props":11967,"children":11968},{},[11969,11987,11998],{"type":45,"tag":1401,"props":11970,"children":11971},{},[11972,11974,11980,11981,11986],{"type":59,"value":11973},"NestJS (",{"type":45,"tag":106,"props":11975,"children":11977},{"className":11976},[],[11978],{"type":59,"value":11979},"@nestjs\u002Fcore",{"type":59,"value":1610},{"type":45,"tag":106,"props":11982,"children":11984},{"className":11983},[],[11985],{"type":59,"value":1616},{"type":59,"value":2294},{"type":45,"tag":1401,"props":11988,"children":11989},{},[11990],{"type":45,"tag":54,"props":11991,"children":11992},{"href":186},[11993],{"type":45,"tag":106,"props":11994,"children":11996},{"className":11995},[],[11997],{"type":59,"value":193},{"type":45,"tag":1401,"props":11999,"children":12000},{},[12001,12003,12008],{"type":59,"value":12002},"Uses ",{"type":45,"tag":106,"props":12004,"children":12006},{"className":12005},[],[12007],{"type":59,"value":201},{"type":59,"value":12009}," with NestJS-native decorators, filters, and GraphQL support",{"type":45,"tag":1379,"props":12011,"children":12012},{},[12013,12031,12042],{"type":45,"tag":1401,"props":12014,"children":12015},{},[12016,12018,12024,12025,12030],{"type":59,"value":12017},"Next.js (",{"type":45,"tag":106,"props":12019,"children":12021},{"className":12020},[],[12022],{"type":59,"value":12023},"next",{"type":59,"value":1610},{"type":45,"tag":106,"props":12026,"children":12028},{"className":12027},[],[12029],{"type":59,"value":1616},{"type":59,"value":2294},{"type":45,"tag":1401,"props":12032,"children":12033},{},[12034],{"type":45,"tag":54,"props":12035,"children":12036},{"href":212},[12037],{"type":45,"tag":106,"props":12038,"children":12040},{"className":12039},[],[12041],{"type":59,"value":219},{"type":45,"tag":1401,"props":12043,"children":12044},{},[12045,12047,12053],{"type":59,"value":12046},"Three-runtime architecture (browser, server, edge), ",{"type":45,"tag":106,"props":12048,"children":12050},{"className":12049},[],[12051],{"type":59,"value":12052},"withSentryConfig",{"type":59,"value":12054},", source map upload",{"type":45,"tag":50,"props":12056,"children":12057},{},[12058],{"type":45,"tag":177,"props":12059,"children":12060},{},[12061],{"type":59,"value":12062},"Frontend companions:",{"type":45,"tag":1371,"props":12064,"children":12065},{},[12066,12081],{"type":45,"tag":1375,"props":12067,"children":12068},{},[12069],{"type":45,"tag":1379,"props":12070,"children":12071},{},[12072,12076],{"type":45,"tag":1383,"props":12073,"children":12074},{},[12075],{"type":59,"value":11952},{"type":45,"tag":1383,"props":12077,"children":12078},{},[12079],{"type":59,"value":12080},"Suggest",{"type":45,"tag":1394,"props":12082,"children":12083},{},[12084,12118],{"type":45,"tag":1379,"props":12085,"children":12086},{},[12087,12105],{"type":45,"tag":1401,"props":12088,"children":12089},{},[12090,12092,12098,12099,12104],{"type":59,"value":12091},"React app (",{"type":45,"tag":106,"props":12093,"children":12095},{"className":12094},[],[12096],{"type":59,"value":12097},"react",{"type":59,"value":1610},{"type":45,"tag":106,"props":12100,"children":12102},{"className":12101},[],[12103],{"type":59,"value":1616},{"type":59,"value":2294},{"type":45,"tag":1401,"props":12106,"children":12107},{},[12108],{"type":45,"tag":54,"props":12109,"children":12111},{"href":12110},"..\u002Fsentry-react-sdk\u002FSKILL.md",[12112],{"type":45,"tag":106,"props":12113,"children":12115},{"className":12114},[],[12116],{"type":59,"value":12117},"sentry-react-sdk",{"type":45,"tag":1379,"props":12119,"children":12120},{},[12121,12126],{"type":45,"tag":1401,"props":12122,"children":12123},{},[12124],{"type":59,"value":12125},"Svelte\u002FSvelteKit",{"type":45,"tag":1401,"props":12127,"children":12128},{},[12129],{"type":45,"tag":54,"props":12130,"children":12132},{"href":12131},"..\u002Fsentry-svelte-sdk\u002FSKILL.md",[12133],{"type":45,"tag":106,"props":12134,"children":12136},{"className":12135},[],[12137],{"type":59,"value":12138},"sentry-svelte-sdk",{"type":45,"tag":50,"props":12140,"children":12141},{},[12142],{"type":45,"tag":177,"props":12143,"children":12144},{},[12145],{"type":59,"value":12146},"Other backend companions:",{"type":45,"tag":1371,"props":12148,"children":12149},{},[12150,12164],{"type":45,"tag":1375,"props":12151,"children":12152},{},[12153],{"type":45,"tag":1379,"props":12154,"children":12155},{},[12156,12160],{"type":45,"tag":1383,"props":12157,"children":12158},{},[12159],{"type":59,"value":11952},{"type":45,"tag":1383,"props":12161,"children":12162},{},[12163],{"type":59,"value":12080},{"type":45,"tag":1394,"props":12165,"children":12166},{},[12167,12195,12230],{"type":45,"tag":1379,"props":12168,"children":12169},{},[12170,12182],{"type":45,"tag":1401,"props":12171,"children":12172},{},[12173,12175,12181],{"type":59,"value":12174},"Go backend (",{"type":45,"tag":106,"props":12176,"children":12178},{"className":12177},[],[12179],{"type":59,"value":12180},"go.mod",{"type":59,"value":2294},{"type":45,"tag":1401,"props":12183,"children":12184},{},[12185],{"type":45,"tag":54,"props":12186,"children":12188},{"href":12187},"..\u002Fsentry-go-sdk\u002FSKILL.md",[12189],{"type":45,"tag":106,"props":12190,"children":12192},{"className":12191},[],[12193],{"type":59,"value":12194},"sentry-go-sdk",{"type":45,"tag":1379,"props":12196,"children":12197},{},[12198,12217],{"type":45,"tag":1401,"props":12199,"children":12200},{},[12201,12203,12209,12210,12216],{"type":59,"value":12202},"Python backend (",{"type":45,"tag":106,"props":12204,"children":12206},{"className":12205},[],[12207],{"type":59,"value":12208},"requirements.txt",{"type":59,"value":113},{"type":45,"tag":106,"props":12211,"children":12213},{"className":12212},[],[12214],{"type":59,"value":12215},"pyproject.toml",{"type":59,"value":2294},{"type":45,"tag":1401,"props":12218,"children":12219},{},[12220],{"type":45,"tag":54,"props":12221,"children":12223},{"href":12222},"..\u002Fsentry-python-sdk\u002FSKILL.md",[12224],{"type":45,"tag":106,"props":12225,"children":12227},{"className":12226},[],[12228],{"type":59,"value":12229},"sentry-python-sdk",{"type":45,"tag":1379,"props":12231,"children":12232},{},[12233,12245],{"type":45,"tag":1401,"props":12234,"children":12235},{},[12236,12238,12244],{"type":59,"value":12237},"Ruby backend (",{"type":45,"tag":106,"props":12239,"children":12241},{"className":12240},[],[12242],{"type":59,"value":12243},"Gemfile",{"type":59,"value":2294},{"type":45,"tag":1401,"props":12246,"children":12247},{},[12248],{"type":45,"tag":54,"props":12249,"children":12251},{"href":12250},"..\u002Fsentry-ruby-sdk\u002FSKILL.md",[12252],{"type":45,"tag":106,"props":12253,"children":12255},{"className":12254},[],[12256],{"type":59,"value":12257},"sentry-ruby-sdk",{"type":45,"tag":50,"props":12259,"children":12260},{},[12261,12263,12268],{"type":59,"value":12262},"Connecting frontend and backend with the same DSN or linked projects enables ",{"type":45,"tag":177,"props":12264,"children":12265},{},[12266],{"type":59,"value":12267},"distributed tracing",{"type":59,"value":12269}," — stack traces that span your browser, API server, and database in a single trace view.",{"type":45,"tag":266,"props":12271,"children":12272},{},[],{"type":45,"tag":84,"props":12274,"children":12276},{"id":12275},"troubleshooting",[12277],{"type":59,"value":12278},"Troubleshooting",{"type":45,"tag":1371,"props":12280,"children":12281},{},[12282,12303],{"type":45,"tag":1375,"props":12283,"children":12284},{},[12285],{"type":45,"tag":1379,"props":12286,"children":12287},{},[12288,12293,12298],{"type":45,"tag":1383,"props":12289,"children":12290},{},[12291],{"type":59,"value":12292},"Issue",{"type":45,"tag":1383,"props":12294,"children":12295},{},[12296],{"type":59,"value":12297},"Cause",{"type":45,"tag":1383,"props":12299,"children":12300},{},[12301],{"type":59,"value":12302},"Solution",{"type":45,"tag":1394,"props":12304,"children":12305},{},[12306,12348,12384,12425,12453,12483,12515,12546,12585,12623,12648,12673,12734,12770],{"type":45,"tag":1379,"props":12307,"children":12308},{},[12309,12314,12324],{"type":45,"tag":1401,"props":12310,"children":12311},{},[12312],{"type":59,"value":12313},"Events not appearing",{"type":45,"tag":1401,"props":12315,"children":12316},{},[12317,12322],{"type":45,"tag":106,"props":12318,"children":12320},{"className":12319},[],[12321],{"type":59,"value":143},{"type":59,"value":12323}," loaded too late",{"type":45,"tag":1401,"props":12325,"children":12326},{},[12327,12329,12335,12337,12342,12343],{"type":59,"value":12328},"Ensure it's the first ",{"type":45,"tag":106,"props":12330,"children":12332},{"className":12331},[],[12333],{"type":59,"value":12334},"require()",{"type":59,"value":12336}," \u002F loaded via ",{"type":45,"tag":106,"props":12338,"children":12340},{"className":12339},[],[12341],{"type":59,"value":3109},{"type":59,"value":1602},{"type":45,"tag":106,"props":12344,"children":12346},{"className":12345},[],[12347],{"type":59,"value":5806},{"type":45,"tag":1379,"props":12349,"children":12350},{},[12351,12356,12366],{"type":45,"tag":1401,"props":12352,"children":12353},{},[12354],{"type":59,"value":12355},"Tracing spans missing",{"type":45,"tag":1401,"props":12357,"children":12358},{},[12359,12364],{"type":45,"tag":106,"props":12360,"children":12362},{"className":12361},[],[12363],{"type":59,"value":1654},{"type":59,"value":12365}," not set",{"type":45,"tag":1401,"props":12367,"children":12368},{},[12369,12371,12377,12379],{"type":59,"value":12370},"Add ",{"type":45,"tag":106,"props":12372,"children":12374},{"className":12373},[],[12375],{"type":59,"value":12376},"tracesSampleRate: 1.0",{"type":59,"value":12378}," to ",{"type":45,"tag":106,"props":12380,"children":12382},{"className":12381},[],[12383],{"type":59,"value":9053},{"type":45,"tag":1379,"props":12385,"children":12386},{},[12387,12392,12404],{"type":45,"tag":1401,"props":12388,"children":12389},{},[12390],{"type":59,"value":12391},"ESM instrumentation not working",{"type":45,"tag":1401,"props":12393,"children":12394},{},[12395,12397,12402],{"type":59,"value":12396},"Missing ",{"type":45,"tag":106,"props":12398,"children":12400},{"className":12399},[],[12401],{"type":59,"value":3109},{"type":59,"value":12403}," flag",{"type":45,"tag":1401,"props":12405,"children":12406},{},[12407,12409,12415,12417,12423],{"type":59,"value":12408},"Run with ",{"type":45,"tag":106,"props":12410,"children":12412},{"className":12411},[],[12413],{"type":59,"value":12414},"node --import .\u002Finstrument.mjs",{"type":59,"value":12416},"; ",{"type":45,"tag":106,"props":12418,"children":12420},{"className":12419},[],[12421],{"type":59,"value":12422},"import \".\u002Finstrument.mjs\"",{"type":59,"value":12424}," inside app is not sufficient",{"type":45,"tag":1379,"props":12426,"children":12427},{},[12428,12438,12443],{"type":45,"tag":1401,"props":12429,"children":12430},{},[12431,12436],{"type":45,"tag":106,"props":12432,"children":12434},{"className":12433},[],[12435],{"type":59,"value":6487},{"type":59,"value":12437}," install fails on Bun",{"type":45,"tag":1401,"props":12439,"children":12440},{},[12441],{"type":59,"value":12442},"Native addon incompatible",{"type":45,"tag":1401,"props":12444,"children":12445},{},[12446,12448],{"type":59,"value":12447},"Profiling is not supported on Bun — remove ",{"type":45,"tag":106,"props":12449,"children":12451},{"className":12450},[],[12452],{"type":59,"value":6487},{"type":45,"tag":1379,"props":12454,"children":12455},{},[12456,12461,12473],{"type":45,"tag":1401,"props":12457,"children":12458},{},[12459],{"type":59,"value":12460},"Deno: events not sent",{"type":45,"tag":1401,"props":12462,"children":12463},{},[12464,12465,12471],{"type":59,"value":12396},{"type":45,"tag":106,"props":12466,"children":12468},{"className":12467},[],[12469],{"type":59,"value":12470},"--allow-net",{"type":59,"value":12472}," permission",{"type":45,"tag":1401,"props":12474,"children":12475},{},[12476,12477],{"type":59,"value":12408},{"type":45,"tag":106,"props":12478,"children":12480},{"className":12479},[],[12481],{"type":59,"value":12482},"--allow-net=o\u003CORG_ID>.ingest.sentry.io",{"type":45,"tag":1379,"props":12484,"children":12485},{},[12486,12498,12503],{"type":45,"tag":1401,"props":12487,"children":12488},{},[12489,12491,12496],{"type":59,"value":12490},"Deno: ",{"type":45,"tag":106,"props":12492,"children":12494},{"className":12493},[],[12495],{"type":59,"value":6616},{"type":59,"value":12497}," not working",{"type":45,"tag":1401,"props":12499,"children":12500},{},[12501],{"type":59,"value":12502},"Deprecated and frozen at v8.55.0",{"type":45,"tag":1401,"props":12504,"children":12505},{},[12506,12508,12513],{"type":59,"value":12507},"Switch to ",{"type":45,"tag":106,"props":12509,"children":12511},{"className":12510},[],[12512],{"type":59,"value":164},{"type":59,"value":12514}," specifier",{"type":45,"tag":1379,"props":12516,"children":12517},{},[12518,12528,12533],{"type":45,"tag":1401,"props":12519,"children":12520},{},[12521,12526],{"type":45,"tag":106,"props":12522,"children":12524},{"className":12523},[],[12525],{"type":59,"value":10183},{"type":59,"value":12527}," not showing values",{"type":45,"tag":1401,"props":12529,"children":12530},{},[12531],{"type":59,"value":12532},"Integration not activated or minified code",{"type":45,"tag":1401,"props":12534,"children":12535},{},[12536,12538,12544],{"type":59,"value":12537},"Ensure ",{"type":45,"tag":106,"props":12539,"children":12541},{"className":12540},[],[12542],{"type":59,"value":12543},"includeLocalVariables: true",{"type":59,"value":12545}," in init; check source maps",{"type":45,"tag":1379,"props":12547,"children":12548},{},[12549,12554,12559],{"type":45,"tag":1401,"props":12550,"children":12551},{},[12552],{"type":59,"value":12553},"NestJS: errors not captured",{"type":45,"tag":1401,"props":12555,"children":12556},{},[12557],{"type":59,"value":12558},"Wrong SDK or missing filter",{"type":45,"tag":1401,"props":12560,"children":12561},{},[12562,12563,12571,12573,12578,12580],{"type":59,"value":6600},{"type":45,"tag":54,"props":12564,"children":12565},{"href":186},[12566],{"type":45,"tag":106,"props":12567,"children":12569},{"className":12568},[],[12570],{"type":59,"value":193},{"type":59,"value":12572}," — NestJS needs ",{"type":45,"tag":106,"props":12574,"children":12576},{"className":12575},[],[12577],{"type":59,"value":201},{"type":59,"value":12579},", not ",{"type":45,"tag":106,"props":12581,"children":12583},{"className":12582},[],[12584],{"type":59,"value":111},{"type":45,"tag":1379,"props":12586,"children":12587},{},[12588,12600,12605],{"type":45,"tag":1401,"props":12589,"children":12590},{},[12591,12593,12598],{"type":59,"value":12592},"Hapi: ",{"type":45,"tag":106,"props":12594,"children":12596},{"className":12595},[],[12597],{"type":59,"value":4331},{"type":59,"value":12599}," timing issue",{"type":45,"tag":1401,"props":12601,"children":12602},{},[12603],{"type":59,"value":12604},"Not awaited",{"type":45,"tag":1401,"props":12606,"children":12607},{},[12608,12610,12616,12618],{"type":59,"value":12609},"Must ",{"type":45,"tag":106,"props":12611,"children":12613},{"className":12612},[],[12614],{"type":59,"value":12615},"await Sentry.setupHapiErrorHandler(server)",{"type":59,"value":12617}," before ",{"type":45,"tag":106,"props":12619,"children":12621},{"className":12620},[],[12622],{"type":59,"value":5362},{"type":45,"tag":1379,"props":12624,"children":12625},{},[12626,12631,12636],{"type":45,"tag":1401,"props":12627,"children":12628},{},[12629],{"type":59,"value":12630},"Shutdown: events lost",{"type":45,"tag":1401,"props":12632,"children":12633},{},[12634],{"type":59,"value":12635},"Process exits before flush",{"type":45,"tag":1401,"props":12637,"children":12638},{},[12639,12640,12646],{"type":59,"value":12370},{"type":45,"tag":106,"props":12641,"children":12643},{"className":12642},[],[12644],{"type":59,"value":12645},"await Sentry.close(2000)",{"type":59,"value":12647}," in SIGTERM\u002FSIGINT handler",{"type":45,"tag":1379,"props":12649,"children":12650},{},[12651,12656,12661],{"type":45,"tag":1401,"props":12652,"children":12653},{},[12654],{"type":59,"value":12655},"Stack traces show minified code",{"type":45,"tag":1401,"props":12657,"children":12658},{},[12659],{"type":59,"value":12660},"Source maps not uploaded",{"type":45,"tag":1401,"props":12662,"children":12663},{},[12664,12666,12671],{"type":59,"value":12665},"Configure ",{"type":45,"tag":106,"props":12667,"children":12669},{"className":12668},[],[12670],{"type":59,"value":11373},{"type":59,"value":12672}," source map upload in build step",{"type":45,"tag":1379,"props":12674,"children":12675},{},[12676,12681,12699],{"type":45,"tag":1401,"props":12677,"children":12678},{},[12679],{"type":59,"value":12680},"No traces appearing (OTLP)",{"type":45,"tag":1401,"props":12682,"children":12683},{},[12684,12685,12690,12692,12697],{"type":59,"value":12396},{"type":45,"tag":106,"props":12686,"children":12688},{"className":12687},[],[12689],{"type":59,"value":8242},{"type":59,"value":12691}," packages or ",{"type":45,"tag":106,"props":12693,"children":12695},{"className":12694},[],[12696],{"type":59,"value":9117},{"type":59,"value":12698}," not added",{"type":45,"tag":1401,"props":12700,"children":12701},{},[12702,12704,12709,12711,12716,12717,12723,12724,12728,12729],{"type":59,"value":12703},"Verify ",{"type":45,"tag":106,"props":12705,"children":12707},{"className":12706},[],[12708],{"type":59,"value":1608},{"type":59,"value":12710}," is installed; add ",{"type":45,"tag":106,"props":12712,"children":12714},{"className":12713},[],[12715],{"type":59,"value":1631},{"type":59,"value":12378},{"type":45,"tag":106,"props":12718,"children":12720},{"className":12719},[],[12721],{"type":59,"value":12722},"integrations",{"type":59,"value":1641},{"type":45,"tag":177,"props":12725,"children":12726},{},[12727],{"type":59,"value":1646},{"type":59,"value":1648},{"type":45,"tag":106,"props":12730,"children":12732},{"className":12731},[],[12733],{"type":59,"value":1654},{"type":45,"tag":1379,"props":12735,"children":12736},{},[12737,12742,12752],{"type":45,"tag":1401,"props":12738,"children":12739},{},[12740],{"type":59,"value":12741},"OTLP: errors not linked to traces",{"type":45,"tag":1401,"props":12743,"children":12744},{},[12745,12750],{"type":45,"tag":106,"props":12746,"children":12748},{"className":12747},[],[12749],{"type":59,"value":9117},{"type":59,"value":12751}," not registered",{"type":45,"tag":1401,"props":12753,"children":12754},{},[12755,12756,12761,12763,12768],{"type":59,"value":12537},{"type":45,"tag":106,"props":12757,"children":12759},{"className":12758},[],[12760],{"type":59,"value":1631},{"type":59,"value":12762}," is in the ",{"type":45,"tag":106,"props":12764,"children":12766},{"className":12765},[],[12767],{"type":59,"value":12722},{"type":59,"value":12769}," array — it registers the propagation context that links errors to OTel traces",{"type":45,"tag":1379,"props":12771,"children":12772},{},[12773,12778,12788],{"type":45,"tag":1401,"props":12774,"children":12775},{},[12776],{"type":59,"value":12777},"Profiling not starting (OTLP)",{"type":45,"tag":1401,"props":12779,"children":12780},{},[12781,12783],{"type":59,"value":12782},"Profiling requires ",{"type":45,"tag":106,"props":12784,"children":12786},{"className":12785},[],[12787],{"type":59,"value":1654},{"type":45,"tag":1401,"props":12789,"children":12790},{},[12791,12793,12798,12800,12805],{"type":59,"value":12792},"Profiling is ",{"type":45,"tag":177,"props":12794,"children":12795},{},[12796],{"type":59,"value":12797},"not compatible",{"type":59,"value":12799}," with the OTLP path; use the standard ",{"type":45,"tag":106,"props":12801,"children":12803},{"className":12802},[],[12804],{"type":59,"value":111},{"type":59,"value":12806}," setup instead",{"type":45,"tag":12808,"props":12809,"children":12810},"style",{},[12811],{"type":59,"value":12812},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":12814,"total":926},[12815,12833,12845,12861,12877,12891,12906],{"slug":12816,"name":12816,"fn":12817,"description":12818,"org":12819,"tags":12820,"stars":24,"repoUrl":25,"updatedAt":12832},"sentry-android-sdk","setup Sentry SDK for Android","Full Sentry SDK setup for Android. Use when asked to \"add Sentry to Android\", \"install sentry-android\", \"setup Sentry in Android\", or configure error monitoring, tracing, profiling, session replay, or logging for Android applications. Supports Kotlin and Java codebases.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[12821,12824,12827,12828,12831],{"name":12822,"slug":12823,"type":16},"Android","android",{"name":12825,"slug":12826,"type":16},"Debugging","debugging",{"name":14,"slug":15,"type":16},{"name":12829,"slug":12830,"type":16},"SDK","sdk",{"name":9,"slug":8,"type":16},"2026-07-12T06:08:32.396344",{"slug":12834,"name":12834,"fn":12835,"description":12836,"org":12837,"tags":12838,"stars":24,"repoUrl":25,"updatedAt":12844},"sentry-browser-sdk","setup Sentry error monitoring for browser applications","Full Sentry SDK setup for browser JavaScript. Use when asked to \"add Sentry to a website\", \"install @sentry\u002Fbrowser\", or configure error monitoring, tracing, session replay, or logging for vanilla JavaScript, jQuery, static sites, or WordPress.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[12839,12840,12842,12843],{"name":12825,"slug":12826,"type":16},{"name":12841,"slug":2236,"type":16},"JavaScript",{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},"2026-07-18T05:47:44.437436",{"slug":12846,"name":12846,"fn":12847,"description":12848,"org":12849,"tags":12850,"stars":24,"repoUrl":25,"updatedAt":12860},"sentry-cloudflare-sdk","setup Sentry monitoring for Cloudflare","Full Sentry SDK setup for Cloudflare Workers and Pages. Use when asked to \"add Sentry to Cloudflare Workers\", \"install @sentry\u002Fcloudflare\", or configure error monitoring, tracing, logging, crons, or AI monitoring for Cloudflare Workers, Pages, Durable Objects, Queues, Workflows, or Hono on Cloudflare.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[12851,12854,12857,12858,12859],{"name":12852,"slug":12853,"type":16},"Cloudflare","cloudflare",{"name":12855,"slug":12856,"type":16},"Edge Functions","edge-functions",{"name":18,"slug":19,"type":16},{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-11T05:53:25.361175",{"slug":12862,"name":12862,"fn":12863,"description":12864,"org":12865,"tags":12866,"stars":24,"repoUrl":25,"updatedAt":12876},"sentry-cocoa-sdk","integrate Sentry SDK into Apple applications","Full Sentry SDK setup for Apple platforms (iOS, macOS, tvOS, watchOS, visionOS). Use when asked to \"add Sentry to iOS\", \"add Sentry to Swift\", \"install sentry-cocoa\", or configure error monitoring, tracing, profiling, session replay, logging, or metrics for Apple applications. Supports SwiftUI and UIKit.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[12867,12870,12873,12874,12875],{"name":12868,"slug":12869,"type":16},"iOS","ios",{"name":12871,"slug":12872,"type":16},"macOS","macos",{"name":18,"slug":19,"type":16},{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-11T05:52:57.042493",{"slug":12878,"name":12878,"fn":12879,"description":12880,"org":12881,"tags":12882,"stars":24,"repoUrl":25,"updatedAt":12890},"sentry-dotnet-sdk","setup Sentry SDK for .NET","Full Sentry SDK setup for .NET. Use when asked to \"add Sentry to .NET\", \"install Sentry for C#\", or configure error monitoring, tracing, profiling, logging, or crons for ASP.NET Core, MAUI, WPF, WinForms, Blazor, Azure Functions, or any other .NET application.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[12883,12886,12887,12888,12889],{"name":12884,"slug":12885,"type":16},".NET","net",{"name":12825,"slug":12826,"type":16},{"name":14,"slug":15,"type":16},{"name":12829,"slug":12830,"type":16},{"name":9,"slug":8,"type":16},"2026-07-12T06:08:33.793148",{"slug":12892,"name":12892,"fn":12893,"description":12894,"org":12895,"tags":12896,"stars":24,"repoUrl":25,"updatedAt":12905},"sentry-elixir-sdk","setup Sentry SDK for Elixir","Full Sentry SDK setup for Elixir. Use when asked to \"add Sentry to Elixir\", \"install sentry for Elixir\", or configure error monitoring, tracing, logging, or crons for Elixir, Phoenix, or Plug applications. Supports Phoenix, Plug, LiveView, Oban, and Quantum.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[12897,12900,12903,12904],{"name":12898,"slug":12899,"type":16},"Backend","backend",{"name":12901,"slug":12902,"type":16},"Elixir","elixir",{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-11T05:53:11.69581",{"slug":12907,"name":12907,"fn":12908,"description":12909,"org":12910,"tags":12911,"stars":24,"repoUrl":25,"updatedAt":12918},"sentry-fix-issues","fix production issues with Sentry","Find and fix issues from Sentry using MCP. Use when asked to fix Sentry errors, debug production issues, investigate exceptions, or resolve bugs reported in Sentry. Methodically analyzes stack traces, breadcrumbs, traces, and context to identify root causes.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[12912,12913,12916,12917],{"name":12825,"slug":12826,"type":16},{"name":12914,"slug":12915,"type":16},"Incident Response","incident-response",{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-12T06:08:35.550824",{"items":12920,"total":13092},[12921,12940,12954,12969,12983,13000,13016,13030,13040,13051,13061,13079],{"slug":12922,"name":12922,"fn":12923,"description":12924,"org":12925,"tags":12926,"stars":12937,"repoUrl":12938,"updatedAt":12939},"xcodebuildmcp","build and test Apple apps with XcodeBuildMCP","Official skill for XcodeBuildMCP. Use when doing iOS\u002FmacOS\u002FwatchOS\u002FtvOS\u002FvisionOS work (build, test, run, debug, log, UI automation).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[12927,12928,12929,12930,12931,12934],{"name":12825,"slug":12826,"type":16},{"name":12868,"slug":12869,"type":16},{"name":12871,"slug":12872,"type":16},{"name":9,"slug":8,"type":16},{"name":12932,"slug":12933,"type":16},"Testing","testing",{"name":12935,"slug":12936,"type":16},"Xcode","xcode",6176,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002FXcodeBuildMCP","2026-04-06T18:13:34.8719",{"slug":12941,"name":12941,"fn":12942,"description":12943,"org":12944,"tags":12945,"stars":12937,"repoUrl":12938,"updatedAt":12953},"xcodebuildmcp-cli","build and test Apple apps via CLI","Official skill for the XcodeBuildMCP CLI. Use when doing iOS\u002FmacOS\u002FwatchOS\u002FtvOS\u002FvisionOS work (build, test, run, debug, log, UI automation).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[12946,12949,12950,12951,12952],{"name":12947,"slug":12948,"type":16},"CLI","cli",{"name":12868,"slug":12869,"type":16},{"name":12871,"slug":12872,"type":16},{"name":12932,"slug":12933,"type":16},{"name":12935,"slug":12936,"type":16},"2026-04-06T18:13:36.13414",{"slug":12955,"name":12955,"fn":12956,"description":12957,"org":12958,"tags":12959,"stars":12966,"repoUrl":12967,"updatedAt":12968},"agents-md","maintain project instruction files","Creates and maintains concise AGENTS.md and CLAUDE.md project instruction files. Use when asked to create AGENTS.md, update AGENTS.md, maintain agent docs, set up CLAUDE.md, document repository agent conventions, or keep coding-agent instructions minimal and reference-backed.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[12960,12963],{"name":12961,"slug":12962,"type":16},"Documentation","documentation",{"name":12964,"slug":12965,"type":16},"Engineering","engineering",861,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskills","2026-05-15T06:16:29.695991",{"slug":12970,"name":12970,"fn":12971,"description":12972,"org":12973,"tags":12974,"stars":12966,"repoUrl":12967,"updatedAt":12982},"blog-writing-guide","write and review engineering blog posts","Write, review, and improve blog posts for the Sentry engineering blog following Sentry's specific writing standards, voice, and quality bar. Use this skill whenever someone asks to write a blog post, draft a technical article, review blog content, improve a draft, write a product announcement, create an engineering deep-dive, or produce any written content destined for the Sentry blog or developer audience. Also trigger when the user mentions \"blog post,\" \"blog draft,\" \"write-up,\" \"announcement post,\" \"engineering post,\" \"deep dive,\" \"postmortem,\" or asks for help with technical writing for Sentry. Even if the user just says \"help me write about [feature\u002Ftopic]\" — if it sounds like it could become a Sentry blog post, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[12975,12978,12979],{"name":12976,"slug":12977,"type":16},"Communications","communications",{"name":9,"slug":8,"type":16},{"name":12980,"slug":12981,"type":16},"Technical Writing","technical-writing","2026-05-15T06:16:33.38217",{"slug":12984,"name":12984,"fn":12985,"description":12986,"org":12987,"tags":12988,"stars":12966,"repoUrl":12967,"updatedAt":12999},"brand-guidelines","write copy following Sentry brand guidelines","Write copy following Sentry brand guidelines. Use when writing UI text, error messages, empty states, onboarding flows, 404 pages, documentation, marketing copy, or any user-facing content. Covers both Plain Speech (default) and Sentry Voice tones.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[12989,12992,12995,12996],{"name":12990,"slug":12991,"type":16},"Branding","branding",{"name":12993,"slug":12994,"type":16},"Content Creation","content-creation",{"name":9,"slug":8,"type":16},{"name":12997,"slug":12998,"type":16},"UX Copy","ux-copy","2026-05-15T06:16:22.395707",{"slug":13001,"name":13001,"fn":13002,"description":13003,"org":13004,"tags":13005,"stars":12966,"repoUrl":12967,"updatedAt":13015},"claude-settings-audit","generate Claude Code settings permissions","Analyze a repository to generate recommended Claude Code settings.json permissions. Use when setting up a new project, auditing existing settings, or determining which read-only bash commands to allow. Detects tech stack, build tools, and monorepo structure.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[13006,13009,13012],{"name":13007,"slug":13008,"type":16},"Claude Code","claude-code",{"name":13010,"slug":13011,"type":16},"Configuration","configuration",{"name":13013,"slug":13014,"type":16},"Security","security","2026-05-15T06:16:44.335977",{"slug":13017,"name":13017,"fn":13018,"description":13019,"org":13020,"tags":13021,"stars":12966,"repoUrl":12967,"updatedAt":13029},"code-review","perform code reviews for Sentry projects","Perform code reviews following Sentry engineering practices. Use when reviewing pull requests, examining code changes, or providing feedback on code quality. Covers security, performance, testing, and design review.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[13022,13024,13025,13028],{"name":13023,"slug":13017,"type":16},"Code Review",{"name":12964,"slug":12965,"type":16},{"name":13026,"slug":13027,"type":16},"Performance","performance",{"name":13013,"slug":13014,"type":16},"2026-05-15T06:16:35.824864",{"slug":13031,"name":13031,"fn":13032,"description":13033,"org":13034,"tags":13035,"stars":12966,"repoUrl":12967,"updatedAt":13039},"code-simplifier","simplify and refine source code","Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Use when asked to \"simplify code\", \"clean up code\", \"refactor for clarity\", \"improve readability\", or review recently modified code for elegance. Focuses on project-specific best practices.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[13036],{"name":13037,"slug":13038,"type":16},"Code Analysis","code-analysis","2026-05-15T06:16:32.127981",{"slug":13041,"name":13041,"fn":13042,"description":13043,"org":13044,"tags":13045,"stars":12966,"repoUrl":12967,"updatedAt":13050},"commit","create commits with Sentry conventions","Use for every request to commit changes or draft a commit message. Creates Sentry-style conventional commits with issue references.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[13046,13049],{"name":13047,"slug":13048,"type":16},"Git","git",{"name":9,"slug":8,"type":16},"2026-07-18T05:15:10.723937",{"slug":13052,"name":13052,"fn":13053,"description":13054,"org":13055,"tags":13056,"stars":12966,"repoUrl":12967,"updatedAt":13060},"create-branch","create git branches for Sentry workflows","Create a git branch following Sentry naming conventions. Use when asked to \"create a branch\", \"new branch\", \"start a branch\", \"make a branch\", \"switch to a new branch\", or when starting new work on the default branch.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[13057,13058,13059],{"name":12964,"slug":12965,"type":16},{"name":13047,"slug":13048,"type":16},{"name":9,"slug":8,"type":16},"2026-05-15T06:16:39.458431",{"slug":13062,"name":13062,"fn":13063,"description":13064,"org":13065,"tags":13066,"stars":12966,"repoUrl":12967,"updatedAt":13078},"django-access-review","review Django access control and IDOR","Django access control and IDOR security review. Use when reviewing Django views, DRF viewsets, ORM queries, or any Python\u002FDjango code handling user authorization. Trigger keywords: \"IDOR\", \"access control\", \"authorization\", \"Django permissions\", \"object permissions\", \"tenant isolation\", \"broken access\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[13067,13070,13071,13074,13077],{"name":13068,"slug":13069,"type":16},"Access Control","access-control",{"name":13037,"slug":13038,"type":16},{"name":13072,"slug":13073,"type":16},"Django","django",{"name":13075,"slug":13076,"type":16},"Python","python",{"name":13013,"slug":13014,"type":16},"2026-05-15T06:16:43.098698",{"slug":13080,"name":13080,"fn":13081,"description":13082,"org":13083,"tags":13084,"stars":12966,"repoUrl":12967,"updatedAt":13091},"django-perf-review","review and optimize Django performance","Django performance code review. Use when asked to \"review Django performance\", \"find N+1 queries\", \"optimize Django\", \"check queryset performance\", \"database performance\", \"Django ORM issues\", or audit Django code for performance problems.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[13085,13086,13089,13090],{"name":13023,"slug":13017,"type":16},{"name":13087,"slug":13088,"type":16},"Database","database",{"name":13072,"slug":13073,"type":16},{"name":13026,"slug":13027,"type":16},"2026-05-15T06:16:24.832813",88]