[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-sentry-sentry-dotnet-sdk":3,"mdc-n1y49c-key":39,"related-org-sentry-sentry-dotnet-sdk":6984,"related-repo-sentry-sentry-dotnet-sdk":7162},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":27,"repoUrl":28,"updatedAt":29,"license":30,"forks":31,"topics":32,"repo":34,"sourceUrl":37,"mdContent":38},"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},"sentry","Sentry","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fsentry.png","getsentry",[13,17,20,23,24],{"name":14,"slug":15,"type":16},"Observability","observability","tag",{"name":18,"slug":19,"type":16},".NET","net",{"name":21,"slug":22,"type":16},"SDK","sdk",{"name":9,"slug":8,"type":16},{"name":25,"slug":26,"type":16},"Debugging","debugging",237,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsentry-for-ai","2026-07-12T06:08:33.793148","Apache-2.0",30,[33],"tag-production",{"repoUrl":28,"stars":27,"forks":31,"topics":35,"description":36},[33],"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-dotnet-sdk","---\nname: sentry-dotnet-sdk\ndescription: 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.\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) > .NET SDK\n\n# Sentry .NET SDK\n\nOpinionated wizard that scans your .NET project and guides you through complete Sentry setup: error monitoring, distributed tracing, profiling, structured logging, and cron monitoring across all major .NET frameworks.\n\n## Invoke This Skill When\n\n- User asks to \"add Sentry to .NET\", \"set up Sentry in C#\", or \"install Sentry for ASP.NET Core\"\n- User wants error monitoring, tracing, profiling, logging, or crons for a .NET app\n- User mentions `SentrySdk.Init`, `UseSentry`, `Sentry.AspNetCore`, or `Sentry.Maui`\n- User wants to capture unhandled exceptions in WPF, WinForms, MAUI, or Azure Functions\n- User asks about `SentryOptions`, `BeforeSend`, `TracesSampleRate`, or symbol upload\n\n> **Note:** SDK version and APIs below reflect `Sentry` NuGet packages ≥6.1.0 (OTLP export requires ≥6.5.0).\n> Always verify against [docs.sentry.io\u002Fplatforms\u002Fdotnet\u002F](https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fdotnet\u002F) before implementing.\n\n---\n\n## Phase 1: Detect\n\nRun these commands to understand the project before making any recommendations:\n\n```bash\n# Detect framework type — find all .csproj files\nfind . -name \"*.csproj\" | head -20\n\n# Detect framework targets\ngrep -r \"TargetFramework\\|Project Sdk\" --include=\"*.csproj\" .\n\n# Check for existing Sentry packages\ngrep -r \"Sentry\" --include=\"*.csproj\" . | grep \"PackageReference\"\n\n# Check startup files\nls Program.cs src\u002FProgram.cs App.xaml.cs MauiProgram.cs 2>\u002Fdev\u002Fnull\n\n# Check for appsettings\nls appsettings.json src\u002Fappsettings.json 2>\u002Fdev\u002Fnull\n\n# Check for logging libraries\ngrep -r \"Serilog\\|NLog\\|log4net\" --include=\"*.csproj\" .\n\n# Check for companion frontend\nls ..\u002Ffrontend ..\u002Fclient ..\u002Fweb 2>\u002Fdev\u002Fnull\ncat ..\u002Fpackage.json 2>\u002Fdev\u002Fnull | grep -E '\"next\"|\"react\"|\"vue\"' | head -3\n```\n\n**What to determine:**\n\n| Question | Impact |\n|----------|--------|\n| Framework type? | Determines correct package and init pattern |\n| .NET version? | .NET 8+ recommended; .NET Framework 4.6.2+ supported |\n| Sentry already installed? | Skip install, go to feature config |\n| Logging library (Serilog, NLog)? | Recommend matching Sentry sink\u002Ftarget |\n| Async\u002Fhosted app (ASP.NET Core)? | `UseSentry()` on `WebHost`; no `IsGlobalModeEnabled` needed |\n| Desktop app (WPF, WinForms, WinUI)? | Must set `IsGlobalModeEnabled = true` |\n| Serverless (Azure Functions, Lambda)? | Must set `FlushOnCompletedRequest = true` |\n| Frontend directory found? | Trigger Phase 4 cross-link |\n\n**Framework → Package mapping:**\n\n| Detected | Package to install |\n|----------|--------------------|\n| `Sdk=\"Microsoft.NET.Sdk.Web\"` (ASP.NET Core) | `Sentry.AspNetCore` |\n| `App.xaml.cs` with `Application` base | `Sentry` (WPF) |\n| `[STAThread]` in `Program.cs` | `Sentry` (WinForms) |\n| `MauiProgram.cs` | `Sentry.Maui` |\n| `WebAssemblyHostBuilder` | `Sentry.AspNetCore.Blazor.WebAssembly` |\n| `FunctionsStartup` | `Sentry.Extensions.Logging` + `Sentry.OpenTelemetry` |\n| `HttpApplication` \u002F `Global.asax` | `Sentry.AspNet` |\n| Generic host \u002F Worker Service | `Sentry.Extensions.Logging` |\n\n---\n\n## Phase 2: Recommend\n\nPresent a concrete recommendation based on what you found. Lead with a proposal — don't ask open-ended questions.\n\n**Recommended (core coverage):**\n- ✅ **Error Monitoring** — always; captures unhandled exceptions, structured captures, scope enrichment\n- ✅ **Tracing** — always for ASP.NET Core and hosted apps; auto-instruments HTTP requests and EF Core queries\n- ✅ **Logging** — recommended for all apps; routes ILogger \u002F Serilog \u002F NLog entries to Sentry as breadcrumbs and events\n\n**Optional (enhanced observability):**\n- ⚡ **Profiling** — CPU profiling; recommend for performance-critical services running on .NET 6+\n- ⚡ **Metrics** — counters, gauges, distributions linked to traces; recommend for apps that need custom business metrics\n- ⚡ **Crons** — detect missed\u002Ffailed scheduled jobs; recommend when Hangfire, Quartz.NET, or scheduled endpoints detected\n\n**Recommendation logic:**\n\n| Feature | Recommend when... |\n|---------|------------------|\n| Error Monitoring | **Always** — non-negotiable baseline |\n| Tracing | **Always for ASP.NET Core** — request traces, EF Core spans, HttpClient spans are high-value |\n| Logging | App uses `ILogger\u003CT>`, Serilog, NLog, or log4net |\n| Profiling | Performance-critical service on .NET 6+ |\n| Metrics | App needs custom business metrics (request counts, queue depths, response times) |\n| Crons | App uses Hangfire, Quartz.NET, or scheduled Azure Functions |\n\nPropose: *\"I recommend setting up Error Monitoring + Tracing + Logging. Want me to also add Profiling or Crons?\"*\n\n---\n\n## Phase 3: Guide\n\n### Option 1: Wizard (Recommended)\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 dotnet\n> ```\n>\n> It handles login, org\u002Fproject selection, DSN configuration, and MSBuild symbol upload setup for readable stack traces in production.\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\n\n#### Install the right package\n\n```bash\n# ASP.NET Core\ndotnet add package Sentry.AspNetCore -v 6.1.0\n\n# WPF or WinForms or Console\ndotnet add package Sentry -v 6.1.0\n\n# .NET MAUI\ndotnet add package Sentry.Maui -v 6.1.0\n\n# Blazor WebAssembly\ndotnet add package Sentry.AspNetCore.Blazor.WebAssembly -v 6.1.0\n\n# Azure Functions (Isolated Worker)\ndotnet add package Sentry.Extensions.Logging -v 6.1.0\ndotnet add package Sentry.OpenTelemetry -v 6.1.0\n\n# Classic ASP.NET (System.Web \u002F .NET Framework)\ndotnet add package Sentry.AspNet -v 6.1.0\n```\n\n---\n\n#### ASP.NET Core — `Program.cs`\n\n```csharp\nvar builder = WebApplication.CreateBuilder(args);\n\nbuilder.WebHost.UseSentry(options =>\n{\n    options.Dsn = Environment.GetEnvironmentVariable(\"SENTRY_DSN\")\n                  ?? \"___YOUR_DSN___\";\n    options.Debug = true;                         \u002F\u002F disable in production\n    options.SendDefaultPii = true;                \u002F\u002F captures user IP, name, email\n    options.MaxRequestBodySize = RequestSize.Always;\n    options.MinimumBreadcrumbLevel = LogLevel.Debug;\n    options.MinimumEventLevel = LogLevel.Warning;\n    options.TracesSampleRate = 1.0;               \u002F\u002F tune to 0.1–0.2 in production\n    options.SetBeforeSend((@event, hint) =>\n    {\n        @event.ServerName = null;                 \u002F\u002F scrub hostname from events\n        return @event;\n    });\n});\n\nvar app = builder.Build();\napp.Run();\n```\n\n**`appsettings.json` (alternative configuration):**\n\n```json\n{\n  \"Sentry\": {\n    \"Dsn\": \"___YOUR_DSN___\",\n    \"SendDefaultPii\": true,\n    \"MaxRequestBodySize\": \"Always\",\n    \"MinimumBreadcrumbLevel\": \"Debug\",\n    \"MinimumEventLevel\": \"Warning\",\n    \"AttachStacktrace\": true,\n    \"Debug\": true,\n    \"TracesSampleRate\": 1.0,\n    \"Environment\": \"production\",\n    \"Release\": \"my-app@1.0.0\"\n  }\n}\n```\n\n**Environment variables (double underscore as separator):**\n\n```bash\nexport Sentry__Dsn=\"https:\u002F\u002FexamplePublicKey@o0.ingest.sentry.io\u002F0\"\nexport Sentry__TracesSampleRate=\"0.1\"\nexport Sentry__Environment=\"staging\"\n```\n\n---\n\n#### WPF — `App.xaml.cs`\n\n> ⚠️ **Critical:** Initialize in the **constructor**, NOT in `OnStartup()`. The constructor fires earlier, catching more failure modes.\n\n```csharp\nusing System.Windows;\nusing Sentry;\n\npublic partial class App : Application\n{\n    public App()\n    {\n        SentrySdk.Init(options =>\n        {\n            options.Dsn = \"___YOUR_DSN___\";\n            options.Debug = true;\n            options.SendDefaultPii = true;\n            options.TracesSampleRate = 1.0;\n            options.IsGlobalModeEnabled = true;   \u002F\u002F required for all desktop apps\n        });\n\n        \u002F\u002F Capture WPF UI-thread exceptions before WPF's crash dialog appears\n        DispatcherUnhandledException += App_DispatcherUnhandledException;\n    }\n\n    private void App_DispatcherUnhandledException(\n        object sender,\n        System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)\n    {\n        SentrySdk.CaptureException(e.Exception);\n        \u002F\u002F Set e.Handled = true to prevent crash dialog and keep app running\n    }\n}\n```\n\n---\n\n#### WinForms — `Program.cs`\n\n```csharp\nusing System;\nusing System.Windows.Forms;\nusing Sentry;\n\nstatic class Program\n{\n    [STAThread]\n    static void Main()\n    {\n        Application.EnableVisualStyles();\n        Application.SetCompatibleTextRenderingDefault(false);\n\n        \u002F\u002F Required: allows Sentry to see unhandled WinForms exceptions\n        Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException);\n\n        using (SentrySdk.Init(new SentryOptions\n        {\n            Dsn = \"___YOUR_DSN___\",\n            Debug = true,\n            TracesSampleRate = 1.0,\n            IsGlobalModeEnabled = true,           \u002F\u002F required for desktop apps\n        }))\n        {\n            Application.Run(new MainForm());\n        } \u002F\u002F Disposing flushes all pending events\n    }\n}\n```\n\n---\n\n#### .NET MAUI — `MauiProgram.cs`\n\n```csharp\npublic static class MauiProgram\n{\n    public static MauiApp CreateMauiApp()\n    {\n        var builder = MauiApp.CreateBuilder();\n        builder\n            .UseMauiApp\u003CApp>()\n            .UseSentry(options =>\n            {\n                options.Dsn = \"___YOUR_DSN___\";\n                options.Debug = true;\n                options.SendDefaultPii = true;\n                options.TracesSampleRate = 1.0;\n                \u002F\u002F MAUI-specific: opt-in breadcrumbs (off by default — PII risk)\n                options.IncludeTextInBreadcrumbs = false;\n                options.IncludeTitleInBreadcrumbs = false;\n                options.IncludeBackgroundingStateInBreadcrumbs = false;\n            });\n\n        return builder.Build();\n    }\n}\n```\n\n---\n\n#### Blazor WebAssembly — `Program.cs`\n\n```csharp\nvar builder = WebAssemblyHostBuilder.CreateDefault(args);\n\nbuilder.UseSentry(options =>\n{\n    options.Dsn = \"___YOUR_DSN___\";\n    options.Debug = true;\n    options.SendDefaultPii = true;\n    options.TracesSampleRate = 0.1;\n});\n\n\u002F\u002F Hook logging pipeline without re-initializing the SDK\nbuilder.Logging.AddSentry(o => o.InitializeSdk = false);\n\nawait builder.Build().RunAsync();\n```\n\n---\n\n#### Azure Functions (Isolated Worker) — `Program.cs`\n\n> **Recommended:** Install `Sentry.OpenTelemetry.Exporter` (≥6.5.0) for OTLP export. Alternatively, use `Sentry.OpenTelemetry` for the bridge pattern.\n\n```csharp\nusing Microsoft.Extensions.Hosting;\nusing Microsoft.Extensions.Logging;\nusing OpenTelemetry.Trace;\n\n\u002F\u002F Package: Sentry.OpenTelemetry.Exporter\nvar host = new HostBuilder()\n    .ConfigureFunctionsWorkerDefaults()\n    .ConfigureLogging(logging =>\n    {\n        logging.AddSentry(options =>\n        {\n            options.Dsn = \"___YOUR_DSN___\";\n            options.Debug = true;\n            options.TracesSampleRate = 1.0;\n            options.UseOtlp(); \u002F\u002F send OTel spans via OTLP (requires 6.5.0+)\n        });\n    })\n    .ConfigureServices(services =>\n    {\n        services.AddOpenTelemetry().WithTracing(builder =>\n        {\n            builder\n                .AddHttpClientInstrumentation()\n                .AddSentryOtlpExporter(\"___YOUR_DSN___\"); \u002F\u002F route spans to Sentry OTLP endpoint\n        });\n    })\n    .Build();\n\nawait host.RunAsync();\n```\n\n---\n\n#### AWS Lambda — `LambdaEntryPoint.cs`\n\n```csharp\npublic class LambdaEntryPoint : APIGatewayProxyFunction\n{\n    protected override void Init(IWebHostBuilder builder)\n    {\n        builder\n            .UseSentry(options =>\n            {\n                options.Dsn = \"___YOUR_DSN___\";\n                options.TracesSampleRate = 1.0;\n                options.FlushOnCompletedRequest = true; \u002F\u002F REQUIRED for Lambda\n            })\n            .UseStartup\u003CStartup>();\n    }\n}\n```\n\n---\n\n#### Classic ASP.NET — `Global.asax.cs`\n\n```csharp\npublic class MvcApplication : HttpApplication\n{\n    private IDisposable _sentry;\n\n    protected void Application_Start()\n    {\n        _sentry = SentrySdk.Init(options =>\n        {\n            options.Dsn = \"___YOUR_DSN___\";\n            options.TracesSampleRate = 1.0;\n            options.AddEntityFramework(); \u002F\u002F EF6 query breadcrumbs\n            options.AddAspNet();          \u002F\u002F Classic ASP.NET integration\n        });\n    }\n\n    protected void Application_Error() => Server.CaptureLastError();\n\n    protected void Application_BeginRequest() => Context.StartSentryTransaction();\n    protected void Application_EndRequest() => Context.FinishSentryTransaction();\n\n    protected void Application_End() => _sentry?.Dispose();\n}\n```\n\n---\n\n### Symbol Upload (Readable Stack Traces)\n\nWithout debug symbols, stack traces show only method names — no file names or line numbers. The SDK uploads PDB files (and optionally sources) via MSBuild properties on Release builds:\n\n```xml\n\u003CPropertyGroup Condition=\"'$(Configuration)' == 'Release'\">\n  \u003CSentryOrg>___ORG_SLUG___\u003C\u002FSentryOrg>\n  \u003CSentryProject>___PROJECT_SLUG___\u003C\u002FSentryProject>\n  \u003CSentryUploadSymbols>true\u003C\u002FSentryUploadSymbols>\n  \u003CSentryUploadSources>true\u003C\u002FSentryUploadSources>\n  \u003CSentryCreateRelease>true\u003C\u002FSentryCreateRelease>\n  \u003CSentrySetCommits>true\u003C\u002FSentrySetCommits>\n\u003C\u002FPropertyGroup>\n```\n\nUpload needs a `SENTRY_AUTH_TOKEN` set in CI (a secret). For creating the token and the CI wiring, see [`sentry-source-maps`](..\u002Fsentry-source-maps\u002FSKILL.md). The `SentryCreateRelease` \u002F `SentrySetCommits` properties also create a release with suspect commits — see [`sentry-releases`](..\u002Fsentry-releases\u002FSKILL.md).\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 — `CaptureException`, scopes, enrichment, filtering |\n| Tracing | `references\u002Ftracing.md` | Server apps, distributed tracing, EF Core spans, custom instrumentation |\n| Profiling | `references\u002Fprofiling.md` | Performance-critical apps on .NET 6+ |\n| Logging | `references\u002Flogging.md` | `ILogger\u003CT>`, Serilog, NLog, log4net integration |\n| Metrics | `references\u002Fmetrics.md` | Custom counters, gauges, distributions; `EmitCounter`, `EmitGauge`, `EmitDistribution` |\n| Crons | `references\u002Fcrons.md` | Hangfire, Quartz.NET, or scheduled function monitoring |\n\nFor each feature: read the reference file, follow its steps exactly, and verify before moving on.\n\n---\n\n## Configuration Reference\n\n### Core `SentryOptions`\n\n| Option | Type | Default | Env Var | Notes |\n|--------|------|---------|---------|-------|\n| `Dsn` | `string` | — | `SENTRY_DSN` | Required. SDK disabled if unset. |\n| `Debug` | `bool` | `false` | — | SDK diagnostic output. Disable in production. |\n| `DiagnosticLevel` | `SentryLevel` | `Debug` | — | `Debug`, `Info`, `Warning`, `Error`, `Fatal` |\n| `Release` | `string` | auto | `SENTRY_RELEASE` | Auto-detected from assembly version + git SHA |\n| `Environment` | `string` | `\"production\"` | `SENTRY_ENVIRONMENT` | `\"debug\"` when debugger attached |\n| `Dist` | `string` | — | — | Build variant. Max 64 chars. |\n| `SampleRate` | `float` | `1.0` | — | Error event sampling rate 0.0–1.0 |\n| `TracesSampleRate` | `double` | `0.0` | — | Transaction sampling. Must be `> 0` to enable. |\n| `TracesSampler` | `Func\u003CSamplingContext, double>` | — | — | Per-transaction dynamic sampler; overrides `TracesSampleRate` |\n| `ProfilesSampleRate` | `double` | `0.0` | — | Fraction of traced transactions to profile. Requires `Sentry.Profiling`. |\n| `SendDefaultPii` | `bool` | `false` | — | Include user IP, name, email |\n| `AttachStacktrace` | `bool` | `true` | — | Attach stack trace to all messages |\n| `MaxBreadcrumbs` | `int` | `100` | — | Max breadcrumbs stored per event |\n| `IsGlobalModeEnabled` | `bool` | `false`* | — | *Auto-`true` for MAUI, Blazor WASM. **Must** be `true` for WPF, WinForms, Console. |\n| `AutoSessionTracking` | `bool` | `false`* | — | *Auto-`true` for MAUI. Enable for Release Health. |\n| `CaptureFailedRequests` | `bool` | `true` | — | Auto-capture HTTP client errors |\n| `CacheDirectoryPath` | `string` | — | — | Offline event caching directory |\n| `ShutdownTimeout` | `TimeSpan` | — | — | Max wait for event flush on shutdown |\n| `HttpProxy` | `string` | — | — | Proxy URL for Sentry requests |\n| `EnableBackpressureHandling` | `bool` | `true` | — | Auto-reduce sample rates on delivery failures |\n| `TraceIgnoreStatusCodes` | `IList\u003CHttpStatusCodeRange>` | `[]` | — | Drop transactions whose HTTP response status matches any range; e.g., `[404]` or `[(500, 599)]` |\n| `StrictTraceContinuation` | `bool` | `false` | — | When `true`, starts a new trace if exactly one side (SDK or incoming `sentry-org_id` baggage) has an org ID. A full mismatch (both present but different) always starts a new trace regardless of this setting. (requires ≥6.6.0) |\n| `OrgId` | `string` | auto | — | Organization ID for trace validation; auto-parsed from DSN subdomain (e.g., `o123.ingest.sentry.io` → `\"123\"`). Recommended to set explicitly for self-hosted Sentry, local Relay, or custom domains (requires ≥6.6.0) |\n\n### ASP.NET Core Extended Options (`SentryAspNetCoreOptions`)\n\n| Option | Type | Default | Notes |\n|--------|------|---------|-------|\n| `MaxRequestBodySize` | `RequestSize` | `None` | `None`, `Small` (~4 KB), `Medium` (~10 KB), `Always` |\n| `MinimumBreadcrumbLevel` | `LogLevel` | `Information` | Min log level for breadcrumbs |\n| `MinimumEventLevel` | `LogLevel` | `Error` | Min log level to send as Sentry event |\n| `CaptureBlockingCalls` | `bool` | `false` | Detect `.Wait()` \u002F `.Result` threadpool starvation |\n| `FlushOnCompletedRequest` | `bool` | `false` | **Required for Lambda \u002F serverless** |\n| `IncludeActivityData` | `bool` | `false` | Capture `System.Diagnostics.Activity` values |\n\n### MAUI Extended Options (`SentryMauiOptions`)\n\n| Option | Type | Default | Notes |\n|--------|------|---------|-------|\n| `IncludeTextInBreadcrumbs` | `bool` | `false` | Text from `Button`, `Label`, `Entry` elements. ⚠️ PII risk. |\n| `IncludeTitleInBreadcrumbs` | `bool` | `false` | Titles from `Window`, `Page` elements. ⚠️ PII risk. |\n| `IncludeBackgroundingStateInBreadcrumbs` | `bool` | `false` | `Window.Backgrounding` event state. ⚠️ PII risk. |\n\n### Environment Variables\n\n| Variable | Purpose |\n|----------|---------|\n| `SENTRY_DSN` | Project DSN |\n| `SENTRY_RELEASE` | App version (e.g. `my-app@1.2.3`) |\n| `SENTRY_ENVIRONMENT` | Deployment environment name |\n| `SENTRY_AUTH_TOKEN` | MSBuild \u002F `sentry-cli` symbol upload auth token |\n\n**ASP.NET Core:** use double underscore `__` as hierarchy separator:\n\n```bash\nexport Sentry__Dsn=\"https:\u002F\u002F...\"\nexport Sentry__TracesSampleRate=\"0.1\"\n```\n\n### MSBuild Symbol Upload Properties\n\n| Property | Type | Default | Description |\n|----------|------|---------|-------------|\n| `SentryOrg` | `string` | — | Sentry organization slug |\n| `SentryProject` | `string` | — | Sentry project slug |\n| `SentryUploadSymbols` | `bool` | `false` | Upload PDB files for line numbers in stack traces |\n| `SentryUploadSources` | `bool` | `false` | Upload source files for source context |\n| `SentryCreateRelease` | `bool` | `false` | Auto-create a Sentry release during build |\n| `SentrySetCommits` | `bool` | `false` | Associate git commits with the release |\n| `SentryUrl` | `string` | — | Self-hosted Sentry URL |\n\n---\n\n## Verification\n\nAfter wizard or manual setup, add a test throw and remove it after verifying:\n\n```csharp\n\u002F\u002F ASP.NET Core: add a temporary endpoint\napp.MapGet(\"\u002Fsentry-test\", () =>\n{\n    throw new Exception(\"Sentry test error — delete me\");\n});\n\n\u002F\u002F Or capture explicitly anywhere\nSentrySdk.CaptureException(new Exception(\"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| Exceptions captured | Throw a test exception, verify in Sentry Issues |\n| Stack traces readable | Check that file names and line numbers appear |\n| Tracing active | Check Performance tab for transactions |\n| Logging wired | Log an error via `ILogger`, check it appears as Sentry breadcrumb |\n| Symbol upload working | Stack trace shows `Controllers\u002FHomeController.cs:42` not `\u003Cunknown>` |\n\n---\n\n## Phase 4: Cross-Link\n\nAfter completing .NET setup, check for companion frontend projects:\n\n```bash\n# Check for frontend in adjacent directories\nls ..\u002Ffrontend ..\u002Fclient ..\u002Fweb ..\u002Fapp 2>\u002Fdev\u002Fnull\n\n# Check for JavaScript framework indicators\ncat ..\u002Fpackage.json 2>\u002Fdev\u002Fnull | grep -E '\"next\"|\"react\"|\"vue\"|\"nuxt\"' | head -3\n```\n\nIf a frontend is found, suggest the matching SDK skill:\n\n| Frontend detected | Suggest skill |\n|-------------------|--------------|\n| Next.js (`\"next\"` in `package.json`) | `sentry-nextjs-sdk` |\n| React SPA (`\"react\"` without `\"next\"`) | `@sentry\u002Freact` — see [docs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Freact\u002F](https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Freact\u002F) |\n| Vue.js | `@sentry\u002Fvue` — see [docs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fvue\u002F](https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fvue\u002F) |\n| Nuxt | `@sentry\u002Fnuxt` — see [docs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnuxt\u002F](https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnuxt\u002F) |\n\nConnecting frontend and backend with the same Sentry project enables **distributed tracing** — a single trace view spanning browser, .NET server, and any downstream APIs.\n\n---\n\n## Troubleshooting\n\n| Issue | Cause | Solution |\n|-------|-------|----------|\n| Events not appearing | DSN misconfigured | Set `Debug = true` and check console output for SDK diagnostic messages |\n| Stack traces show no file\u002Fline | PDB files not uploaded | Add `SentryUploadSymbols=true` to `.csproj`; set `SENTRY_AUTH_TOKEN` in CI |\n| WPF\u002FWinForms exceptions missing | `IsGlobalModeEnabled` not set | Set `options.IsGlobalModeEnabled = true` in `SentrySdk.Init()` |\n| Lambda\u002Fserverless events lost | Container freezes before flush | Set `options.FlushOnCompletedRequest = true` |\n| WPF UI-thread exceptions missing | `DispatcherUnhandledException` not wired | Register `App.DispatcherUnhandledException` in constructor (not `OnStartup`) |\n| Duplicate HTTP spans in Azure Functions | Both Sentry and OTel instrument HTTP | Set `options.DisableSentryHttpMessageHandler = true` |\n| `TracesSampleRate` has no effect | Rate is `0.0` (default) | Set `TracesSampleRate > 0` to enable tracing |\n| `appsettings.json` values ignored | Config key format wrong | Use flat key `\"Sentry:Dsn\"` or env var `Sentry__Dsn` (double underscore) |\n| `BeforeSend` drops all events | Hook returns `null` unconditionally | Verify your filter logic; return `null` only for events you want to drop |\n| MAUI native crashes not captured | Wrong package | Confirm `Sentry.Maui` is installed (not just `Sentry`) |\n",{"data":40,"body":44},{"name":4,"description":6,"license":30,"category":41,"parent":42,"disable-model-invocation":43},"sdk-setup","sentry-sdk-setup",true,{"type":45,"children":46},"root",[47,74,81,86,93,175,206,210,216,221,720,728,893,901,1122,1125,1131,1136,1144,1181,1189,1226,1234,1346,1357,1360,1366,1373,1417,1422,1425,1431,1438,1730,1733,1744,1919,1933,2311,2319,2416,2419,2430,2460,2690,2693,2704,2917,2920,2931,3109,3112,3123,3237,3240,3251,3279,3507,3510,3522,3632,3635,3647,3818,3821,3827,3832,3905,3956,3959,3965,3970,4155,4160,4163,4169,4180,5192,5206,5484,5497,5666,5672,5773,5791,5853,5859,6106,6109,6114,6119,6187,6201,6209,6318,6321,6327,6332,6450,6455,6598,6610,6613,6619,6978],{"type":48,"tag":49,"props":50,"children":51},"element","blockquote",{},[52],{"type":48,"tag":53,"props":54,"children":55},"p",{},[56,64,66,72],{"type":48,"tag":57,"props":58,"children":60},"a",{"href":59},"..\u002F..\u002FSKILL_TREE.md",[61],{"type":62,"value":63},"text","All Skills",{"type":62,"value":65}," > ",{"type":48,"tag":57,"props":67,"children":69},{"href":68},"..\u002Fsentry-sdk-setup\u002FSKILL.md",[70],{"type":62,"value":71},"SDK Setup",{"type":62,"value":73}," > .NET SDK",{"type":48,"tag":75,"props":76,"children":78},"h1",{"id":77},"sentry-net-sdk",[79],{"type":62,"value":80},"Sentry .NET SDK",{"type":48,"tag":53,"props":82,"children":83},{},[84],{"type":62,"value":85},"Opinionated wizard that scans your .NET project and guides you through complete Sentry setup: error monitoring, distributed tracing, profiling, structured logging, and cron monitoring across all major .NET frameworks.",{"type":48,"tag":87,"props":88,"children":90},"h2",{"id":89},"invoke-this-skill-when",[91],{"type":62,"value":92},"Invoke This Skill When",{"type":48,"tag":94,"props":95,"children":96},"ul",{},[97,103,108,143,148],{"type":48,"tag":98,"props":99,"children":100},"li",{},[101],{"type":62,"value":102},"User asks to \"add Sentry to .NET\", \"set up Sentry in C#\", or \"install Sentry for ASP.NET Core\"",{"type":48,"tag":98,"props":104,"children":105},{},[106],{"type":62,"value":107},"User wants error monitoring, tracing, profiling, logging, or crons for a .NET app",{"type":48,"tag":98,"props":109,"children":110},{},[111,113,120,122,128,129,135,137],{"type":62,"value":112},"User mentions ",{"type":48,"tag":114,"props":115,"children":117},"code",{"className":116},[],[118],{"type":62,"value":119},"SentrySdk.Init",{"type":62,"value":121},", ",{"type":48,"tag":114,"props":123,"children":125},{"className":124},[],[126],{"type":62,"value":127},"UseSentry",{"type":62,"value":121},{"type":48,"tag":114,"props":130,"children":132},{"className":131},[],[133],{"type":62,"value":134},"Sentry.AspNetCore",{"type":62,"value":136},", or ",{"type":48,"tag":114,"props":138,"children":140},{"className":139},[],[141],{"type":62,"value":142},"Sentry.Maui",{"type":48,"tag":98,"props":144,"children":145},{},[146],{"type":62,"value":147},"User wants to capture unhandled exceptions in WPF, WinForms, MAUI, or Azure Functions",{"type":48,"tag":98,"props":149,"children":150},{},[151,153,159,160,166,167,173],{"type":62,"value":152},"User asks about ",{"type":48,"tag":114,"props":154,"children":156},{"className":155},[],[157],{"type":62,"value":158},"SentryOptions",{"type":62,"value":121},{"type":48,"tag":114,"props":161,"children":163},{"className":162},[],[164],{"type":62,"value":165},"BeforeSend",{"type":62,"value":121},{"type":48,"tag":114,"props":168,"children":170},{"className":169},[],[171],{"type":62,"value":172},"TracesSampleRate",{"type":62,"value":174},", or symbol upload",{"type":48,"tag":49,"props":176,"children":177},{},[178],{"type":48,"tag":53,"props":179,"children":180},{},[181,187,189,194,196,204],{"type":48,"tag":182,"props":183,"children":184},"strong",{},[185],{"type":62,"value":186},"Note:",{"type":62,"value":188}," SDK version and APIs below reflect ",{"type":48,"tag":114,"props":190,"children":192},{"className":191},[],[193],{"type":62,"value":9},{"type":62,"value":195}," NuGet packages ≥6.1.0 (OTLP export requires ≥6.5.0).\nAlways verify against ",{"type":48,"tag":57,"props":197,"children":201},{"href":198,"rel":199},"https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fdotnet\u002F",[200],"nofollow",[202],{"type":62,"value":203},"docs.sentry.io\u002Fplatforms\u002Fdotnet\u002F",{"type":62,"value":205}," before implementing.",{"type":48,"tag":207,"props":208,"children":209},"hr",{},[],{"type":48,"tag":87,"props":211,"children":213},{"id":212},"phase-1-detect",[214],{"type":62,"value":215},"Phase 1: Detect",{"type":48,"tag":53,"props":217,"children":218},{},[219],{"type":62,"value":220},"Run these commands to understand the project before making any recommendations:",{"type":48,"tag":222,"props":223,"children":228},"pre",{"className":224,"code":225,"language":226,"meta":227,"style":227},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Detect framework type — find all .csproj files\nfind . -name \"*.csproj\" | head -20\n\n# Detect framework targets\ngrep -r \"TargetFramework\\|Project Sdk\" --include=\"*.csproj\" .\n\n# Check for existing Sentry packages\ngrep -r \"Sentry\" --include=\"*.csproj\" . | grep \"PackageReference\"\n\n# Check startup files\nls Program.cs src\u002FProgram.cs App.xaml.cs MauiProgram.cs 2>\u002Fdev\u002Fnull\n\n# Check for appsettings\nls appsettings.json src\u002Fappsettings.json 2>\u002Fdev\u002Fnull\n\n# Check for logging libraries\ngrep -r \"Serilog\\|NLog\\|log4net\" --include=\"*.csproj\" .\n\n# Check for companion frontend\nls ..\u002Ffrontend ..\u002Fclient ..\u002Fweb 2>\u002Fdev\u002Fnull\ncat ..\u002Fpackage.json 2>\u002Fdev\u002Fnull | grep -E '\"next\"|\"react\"|\"vue\"' | head -3\n","bash","",[229],{"type":48,"tag":114,"props":230,"children":231},{"__ignoreMap":227},[232,244,296,305,314,363,371,380,447,455,464,503,511,520,546,554,563,608,616,625,656],{"type":48,"tag":233,"props":234,"children":237},"span",{"class":235,"line":236},"line",1,[238],{"type":48,"tag":233,"props":239,"children":241},{"style":240},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[242],{"type":62,"value":243},"# Detect framework type — find all .csproj files\n",{"type":48,"tag":233,"props":245,"children":247},{"class":235,"line":246},2,[248,254,260,265,271,276,281,286,291],{"type":48,"tag":233,"props":249,"children":251},{"style":250},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[252],{"type":62,"value":253},"find",{"type":48,"tag":233,"props":255,"children":257},{"style":256},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[258],{"type":62,"value":259}," .",{"type":48,"tag":233,"props":261,"children":262},{"style":256},[263],{"type":62,"value":264}," -name",{"type":48,"tag":233,"props":266,"children":268},{"style":267},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[269],{"type":62,"value":270}," \"",{"type":48,"tag":233,"props":272,"children":273},{"style":256},[274],{"type":62,"value":275},"*.csproj",{"type":48,"tag":233,"props":277,"children":278},{"style":267},[279],{"type":62,"value":280},"\"",{"type":48,"tag":233,"props":282,"children":283},{"style":267},[284],{"type":62,"value":285}," |",{"type":48,"tag":233,"props":287,"children":288},{"style":250},[289],{"type":62,"value":290}," head",{"type":48,"tag":233,"props":292,"children":293},{"style":256},[294],{"type":62,"value":295}," -20\n",{"type":48,"tag":233,"props":297,"children":299},{"class":235,"line":298},3,[300],{"type":48,"tag":233,"props":301,"children":302},{"emptyLinePlaceholder":43},[303],{"type":62,"value":304},"\n",{"type":48,"tag":233,"props":306,"children":308},{"class":235,"line":307},4,[309],{"type":48,"tag":233,"props":310,"children":311},{"style":240},[312],{"type":62,"value":313},"# Detect framework targets\n",{"type":48,"tag":233,"props":315,"children":317},{"class":235,"line":316},5,[318,323,328,332,337,341,346,350,354,358],{"type":48,"tag":233,"props":319,"children":320},{"style":250},[321],{"type":62,"value":322},"grep",{"type":48,"tag":233,"props":324,"children":325},{"style":256},[326],{"type":62,"value":327}," -r",{"type":48,"tag":233,"props":329,"children":330},{"style":267},[331],{"type":62,"value":270},{"type":48,"tag":233,"props":333,"children":334},{"style":256},[335],{"type":62,"value":336},"TargetFramework\\|Project Sdk",{"type":48,"tag":233,"props":338,"children":339},{"style":267},[340],{"type":62,"value":280},{"type":48,"tag":233,"props":342,"children":343},{"style":256},[344],{"type":62,"value":345}," --include=",{"type":48,"tag":233,"props":347,"children":348},{"style":267},[349],{"type":62,"value":280},{"type":48,"tag":233,"props":351,"children":352},{"style":256},[353],{"type":62,"value":275},{"type":48,"tag":233,"props":355,"children":356},{"style":267},[357],{"type":62,"value":280},{"type":48,"tag":233,"props":359,"children":360},{"style":256},[361],{"type":62,"value":362}," .\n",{"type":48,"tag":233,"props":364,"children":366},{"class":235,"line":365},6,[367],{"type":48,"tag":233,"props":368,"children":369},{"emptyLinePlaceholder":43},[370],{"type":62,"value":304},{"type":48,"tag":233,"props":372,"children":374},{"class":235,"line":373},7,[375],{"type":48,"tag":233,"props":376,"children":377},{"style":240},[378],{"type":62,"value":379},"# Check for existing Sentry packages\n",{"type":48,"tag":233,"props":381,"children":383},{"class":235,"line":382},8,[384,388,392,396,400,404,408,412,416,420,424,428,433,437,442],{"type":48,"tag":233,"props":385,"children":386},{"style":250},[387],{"type":62,"value":322},{"type":48,"tag":233,"props":389,"children":390},{"style":256},[391],{"type":62,"value":327},{"type":48,"tag":233,"props":393,"children":394},{"style":267},[395],{"type":62,"value":270},{"type":48,"tag":233,"props":397,"children":398},{"style":256},[399],{"type":62,"value":9},{"type":48,"tag":233,"props":401,"children":402},{"style":267},[403],{"type":62,"value":280},{"type":48,"tag":233,"props":405,"children":406},{"style":256},[407],{"type":62,"value":345},{"type":48,"tag":233,"props":409,"children":410},{"style":267},[411],{"type":62,"value":280},{"type":48,"tag":233,"props":413,"children":414},{"style":256},[415],{"type":62,"value":275},{"type":48,"tag":233,"props":417,"children":418},{"style":267},[419],{"type":62,"value":280},{"type":48,"tag":233,"props":421,"children":422},{"style":256},[423],{"type":62,"value":259},{"type":48,"tag":233,"props":425,"children":426},{"style":267},[427],{"type":62,"value":285},{"type":48,"tag":233,"props":429,"children":430},{"style":250},[431],{"type":62,"value":432}," grep",{"type":48,"tag":233,"props":434,"children":435},{"style":267},[436],{"type":62,"value":270},{"type":48,"tag":233,"props":438,"children":439},{"style":256},[440],{"type":62,"value":441},"PackageReference",{"type":48,"tag":233,"props":443,"children":444},{"style":267},[445],{"type":62,"value":446},"\"\n",{"type":48,"tag":233,"props":448,"children":450},{"class":235,"line":449},9,[451],{"type":48,"tag":233,"props":452,"children":453},{"emptyLinePlaceholder":43},[454],{"type":62,"value":304},{"type":48,"tag":233,"props":456,"children":458},{"class":235,"line":457},10,[459],{"type":48,"tag":233,"props":460,"children":461},{"style":240},[462],{"type":62,"value":463},"# Check startup files\n",{"type":48,"tag":233,"props":465,"children":467},{"class":235,"line":466},11,[468,473,478,483,488,493,498],{"type":48,"tag":233,"props":469,"children":470},{"style":250},[471],{"type":62,"value":472},"ls",{"type":48,"tag":233,"props":474,"children":475},{"style":256},[476],{"type":62,"value":477}," Program.cs",{"type":48,"tag":233,"props":479,"children":480},{"style":256},[481],{"type":62,"value":482}," src\u002FProgram.cs",{"type":48,"tag":233,"props":484,"children":485},{"style":256},[486],{"type":62,"value":487}," App.xaml.cs",{"type":48,"tag":233,"props":489,"children":490},{"style":256},[491],{"type":62,"value":492}," MauiProgram.cs",{"type":48,"tag":233,"props":494,"children":495},{"style":267},[496],{"type":62,"value":497}," 2>",{"type":48,"tag":233,"props":499,"children":500},{"style":256},[501],{"type":62,"value":502},"\u002Fdev\u002Fnull\n",{"type":48,"tag":233,"props":504,"children":506},{"class":235,"line":505},12,[507],{"type":48,"tag":233,"props":508,"children":509},{"emptyLinePlaceholder":43},[510],{"type":62,"value":304},{"type":48,"tag":233,"props":512,"children":514},{"class":235,"line":513},13,[515],{"type":48,"tag":233,"props":516,"children":517},{"style":240},[518],{"type":62,"value":519},"# Check for appsettings\n",{"type":48,"tag":233,"props":521,"children":523},{"class":235,"line":522},14,[524,528,533,538,542],{"type":48,"tag":233,"props":525,"children":526},{"style":250},[527],{"type":62,"value":472},{"type":48,"tag":233,"props":529,"children":530},{"style":256},[531],{"type":62,"value":532}," appsettings.json",{"type":48,"tag":233,"props":534,"children":535},{"style":256},[536],{"type":62,"value":537}," src\u002Fappsettings.json",{"type":48,"tag":233,"props":539,"children":540},{"style":267},[541],{"type":62,"value":497},{"type":48,"tag":233,"props":543,"children":544},{"style":256},[545],{"type":62,"value":502},{"type":48,"tag":233,"props":547,"children":549},{"class":235,"line":548},15,[550],{"type":48,"tag":233,"props":551,"children":552},{"emptyLinePlaceholder":43},[553],{"type":62,"value":304},{"type":48,"tag":233,"props":555,"children":557},{"class":235,"line":556},16,[558],{"type":48,"tag":233,"props":559,"children":560},{"style":240},[561],{"type":62,"value":562},"# Check for logging libraries\n",{"type":48,"tag":233,"props":564,"children":566},{"class":235,"line":565},17,[567,571,575,579,584,588,592,596,600,604],{"type":48,"tag":233,"props":568,"children":569},{"style":250},[570],{"type":62,"value":322},{"type":48,"tag":233,"props":572,"children":573},{"style":256},[574],{"type":62,"value":327},{"type":48,"tag":233,"props":576,"children":577},{"style":267},[578],{"type":62,"value":270},{"type":48,"tag":233,"props":580,"children":581},{"style":256},[582],{"type":62,"value":583},"Serilog\\|NLog\\|log4net",{"type":48,"tag":233,"props":585,"children":586},{"style":267},[587],{"type":62,"value":280},{"type":48,"tag":233,"props":589,"children":590},{"style":256},[591],{"type":62,"value":345},{"type":48,"tag":233,"props":593,"children":594},{"style":267},[595],{"type":62,"value":280},{"type":48,"tag":233,"props":597,"children":598},{"style":256},[599],{"type":62,"value":275},{"type":48,"tag":233,"props":601,"children":602},{"style":267},[603],{"type":62,"value":280},{"type":48,"tag":233,"props":605,"children":606},{"style":256},[607],{"type":62,"value":362},{"type":48,"tag":233,"props":609,"children":611},{"class":235,"line":610},18,[612],{"type":48,"tag":233,"props":613,"children":614},{"emptyLinePlaceholder":43},[615],{"type":62,"value":304},{"type":48,"tag":233,"props":617,"children":619},{"class":235,"line":618},19,[620],{"type":48,"tag":233,"props":621,"children":622},{"style":240},[623],{"type":62,"value":624},"# Check for companion frontend\n",{"type":48,"tag":233,"props":626,"children":628},{"class":235,"line":627},20,[629,633,638,643,648,652],{"type":48,"tag":233,"props":630,"children":631},{"style":250},[632],{"type":62,"value":472},{"type":48,"tag":233,"props":634,"children":635},{"style":256},[636],{"type":62,"value":637}," ..\u002Ffrontend",{"type":48,"tag":233,"props":639,"children":640},{"style":256},[641],{"type":62,"value":642}," ..\u002Fclient",{"type":48,"tag":233,"props":644,"children":645},{"style":256},[646],{"type":62,"value":647}," ..\u002Fweb",{"type":48,"tag":233,"props":649,"children":650},{"style":267},[651],{"type":62,"value":497},{"type":48,"tag":233,"props":653,"children":654},{"style":256},[655],{"type":62,"value":502},{"type":48,"tag":233,"props":657,"children":659},{"class":235,"line":658},21,[660,665,670,674,679,683,687,692,697,702,707,711,715],{"type":48,"tag":233,"props":661,"children":662},{"style":250},[663],{"type":62,"value":664},"cat",{"type":48,"tag":233,"props":666,"children":667},{"style":256},[668],{"type":62,"value":669}," ..\u002Fpackage.json",{"type":48,"tag":233,"props":671,"children":672},{"style":267},[673],{"type":62,"value":497},{"type":48,"tag":233,"props":675,"children":676},{"style":256},[677],{"type":62,"value":678},"\u002Fdev\u002Fnull",{"type":48,"tag":233,"props":680,"children":681},{"style":267},[682],{"type":62,"value":285},{"type":48,"tag":233,"props":684,"children":685},{"style":250},[686],{"type":62,"value":432},{"type":48,"tag":233,"props":688,"children":689},{"style":256},[690],{"type":62,"value":691}," -E",{"type":48,"tag":233,"props":693,"children":694},{"style":267},[695],{"type":62,"value":696}," '",{"type":48,"tag":233,"props":698,"children":699},{"style":256},[700],{"type":62,"value":701},"\"next\"|\"react\"|\"vue\"",{"type":48,"tag":233,"props":703,"children":704},{"style":267},[705],{"type":62,"value":706},"'",{"type":48,"tag":233,"props":708,"children":709},{"style":267},[710],{"type":62,"value":285},{"type":48,"tag":233,"props":712,"children":713},{"style":250},[714],{"type":62,"value":290},{"type":48,"tag":233,"props":716,"children":717},{"style":256},[718],{"type":62,"value":719}," -3\n",{"type":48,"tag":53,"props":721,"children":722},{},[723],{"type":48,"tag":182,"props":724,"children":725},{},[726],{"type":62,"value":727},"What to determine:",{"type":48,"tag":729,"props":730,"children":731},"table",{},[732,751],{"type":48,"tag":733,"props":734,"children":735},"thead",{},[736],{"type":48,"tag":737,"props":738,"children":739},"tr",{},[740,746],{"type":48,"tag":741,"props":742,"children":743},"th",{},[744],{"type":62,"value":745},"Question",{"type":48,"tag":741,"props":747,"children":748},{},[749],{"type":62,"value":750},"Impact",{"type":48,"tag":752,"props":753,"children":754},"tbody",{},[755,769,782,795,808,843,862,880],{"type":48,"tag":737,"props":756,"children":757},{},[758,764],{"type":48,"tag":759,"props":760,"children":761},"td",{},[762],{"type":62,"value":763},"Framework type?",{"type":48,"tag":759,"props":765,"children":766},{},[767],{"type":62,"value":768},"Determines correct package and init pattern",{"type":48,"tag":737,"props":770,"children":771},{},[772,777],{"type":48,"tag":759,"props":773,"children":774},{},[775],{"type":62,"value":776},".NET version?",{"type":48,"tag":759,"props":778,"children":779},{},[780],{"type":62,"value":781},".NET 8+ recommended; .NET Framework 4.6.2+ supported",{"type":48,"tag":737,"props":783,"children":784},{},[785,790],{"type":48,"tag":759,"props":786,"children":787},{},[788],{"type":62,"value":789},"Sentry already installed?",{"type":48,"tag":759,"props":791,"children":792},{},[793],{"type":62,"value":794},"Skip install, go to feature config",{"type":48,"tag":737,"props":796,"children":797},{},[798,803],{"type":48,"tag":759,"props":799,"children":800},{},[801],{"type":62,"value":802},"Logging library (Serilog, NLog)?",{"type":48,"tag":759,"props":804,"children":805},{},[806],{"type":62,"value":807},"Recommend matching Sentry sink\u002Ftarget",{"type":48,"tag":737,"props":809,"children":810},{},[811,816],{"type":48,"tag":759,"props":812,"children":813},{},[814],{"type":62,"value":815},"Async\u002Fhosted app (ASP.NET Core)?",{"type":48,"tag":759,"props":817,"children":818},{},[819,825,827,833,835,841],{"type":48,"tag":114,"props":820,"children":822},{"className":821},[],[823],{"type":62,"value":824},"UseSentry()",{"type":62,"value":826}," on ",{"type":48,"tag":114,"props":828,"children":830},{"className":829},[],[831],{"type":62,"value":832},"WebHost",{"type":62,"value":834},"; no ",{"type":48,"tag":114,"props":836,"children":838},{"className":837},[],[839],{"type":62,"value":840},"IsGlobalModeEnabled",{"type":62,"value":842}," needed",{"type":48,"tag":737,"props":844,"children":845},{},[846,851],{"type":48,"tag":759,"props":847,"children":848},{},[849],{"type":62,"value":850},"Desktop app (WPF, WinForms, WinUI)?",{"type":48,"tag":759,"props":852,"children":853},{},[854,856],{"type":62,"value":855},"Must set ",{"type":48,"tag":114,"props":857,"children":859},{"className":858},[],[860],{"type":62,"value":861},"IsGlobalModeEnabled = true",{"type":48,"tag":737,"props":863,"children":864},{},[865,870],{"type":48,"tag":759,"props":866,"children":867},{},[868],{"type":62,"value":869},"Serverless (Azure Functions, Lambda)?",{"type":48,"tag":759,"props":871,"children":872},{},[873,874],{"type":62,"value":855},{"type":48,"tag":114,"props":875,"children":877},{"className":876},[],[878],{"type":62,"value":879},"FlushOnCompletedRequest = true",{"type":48,"tag":737,"props":881,"children":882},{},[883,888],{"type":48,"tag":759,"props":884,"children":885},{},[886],{"type":62,"value":887},"Frontend directory found?",{"type":48,"tag":759,"props":889,"children":890},{},[891],{"type":62,"value":892},"Trigger Phase 4 cross-link",{"type":48,"tag":53,"props":894,"children":895},{},[896],{"type":48,"tag":182,"props":897,"children":898},{},[899],{"type":62,"value":900},"Framework → Package mapping:",{"type":48,"tag":729,"props":902,"children":903},{},[904,920],{"type":48,"tag":733,"props":905,"children":906},{},[907],{"type":48,"tag":737,"props":908,"children":909},{},[910,915],{"type":48,"tag":741,"props":911,"children":912},{},[913],{"type":62,"value":914},"Detected",{"type":48,"tag":741,"props":916,"children":917},{},[918],{"type":62,"value":919},"Package to install",{"type":48,"tag":752,"props":921,"children":922},{},[923,945,977,1007,1027,1048,1077,1106],{"type":48,"tag":737,"props":924,"children":925},{},[926,937],{"type":48,"tag":759,"props":927,"children":928},{},[929,935],{"type":48,"tag":114,"props":930,"children":932},{"className":931},[],[933],{"type":62,"value":934},"Sdk=\"Microsoft.NET.Sdk.Web\"",{"type":62,"value":936}," (ASP.NET Core)",{"type":48,"tag":759,"props":938,"children":939},{},[940],{"type":48,"tag":114,"props":941,"children":943},{"className":942},[],[944],{"type":62,"value":134},{"type":48,"tag":737,"props":946,"children":947},{},[948,967],{"type":48,"tag":759,"props":949,"children":950},{},[951,957,959,965],{"type":48,"tag":114,"props":952,"children":954},{"className":953},[],[955],{"type":62,"value":956},"App.xaml.cs",{"type":62,"value":958}," with ",{"type":48,"tag":114,"props":960,"children":962},{"className":961},[],[963],{"type":62,"value":964},"Application",{"type":62,"value":966}," base",{"type":48,"tag":759,"props":968,"children":969},{},[970,975],{"type":48,"tag":114,"props":971,"children":973},{"className":972},[],[974],{"type":62,"value":9},{"type":62,"value":976}," (WPF)",{"type":48,"tag":737,"props":978,"children":979},{},[980,997],{"type":48,"tag":759,"props":981,"children":982},{},[983,989,991],{"type":48,"tag":114,"props":984,"children":986},{"className":985},[],[987],{"type":62,"value":988},"[STAThread]",{"type":62,"value":990}," in ",{"type":48,"tag":114,"props":992,"children":994},{"className":993},[],[995],{"type":62,"value":996},"Program.cs",{"type":48,"tag":759,"props":998,"children":999},{},[1000,1005],{"type":48,"tag":114,"props":1001,"children":1003},{"className":1002},[],[1004],{"type":62,"value":9},{"type":62,"value":1006}," (WinForms)",{"type":48,"tag":737,"props":1008,"children":1009},{},[1010,1019],{"type":48,"tag":759,"props":1011,"children":1012},{},[1013],{"type":48,"tag":114,"props":1014,"children":1016},{"className":1015},[],[1017],{"type":62,"value":1018},"MauiProgram.cs",{"type":48,"tag":759,"props":1020,"children":1021},{},[1022],{"type":48,"tag":114,"props":1023,"children":1025},{"className":1024},[],[1026],{"type":62,"value":142},{"type":48,"tag":737,"props":1028,"children":1029},{},[1030,1039],{"type":48,"tag":759,"props":1031,"children":1032},{},[1033],{"type":48,"tag":114,"props":1034,"children":1036},{"className":1035},[],[1037],{"type":62,"value":1038},"WebAssemblyHostBuilder",{"type":48,"tag":759,"props":1040,"children":1041},{},[1042],{"type":48,"tag":114,"props":1043,"children":1045},{"className":1044},[],[1046],{"type":62,"value":1047},"Sentry.AspNetCore.Blazor.WebAssembly",{"type":48,"tag":737,"props":1049,"children":1050},{},[1051,1060],{"type":48,"tag":759,"props":1052,"children":1053},{},[1054],{"type":48,"tag":114,"props":1055,"children":1057},{"className":1056},[],[1058],{"type":62,"value":1059},"FunctionsStartup",{"type":48,"tag":759,"props":1061,"children":1062},{},[1063,1069,1071],{"type":48,"tag":114,"props":1064,"children":1066},{"className":1065},[],[1067],{"type":62,"value":1068},"Sentry.Extensions.Logging",{"type":62,"value":1070}," + ",{"type":48,"tag":114,"props":1072,"children":1074},{"className":1073},[],[1075],{"type":62,"value":1076},"Sentry.OpenTelemetry",{"type":48,"tag":737,"props":1078,"children":1079},{},[1080,1097],{"type":48,"tag":759,"props":1081,"children":1082},{},[1083,1089,1091],{"type":48,"tag":114,"props":1084,"children":1086},{"className":1085},[],[1087],{"type":62,"value":1088},"HttpApplication",{"type":62,"value":1090}," \u002F ",{"type":48,"tag":114,"props":1092,"children":1094},{"className":1093},[],[1095],{"type":62,"value":1096},"Global.asax",{"type":48,"tag":759,"props":1098,"children":1099},{},[1100],{"type":48,"tag":114,"props":1101,"children":1103},{"className":1102},[],[1104],{"type":62,"value":1105},"Sentry.AspNet",{"type":48,"tag":737,"props":1107,"children":1108},{},[1109,1114],{"type":48,"tag":759,"props":1110,"children":1111},{},[1112],{"type":62,"value":1113},"Generic host \u002F Worker Service",{"type":48,"tag":759,"props":1115,"children":1116},{},[1117],{"type":48,"tag":114,"props":1118,"children":1120},{"className":1119},[],[1121],{"type":62,"value":1068},{"type":48,"tag":207,"props":1123,"children":1124},{},[],{"type":48,"tag":87,"props":1126,"children":1128},{"id":1127},"phase-2-recommend",[1129],{"type":62,"value":1130},"Phase 2: Recommend",{"type":48,"tag":53,"props":1132,"children":1133},{},[1134],{"type":62,"value":1135},"Present a concrete recommendation based on what you found. Lead with a proposal — don't ask open-ended questions.",{"type":48,"tag":53,"props":1137,"children":1138},{},[1139],{"type":48,"tag":182,"props":1140,"children":1141},{},[1142],{"type":62,"value":1143},"Recommended (core coverage):",{"type":48,"tag":94,"props":1145,"children":1146},{},[1147,1159,1170],{"type":48,"tag":98,"props":1148,"children":1149},{},[1150,1152,1157],{"type":62,"value":1151},"✅ ",{"type":48,"tag":182,"props":1153,"children":1154},{},[1155],{"type":62,"value":1156},"Error Monitoring",{"type":62,"value":1158}," — always; captures unhandled exceptions, structured captures, scope enrichment",{"type":48,"tag":98,"props":1160,"children":1161},{},[1162,1163,1168],{"type":62,"value":1151},{"type":48,"tag":182,"props":1164,"children":1165},{},[1166],{"type":62,"value":1167},"Tracing",{"type":62,"value":1169}," — always for ASP.NET Core and hosted apps; auto-instruments HTTP requests and EF Core queries",{"type":48,"tag":98,"props":1171,"children":1172},{},[1173,1174,1179],{"type":62,"value":1151},{"type":48,"tag":182,"props":1175,"children":1176},{},[1177],{"type":62,"value":1178},"Logging",{"type":62,"value":1180}," — recommended for all apps; routes ILogger \u002F Serilog \u002F NLog entries to Sentry as breadcrumbs and events",{"type":48,"tag":53,"props":1182,"children":1183},{},[1184],{"type":48,"tag":182,"props":1185,"children":1186},{},[1187],{"type":62,"value":1188},"Optional (enhanced observability):",{"type":48,"tag":94,"props":1190,"children":1191},{},[1192,1204,1215],{"type":48,"tag":98,"props":1193,"children":1194},{},[1195,1197,1202],{"type":62,"value":1196},"⚡ ",{"type":48,"tag":182,"props":1198,"children":1199},{},[1200],{"type":62,"value":1201},"Profiling",{"type":62,"value":1203}," — CPU profiling; recommend for performance-critical services running on .NET 6+",{"type":48,"tag":98,"props":1205,"children":1206},{},[1207,1208,1213],{"type":62,"value":1196},{"type":48,"tag":182,"props":1209,"children":1210},{},[1211],{"type":62,"value":1212},"Metrics",{"type":62,"value":1214}," — counters, gauges, distributions linked to traces; recommend for apps that need custom business metrics",{"type":48,"tag":98,"props":1216,"children":1217},{},[1218,1219,1224],{"type":62,"value":1196},{"type":48,"tag":182,"props":1220,"children":1221},{},[1222],{"type":62,"value":1223},"Crons",{"type":62,"value":1225}," — detect missed\u002Ffailed scheduled jobs; recommend when Hangfire, Quartz.NET, or scheduled endpoints detected",{"type":48,"tag":53,"props":1227,"children":1228},{},[1229],{"type":48,"tag":182,"props":1230,"children":1231},{},[1232],{"type":62,"value":1233},"Recommendation logic:",{"type":48,"tag":729,"props":1235,"children":1236},{},[1237,1253],{"type":48,"tag":733,"props":1238,"children":1239},{},[1240],{"type":48,"tag":737,"props":1241,"children":1242},{},[1243,1248],{"type":48,"tag":741,"props":1244,"children":1245},{},[1246],{"type":62,"value":1247},"Feature",{"type":48,"tag":741,"props":1249,"children":1250},{},[1251],{"type":62,"value":1252},"Recommend when...",{"type":48,"tag":752,"props":1254,"children":1255},{},[1256,1273,1290,1310,1322,1334],{"type":48,"tag":737,"props":1257,"children":1258},{},[1259,1263],{"type":48,"tag":759,"props":1260,"children":1261},{},[1262],{"type":62,"value":1156},{"type":48,"tag":759,"props":1264,"children":1265},{},[1266,1271],{"type":48,"tag":182,"props":1267,"children":1268},{},[1269],{"type":62,"value":1270},"Always",{"type":62,"value":1272}," — non-negotiable baseline",{"type":48,"tag":737,"props":1274,"children":1275},{},[1276,1280],{"type":48,"tag":759,"props":1277,"children":1278},{},[1279],{"type":62,"value":1167},{"type":48,"tag":759,"props":1281,"children":1282},{},[1283,1288],{"type":48,"tag":182,"props":1284,"children":1285},{},[1286],{"type":62,"value":1287},"Always for ASP.NET Core",{"type":62,"value":1289}," — request traces, EF Core spans, HttpClient spans are high-value",{"type":48,"tag":737,"props":1291,"children":1292},{},[1293,1297],{"type":48,"tag":759,"props":1294,"children":1295},{},[1296],{"type":62,"value":1178},{"type":48,"tag":759,"props":1298,"children":1299},{},[1300,1302,1308],{"type":62,"value":1301},"App uses ",{"type":48,"tag":114,"props":1303,"children":1305},{"className":1304},[],[1306],{"type":62,"value":1307},"ILogger\u003CT>",{"type":62,"value":1309},", Serilog, NLog, or log4net",{"type":48,"tag":737,"props":1311,"children":1312},{},[1313,1317],{"type":48,"tag":759,"props":1314,"children":1315},{},[1316],{"type":62,"value":1201},{"type":48,"tag":759,"props":1318,"children":1319},{},[1320],{"type":62,"value":1321},"Performance-critical service on .NET 6+",{"type":48,"tag":737,"props":1323,"children":1324},{},[1325,1329],{"type":48,"tag":759,"props":1326,"children":1327},{},[1328],{"type":62,"value":1212},{"type":48,"tag":759,"props":1330,"children":1331},{},[1332],{"type":62,"value":1333},"App needs custom business metrics (request counts, queue depths, response times)",{"type":48,"tag":737,"props":1335,"children":1336},{},[1337,1341],{"type":48,"tag":759,"props":1338,"children":1339},{},[1340],{"type":62,"value":1223},{"type":48,"tag":759,"props":1342,"children":1343},{},[1344],{"type":62,"value":1345},"App uses Hangfire, Quartz.NET, or scheduled Azure Functions",{"type":48,"tag":53,"props":1347,"children":1348},{},[1349,1351],{"type":62,"value":1350},"Propose: ",{"type":48,"tag":1352,"props":1353,"children":1354},"em",{},[1355],{"type":62,"value":1356},"\"I recommend setting up Error Monitoring + Tracing + Logging. Want me to also add Profiling or Crons?\"",{"type":48,"tag":207,"props":1358,"children":1359},{},[],{"type":48,"tag":87,"props":1361,"children":1363},{"id":1362},"phase-3-guide",[1364],{"type":62,"value":1365},"Phase 3: Guide",{"type":48,"tag":1367,"props":1368,"children":1370},"h3",{"id":1369},"option-1-wizard-recommended",[1371],{"type":62,"value":1372},"Option 1: Wizard (Recommended)",{"type":48,"tag":49,"props":1374,"children":1375},{},[1376,1386,1396,1401],{"type":48,"tag":53,"props":1377,"children":1378},{},[1379,1384],{"type":48,"tag":182,"props":1380,"children":1381},{},[1382],{"type":62,"value":1383},"You need to run this yourself",{"type":62,"value":1385}," — the wizard opens a browser for login and requires interactive input that the agent can't handle. Copy-paste into your terminal:",{"type":48,"tag":222,"props":1387,"children":1391},{"className":1388,"code":1390,"language":62},[1389],"language-text","npx @sentry\u002Fwizard@latest -i dotnet\n",[1392],{"type":48,"tag":114,"props":1393,"children":1394},{"__ignoreMap":227},[1395],{"type":62,"value":1390},{"type":48,"tag":53,"props":1397,"children":1398},{},[1399],{"type":62,"value":1400},"It handles login, org\u002Fproject selection, DSN configuration, and MSBuild symbol upload setup for readable stack traces in production.",{"type":48,"tag":53,"props":1402,"children":1403},{},[1404],{"type":48,"tag":182,"props":1405,"children":1406},{},[1407,1409,1415],{"type":62,"value":1408},"Once it finishes, come back and skip to ",{"type":48,"tag":57,"props":1410,"children":1412},{"href":1411},"#verification",[1413],{"type":62,"value":1414},"Verification",{"type":62,"value":1416},".",{"type":48,"tag":53,"props":1418,"children":1419},{},[1420],{"type":62,"value":1421},"If the user skips the wizard, proceed with Option 2 (Manual Setup) below.",{"type":48,"tag":207,"props":1423,"children":1424},{},[],{"type":48,"tag":1367,"props":1426,"children":1428},{"id":1427},"option-2-manual-setup",[1429],{"type":62,"value":1430},"Option 2: Manual Setup",{"type":48,"tag":1432,"props":1433,"children":1435},"h4",{"id":1434},"install-the-right-package",[1436],{"type":62,"value":1437},"Install the right package",{"type":48,"tag":222,"props":1439,"children":1441},{"className":224,"code":1440,"language":226,"meta":227,"style":227},"# ASP.NET Core\ndotnet add package Sentry.AspNetCore -v 6.1.0\n\n# WPF or WinForms or Console\ndotnet add package Sentry -v 6.1.0\n\n# .NET MAUI\ndotnet add package Sentry.Maui -v 6.1.0\n\n# Blazor WebAssembly\ndotnet add package Sentry.AspNetCore.Blazor.WebAssembly -v 6.1.0\n\n# Azure Functions (Isolated Worker)\ndotnet add package Sentry.Extensions.Logging -v 6.1.0\ndotnet add package Sentry.OpenTelemetry -v 6.1.0\n\n# Classic ASP.NET (System.Web \u002F .NET Framework)\ndotnet add package Sentry.AspNet -v 6.1.0\n",[1442],{"type":48,"tag":114,"props":1443,"children":1444},{"__ignoreMap":227},[1445,1453,1487,1494,1502,1530,1537,1545,1573,1580,1588,1616,1623,1631,1659,1687,1694,1702],{"type":48,"tag":233,"props":1446,"children":1447},{"class":235,"line":236},[1448],{"type":48,"tag":233,"props":1449,"children":1450},{"style":240},[1451],{"type":62,"value":1452},"# ASP.NET Core\n",{"type":48,"tag":233,"props":1454,"children":1455},{"class":235,"line":246},[1456,1461,1466,1471,1476,1481],{"type":48,"tag":233,"props":1457,"children":1458},{"style":250},[1459],{"type":62,"value":1460},"dotnet",{"type":48,"tag":233,"props":1462,"children":1463},{"style":256},[1464],{"type":62,"value":1465}," add",{"type":48,"tag":233,"props":1467,"children":1468},{"style":256},[1469],{"type":62,"value":1470}," package",{"type":48,"tag":233,"props":1472,"children":1473},{"style":256},[1474],{"type":62,"value":1475}," Sentry.AspNetCore",{"type":48,"tag":233,"props":1477,"children":1478},{"style":256},[1479],{"type":62,"value":1480}," -v",{"type":48,"tag":233,"props":1482,"children":1484},{"style":1483},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1485],{"type":62,"value":1486}," 6.1.0\n",{"type":48,"tag":233,"props":1488,"children":1489},{"class":235,"line":298},[1490],{"type":48,"tag":233,"props":1491,"children":1492},{"emptyLinePlaceholder":43},[1493],{"type":62,"value":304},{"type":48,"tag":233,"props":1495,"children":1496},{"class":235,"line":307},[1497],{"type":48,"tag":233,"props":1498,"children":1499},{"style":240},[1500],{"type":62,"value":1501},"# WPF or WinForms or Console\n",{"type":48,"tag":233,"props":1503,"children":1504},{"class":235,"line":316},[1505,1509,1513,1517,1522,1526],{"type":48,"tag":233,"props":1506,"children":1507},{"style":250},[1508],{"type":62,"value":1460},{"type":48,"tag":233,"props":1510,"children":1511},{"style":256},[1512],{"type":62,"value":1465},{"type":48,"tag":233,"props":1514,"children":1515},{"style":256},[1516],{"type":62,"value":1470},{"type":48,"tag":233,"props":1518,"children":1519},{"style":256},[1520],{"type":62,"value":1521}," Sentry",{"type":48,"tag":233,"props":1523,"children":1524},{"style":256},[1525],{"type":62,"value":1480},{"type":48,"tag":233,"props":1527,"children":1528},{"style":1483},[1529],{"type":62,"value":1486},{"type":48,"tag":233,"props":1531,"children":1532},{"class":235,"line":365},[1533],{"type":48,"tag":233,"props":1534,"children":1535},{"emptyLinePlaceholder":43},[1536],{"type":62,"value":304},{"type":48,"tag":233,"props":1538,"children":1539},{"class":235,"line":373},[1540],{"type":48,"tag":233,"props":1541,"children":1542},{"style":240},[1543],{"type":62,"value":1544},"# .NET MAUI\n",{"type":48,"tag":233,"props":1546,"children":1547},{"class":235,"line":382},[1548,1552,1556,1560,1565,1569],{"type":48,"tag":233,"props":1549,"children":1550},{"style":250},[1551],{"type":62,"value":1460},{"type":48,"tag":233,"props":1553,"children":1554},{"style":256},[1555],{"type":62,"value":1465},{"type":48,"tag":233,"props":1557,"children":1558},{"style":256},[1559],{"type":62,"value":1470},{"type":48,"tag":233,"props":1561,"children":1562},{"style":256},[1563],{"type":62,"value":1564}," Sentry.Maui",{"type":48,"tag":233,"props":1566,"children":1567},{"style":256},[1568],{"type":62,"value":1480},{"type":48,"tag":233,"props":1570,"children":1571},{"style":1483},[1572],{"type":62,"value":1486},{"type":48,"tag":233,"props":1574,"children":1575},{"class":235,"line":449},[1576],{"type":48,"tag":233,"props":1577,"children":1578},{"emptyLinePlaceholder":43},[1579],{"type":62,"value":304},{"type":48,"tag":233,"props":1581,"children":1582},{"class":235,"line":457},[1583],{"type":48,"tag":233,"props":1584,"children":1585},{"style":240},[1586],{"type":62,"value":1587},"# Blazor WebAssembly\n",{"type":48,"tag":233,"props":1589,"children":1590},{"class":235,"line":466},[1591,1595,1599,1603,1608,1612],{"type":48,"tag":233,"props":1592,"children":1593},{"style":250},[1594],{"type":62,"value":1460},{"type":48,"tag":233,"props":1596,"children":1597},{"style":256},[1598],{"type":62,"value":1465},{"type":48,"tag":233,"props":1600,"children":1601},{"style":256},[1602],{"type":62,"value":1470},{"type":48,"tag":233,"props":1604,"children":1605},{"style":256},[1606],{"type":62,"value":1607}," Sentry.AspNetCore.Blazor.WebAssembly",{"type":48,"tag":233,"props":1609,"children":1610},{"style":256},[1611],{"type":62,"value":1480},{"type":48,"tag":233,"props":1613,"children":1614},{"style":1483},[1615],{"type":62,"value":1486},{"type":48,"tag":233,"props":1617,"children":1618},{"class":235,"line":505},[1619],{"type":48,"tag":233,"props":1620,"children":1621},{"emptyLinePlaceholder":43},[1622],{"type":62,"value":304},{"type":48,"tag":233,"props":1624,"children":1625},{"class":235,"line":513},[1626],{"type":48,"tag":233,"props":1627,"children":1628},{"style":240},[1629],{"type":62,"value":1630},"# Azure Functions (Isolated Worker)\n",{"type":48,"tag":233,"props":1632,"children":1633},{"class":235,"line":522},[1634,1638,1642,1646,1651,1655],{"type":48,"tag":233,"props":1635,"children":1636},{"style":250},[1637],{"type":62,"value":1460},{"type":48,"tag":233,"props":1639,"children":1640},{"style":256},[1641],{"type":62,"value":1465},{"type":48,"tag":233,"props":1643,"children":1644},{"style":256},[1645],{"type":62,"value":1470},{"type":48,"tag":233,"props":1647,"children":1648},{"style":256},[1649],{"type":62,"value":1650}," Sentry.Extensions.Logging",{"type":48,"tag":233,"props":1652,"children":1653},{"style":256},[1654],{"type":62,"value":1480},{"type":48,"tag":233,"props":1656,"children":1657},{"style":1483},[1658],{"type":62,"value":1486},{"type":48,"tag":233,"props":1660,"children":1661},{"class":235,"line":548},[1662,1666,1670,1674,1679,1683],{"type":48,"tag":233,"props":1663,"children":1664},{"style":250},[1665],{"type":62,"value":1460},{"type":48,"tag":233,"props":1667,"children":1668},{"style":256},[1669],{"type":62,"value":1465},{"type":48,"tag":233,"props":1671,"children":1672},{"style":256},[1673],{"type":62,"value":1470},{"type":48,"tag":233,"props":1675,"children":1676},{"style":256},[1677],{"type":62,"value":1678}," Sentry.OpenTelemetry",{"type":48,"tag":233,"props":1680,"children":1681},{"style":256},[1682],{"type":62,"value":1480},{"type":48,"tag":233,"props":1684,"children":1685},{"style":1483},[1686],{"type":62,"value":1486},{"type":48,"tag":233,"props":1688,"children":1689},{"class":235,"line":556},[1690],{"type":48,"tag":233,"props":1691,"children":1692},{"emptyLinePlaceholder":43},[1693],{"type":62,"value":304},{"type":48,"tag":233,"props":1695,"children":1696},{"class":235,"line":565},[1697],{"type":48,"tag":233,"props":1698,"children":1699},{"style":240},[1700],{"type":62,"value":1701},"# Classic ASP.NET (System.Web \u002F .NET Framework)\n",{"type":48,"tag":233,"props":1703,"children":1704},{"class":235,"line":610},[1705,1709,1713,1717,1722,1726],{"type":48,"tag":233,"props":1706,"children":1707},{"style":250},[1708],{"type":62,"value":1460},{"type":48,"tag":233,"props":1710,"children":1711},{"style":256},[1712],{"type":62,"value":1465},{"type":48,"tag":233,"props":1714,"children":1715},{"style":256},[1716],{"type":62,"value":1470},{"type":48,"tag":233,"props":1718,"children":1719},{"style":256},[1720],{"type":62,"value":1721}," Sentry.AspNet",{"type":48,"tag":233,"props":1723,"children":1724},{"style":256},[1725],{"type":62,"value":1480},{"type":48,"tag":233,"props":1727,"children":1728},{"style":1483},[1729],{"type":62,"value":1486},{"type":48,"tag":207,"props":1731,"children":1732},{},[],{"type":48,"tag":1432,"props":1734,"children":1736},{"id":1735},"aspnet-core-programcs",[1737,1739],{"type":62,"value":1738},"ASP.NET Core — ",{"type":48,"tag":114,"props":1740,"children":1742},{"className":1741},[],[1743],{"type":62,"value":996},{"type":48,"tag":222,"props":1745,"children":1749},{"className":1746,"code":1747,"language":1748,"meta":227,"style":227},"language-csharp shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","var builder = WebApplication.CreateBuilder(args);\n\nbuilder.WebHost.UseSentry(options =>\n{\n    options.Dsn = Environment.GetEnvironmentVariable(\"SENTRY_DSN\")\n                  ?? \"___YOUR_DSN___\";\n    options.Debug = true;                         \u002F\u002F disable in production\n    options.SendDefaultPii = true;                \u002F\u002F captures user IP, name, email\n    options.MaxRequestBodySize = RequestSize.Always;\n    options.MinimumBreadcrumbLevel = LogLevel.Debug;\n    options.MinimumEventLevel = LogLevel.Warning;\n    options.TracesSampleRate = 1.0;               \u002F\u002F tune to 0.1–0.2 in production\n    options.SetBeforeSend((@event, hint) =>\n    {\n        @event.ServerName = null;                 \u002F\u002F scrub hostname from events\n        return @event;\n    });\n});\n\nvar app = builder.Build();\napp.Run();\n","csharp",[1750],{"type":48,"tag":114,"props":1751,"children":1752},{"__ignoreMap":227},[1753,1761,1768,1776,1784,1792,1800,1808,1816,1824,1832,1840,1848,1856,1864,1872,1880,1888,1896,1903,1911],{"type":48,"tag":233,"props":1754,"children":1755},{"class":235,"line":236},[1756],{"type":48,"tag":233,"props":1757,"children":1758},{},[1759],{"type":62,"value":1760},"var builder = WebApplication.CreateBuilder(args);\n",{"type":48,"tag":233,"props":1762,"children":1763},{"class":235,"line":246},[1764],{"type":48,"tag":233,"props":1765,"children":1766},{"emptyLinePlaceholder":43},[1767],{"type":62,"value":304},{"type":48,"tag":233,"props":1769,"children":1770},{"class":235,"line":298},[1771],{"type":48,"tag":233,"props":1772,"children":1773},{},[1774],{"type":62,"value":1775},"builder.WebHost.UseSentry(options =>\n",{"type":48,"tag":233,"props":1777,"children":1778},{"class":235,"line":307},[1779],{"type":48,"tag":233,"props":1780,"children":1781},{},[1782],{"type":62,"value":1783},"{\n",{"type":48,"tag":233,"props":1785,"children":1786},{"class":235,"line":316},[1787],{"type":48,"tag":233,"props":1788,"children":1789},{},[1790],{"type":62,"value":1791},"    options.Dsn = Environment.GetEnvironmentVariable(\"SENTRY_DSN\")\n",{"type":48,"tag":233,"props":1793,"children":1794},{"class":235,"line":365},[1795],{"type":48,"tag":233,"props":1796,"children":1797},{},[1798],{"type":62,"value":1799},"                  ?? \"___YOUR_DSN___\";\n",{"type":48,"tag":233,"props":1801,"children":1802},{"class":235,"line":373},[1803],{"type":48,"tag":233,"props":1804,"children":1805},{},[1806],{"type":62,"value":1807},"    options.Debug = true;                         \u002F\u002F disable in production\n",{"type":48,"tag":233,"props":1809,"children":1810},{"class":235,"line":382},[1811],{"type":48,"tag":233,"props":1812,"children":1813},{},[1814],{"type":62,"value":1815},"    options.SendDefaultPii = true;                \u002F\u002F captures user IP, name, email\n",{"type":48,"tag":233,"props":1817,"children":1818},{"class":235,"line":449},[1819],{"type":48,"tag":233,"props":1820,"children":1821},{},[1822],{"type":62,"value":1823},"    options.MaxRequestBodySize = RequestSize.Always;\n",{"type":48,"tag":233,"props":1825,"children":1826},{"class":235,"line":457},[1827],{"type":48,"tag":233,"props":1828,"children":1829},{},[1830],{"type":62,"value":1831},"    options.MinimumBreadcrumbLevel = LogLevel.Debug;\n",{"type":48,"tag":233,"props":1833,"children":1834},{"class":235,"line":466},[1835],{"type":48,"tag":233,"props":1836,"children":1837},{},[1838],{"type":62,"value":1839},"    options.MinimumEventLevel = LogLevel.Warning;\n",{"type":48,"tag":233,"props":1841,"children":1842},{"class":235,"line":505},[1843],{"type":48,"tag":233,"props":1844,"children":1845},{},[1846],{"type":62,"value":1847},"    options.TracesSampleRate = 1.0;               \u002F\u002F tune to 0.1–0.2 in production\n",{"type":48,"tag":233,"props":1849,"children":1850},{"class":235,"line":513},[1851],{"type":48,"tag":233,"props":1852,"children":1853},{},[1854],{"type":62,"value":1855},"    options.SetBeforeSend((@event, hint) =>\n",{"type":48,"tag":233,"props":1857,"children":1858},{"class":235,"line":522},[1859],{"type":48,"tag":233,"props":1860,"children":1861},{},[1862],{"type":62,"value":1863},"    {\n",{"type":48,"tag":233,"props":1865,"children":1866},{"class":235,"line":548},[1867],{"type":48,"tag":233,"props":1868,"children":1869},{},[1870],{"type":62,"value":1871},"        @event.ServerName = null;                 \u002F\u002F scrub hostname from events\n",{"type":48,"tag":233,"props":1873,"children":1874},{"class":235,"line":556},[1875],{"type":48,"tag":233,"props":1876,"children":1877},{},[1878],{"type":62,"value":1879},"        return @event;\n",{"type":48,"tag":233,"props":1881,"children":1882},{"class":235,"line":565},[1883],{"type":48,"tag":233,"props":1884,"children":1885},{},[1886],{"type":62,"value":1887},"    });\n",{"type":48,"tag":233,"props":1889,"children":1890},{"class":235,"line":610},[1891],{"type":48,"tag":233,"props":1892,"children":1893},{},[1894],{"type":62,"value":1895},"});\n",{"type":48,"tag":233,"props":1897,"children":1898},{"class":235,"line":618},[1899],{"type":48,"tag":233,"props":1900,"children":1901},{"emptyLinePlaceholder":43},[1902],{"type":62,"value":304},{"type":48,"tag":233,"props":1904,"children":1905},{"class":235,"line":627},[1906],{"type":48,"tag":233,"props":1907,"children":1908},{},[1909],{"type":62,"value":1910},"var app = builder.Build();\n",{"type":48,"tag":233,"props":1912,"children":1913},{"class":235,"line":658},[1914],{"type":48,"tag":233,"props":1915,"children":1916},{},[1917],{"type":62,"value":1918},"app.Run();\n",{"type":48,"tag":53,"props":1920,"children":1921},{},[1922],{"type":48,"tag":182,"props":1923,"children":1924},{},[1925,1931],{"type":48,"tag":114,"props":1926,"children":1928},{"className":1927},[],[1929],{"type":62,"value":1930},"appsettings.json",{"type":62,"value":1932}," (alternative configuration):",{"type":48,"tag":222,"props":1934,"children":1938},{"className":1935,"code":1936,"language":1937,"meta":227,"style":227},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"Sentry\": {\n    \"Dsn\": \"___YOUR_DSN___\",\n    \"SendDefaultPii\": true,\n    \"MaxRequestBodySize\": \"Always\",\n    \"MinimumBreadcrumbLevel\": \"Debug\",\n    \"MinimumEventLevel\": \"Warning\",\n    \"AttachStacktrace\": true,\n    \"Debug\": true,\n    \"TracesSampleRate\": 1.0,\n    \"Environment\": \"production\",\n    \"Release\": \"my-app@1.0.0\"\n  }\n}\n","json",[1939],{"type":48,"tag":114,"props":1940,"children":1941},{"__ignoreMap":227},[1942,1949,1976,2015,2040,2076,2113,2150,2174,2197,2225,2262,2295,2303],{"type":48,"tag":233,"props":1943,"children":1944},{"class":235,"line":236},[1945],{"type":48,"tag":233,"props":1946,"children":1947},{"style":267},[1948],{"type":62,"value":1783},{"type":48,"tag":233,"props":1950,"children":1951},{"class":235,"line":246},[1952,1957,1962,1966,1971],{"type":48,"tag":233,"props":1953,"children":1954},{"style":267},[1955],{"type":62,"value":1956},"  \"",{"type":48,"tag":233,"props":1958,"children":1960},{"style":1959},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[1961],{"type":62,"value":9},{"type":48,"tag":233,"props":1963,"children":1964},{"style":267},[1965],{"type":62,"value":280},{"type":48,"tag":233,"props":1967,"children":1968},{"style":267},[1969],{"type":62,"value":1970},":",{"type":48,"tag":233,"props":1972,"children":1973},{"style":267},[1974],{"type":62,"value":1975}," {\n",{"type":48,"tag":233,"props":1977,"children":1978},{"class":235,"line":298},[1979,1984,1989,1993,1997,2001,2006,2010],{"type":48,"tag":233,"props":1980,"children":1981},{"style":267},[1982],{"type":62,"value":1983},"    \"",{"type":48,"tag":233,"props":1985,"children":1986},{"style":250},[1987],{"type":62,"value":1988},"Dsn",{"type":48,"tag":233,"props":1990,"children":1991},{"style":267},[1992],{"type":62,"value":280},{"type":48,"tag":233,"props":1994,"children":1995},{"style":267},[1996],{"type":62,"value":1970},{"type":48,"tag":233,"props":1998,"children":1999},{"style":267},[2000],{"type":62,"value":270},{"type":48,"tag":233,"props":2002,"children":2003},{"style":256},[2004],{"type":62,"value":2005},"___YOUR_DSN___",{"type":48,"tag":233,"props":2007,"children":2008},{"style":267},[2009],{"type":62,"value":280},{"type":48,"tag":233,"props":2011,"children":2012},{"style":267},[2013],{"type":62,"value":2014},",\n",{"type":48,"tag":233,"props":2016,"children":2017},{"class":235,"line":307},[2018,2022,2027,2031,2035],{"type":48,"tag":233,"props":2019,"children":2020},{"style":267},[2021],{"type":62,"value":1983},{"type":48,"tag":233,"props":2023,"children":2024},{"style":250},[2025],{"type":62,"value":2026},"SendDefaultPii",{"type":48,"tag":233,"props":2028,"children":2029},{"style":267},[2030],{"type":62,"value":280},{"type":48,"tag":233,"props":2032,"children":2033},{"style":267},[2034],{"type":62,"value":1970},{"type":48,"tag":233,"props":2036,"children":2037},{"style":267},[2038],{"type":62,"value":2039}," true,\n",{"type":48,"tag":233,"props":2041,"children":2042},{"class":235,"line":316},[2043,2047,2052,2056,2060,2064,2068,2072],{"type":48,"tag":233,"props":2044,"children":2045},{"style":267},[2046],{"type":62,"value":1983},{"type":48,"tag":233,"props":2048,"children":2049},{"style":250},[2050],{"type":62,"value":2051},"MaxRequestBodySize",{"type":48,"tag":233,"props":2053,"children":2054},{"style":267},[2055],{"type":62,"value":280},{"type":48,"tag":233,"props":2057,"children":2058},{"style":267},[2059],{"type":62,"value":1970},{"type":48,"tag":233,"props":2061,"children":2062},{"style":267},[2063],{"type":62,"value":270},{"type":48,"tag":233,"props":2065,"children":2066},{"style":256},[2067],{"type":62,"value":1270},{"type":48,"tag":233,"props":2069,"children":2070},{"style":267},[2071],{"type":62,"value":280},{"type":48,"tag":233,"props":2073,"children":2074},{"style":267},[2075],{"type":62,"value":2014},{"type":48,"tag":233,"props":2077,"children":2078},{"class":235,"line":365},[2079,2083,2088,2092,2096,2100,2105,2109],{"type":48,"tag":233,"props":2080,"children":2081},{"style":267},[2082],{"type":62,"value":1983},{"type":48,"tag":233,"props":2084,"children":2085},{"style":250},[2086],{"type":62,"value":2087},"MinimumBreadcrumbLevel",{"type":48,"tag":233,"props":2089,"children":2090},{"style":267},[2091],{"type":62,"value":280},{"type":48,"tag":233,"props":2093,"children":2094},{"style":267},[2095],{"type":62,"value":1970},{"type":48,"tag":233,"props":2097,"children":2098},{"style":267},[2099],{"type":62,"value":270},{"type":48,"tag":233,"props":2101,"children":2102},{"style":256},[2103],{"type":62,"value":2104},"Debug",{"type":48,"tag":233,"props":2106,"children":2107},{"style":267},[2108],{"type":62,"value":280},{"type":48,"tag":233,"props":2110,"children":2111},{"style":267},[2112],{"type":62,"value":2014},{"type":48,"tag":233,"props":2114,"children":2115},{"class":235,"line":373},[2116,2120,2125,2129,2133,2137,2142,2146],{"type":48,"tag":233,"props":2117,"children":2118},{"style":267},[2119],{"type":62,"value":1983},{"type":48,"tag":233,"props":2121,"children":2122},{"style":250},[2123],{"type":62,"value":2124},"MinimumEventLevel",{"type":48,"tag":233,"props":2126,"children":2127},{"style":267},[2128],{"type":62,"value":280},{"type":48,"tag":233,"props":2130,"children":2131},{"style":267},[2132],{"type":62,"value":1970},{"type":48,"tag":233,"props":2134,"children":2135},{"style":267},[2136],{"type":62,"value":270},{"type":48,"tag":233,"props":2138,"children":2139},{"style":256},[2140],{"type":62,"value":2141},"Warning",{"type":48,"tag":233,"props":2143,"children":2144},{"style":267},[2145],{"type":62,"value":280},{"type":48,"tag":233,"props":2147,"children":2148},{"style":267},[2149],{"type":62,"value":2014},{"type":48,"tag":233,"props":2151,"children":2152},{"class":235,"line":382},[2153,2157,2162,2166,2170],{"type":48,"tag":233,"props":2154,"children":2155},{"style":267},[2156],{"type":62,"value":1983},{"type":48,"tag":233,"props":2158,"children":2159},{"style":250},[2160],{"type":62,"value":2161},"AttachStacktrace",{"type":48,"tag":233,"props":2163,"children":2164},{"style":267},[2165],{"type":62,"value":280},{"type":48,"tag":233,"props":2167,"children":2168},{"style":267},[2169],{"type":62,"value":1970},{"type":48,"tag":233,"props":2171,"children":2172},{"style":267},[2173],{"type":62,"value":2039},{"type":48,"tag":233,"props":2175,"children":2176},{"class":235,"line":449},[2177,2181,2185,2189,2193],{"type":48,"tag":233,"props":2178,"children":2179},{"style":267},[2180],{"type":62,"value":1983},{"type":48,"tag":233,"props":2182,"children":2183},{"style":250},[2184],{"type":62,"value":2104},{"type":48,"tag":233,"props":2186,"children":2187},{"style":267},[2188],{"type":62,"value":280},{"type":48,"tag":233,"props":2190,"children":2191},{"style":267},[2192],{"type":62,"value":1970},{"type":48,"tag":233,"props":2194,"children":2195},{"style":267},[2196],{"type":62,"value":2039},{"type":48,"tag":233,"props":2198,"children":2199},{"class":235,"line":457},[2200,2204,2208,2212,2216,2221],{"type":48,"tag":233,"props":2201,"children":2202},{"style":267},[2203],{"type":62,"value":1983},{"type":48,"tag":233,"props":2205,"children":2206},{"style":250},[2207],{"type":62,"value":172},{"type":48,"tag":233,"props":2209,"children":2210},{"style":267},[2211],{"type":62,"value":280},{"type":48,"tag":233,"props":2213,"children":2214},{"style":267},[2215],{"type":62,"value":1970},{"type":48,"tag":233,"props":2217,"children":2218},{"style":1483},[2219],{"type":62,"value":2220}," 1.0",{"type":48,"tag":233,"props":2222,"children":2223},{"style":267},[2224],{"type":62,"value":2014},{"type":48,"tag":233,"props":2226,"children":2227},{"class":235,"line":466},[2228,2232,2237,2241,2245,2249,2254,2258],{"type":48,"tag":233,"props":2229,"children":2230},{"style":267},[2231],{"type":62,"value":1983},{"type":48,"tag":233,"props":2233,"children":2234},{"style":250},[2235],{"type":62,"value":2236},"Environment",{"type":48,"tag":233,"props":2238,"children":2239},{"style":267},[2240],{"type":62,"value":280},{"type":48,"tag":233,"props":2242,"children":2243},{"style":267},[2244],{"type":62,"value":1970},{"type":48,"tag":233,"props":2246,"children":2247},{"style":267},[2248],{"type":62,"value":270},{"type":48,"tag":233,"props":2250,"children":2251},{"style":256},[2252],{"type":62,"value":2253},"production",{"type":48,"tag":233,"props":2255,"children":2256},{"style":267},[2257],{"type":62,"value":280},{"type":48,"tag":233,"props":2259,"children":2260},{"style":267},[2261],{"type":62,"value":2014},{"type":48,"tag":233,"props":2263,"children":2264},{"class":235,"line":505},[2265,2269,2274,2278,2282,2286,2291],{"type":48,"tag":233,"props":2266,"children":2267},{"style":267},[2268],{"type":62,"value":1983},{"type":48,"tag":233,"props":2270,"children":2271},{"style":250},[2272],{"type":62,"value":2273},"Release",{"type":48,"tag":233,"props":2275,"children":2276},{"style":267},[2277],{"type":62,"value":280},{"type":48,"tag":233,"props":2279,"children":2280},{"style":267},[2281],{"type":62,"value":1970},{"type":48,"tag":233,"props":2283,"children":2284},{"style":267},[2285],{"type":62,"value":270},{"type":48,"tag":233,"props":2287,"children":2288},{"style":256},[2289],{"type":62,"value":2290},"my-app@1.0.0",{"type":48,"tag":233,"props":2292,"children":2293},{"style":267},[2294],{"type":62,"value":446},{"type":48,"tag":233,"props":2296,"children":2297},{"class":235,"line":513},[2298],{"type":48,"tag":233,"props":2299,"children":2300},{"style":267},[2301],{"type":62,"value":2302},"  }\n",{"type":48,"tag":233,"props":2304,"children":2305},{"class":235,"line":522},[2306],{"type":48,"tag":233,"props":2307,"children":2308},{"style":267},[2309],{"type":62,"value":2310},"}\n",{"type":48,"tag":53,"props":2312,"children":2313},{},[2314],{"type":48,"tag":182,"props":2315,"children":2316},{},[2317],{"type":62,"value":2318},"Environment variables (double underscore as separator):",{"type":48,"tag":222,"props":2320,"children":2322},{"className":224,"code":2321,"language":226,"meta":227,"style":227},"export Sentry__Dsn=\"https:\u002F\u002FexamplePublicKey@o0.ingest.sentry.io\u002F0\"\nexport Sentry__TracesSampleRate=\"0.1\"\nexport Sentry__Environment=\"staging\"\n",[2323],{"type":48,"tag":114,"props":2324,"children":2325},{"__ignoreMap":227},[2326,2358,2387],{"type":48,"tag":233,"props":2327,"children":2328},{"class":235,"line":236},[2329,2334,2340,2345,2349,2354],{"type":48,"tag":233,"props":2330,"children":2331},{"style":1959},[2332],{"type":62,"value":2333},"export",{"type":48,"tag":233,"props":2335,"children":2337},{"style":2336},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[2338],{"type":62,"value":2339}," Sentry__Dsn",{"type":48,"tag":233,"props":2341,"children":2342},{"style":267},[2343],{"type":62,"value":2344},"=",{"type":48,"tag":233,"props":2346,"children":2347},{"style":267},[2348],{"type":62,"value":280},{"type":48,"tag":233,"props":2350,"children":2351},{"style":256},[2352],{"type":62,"value":2353},"https:\u002F\u002FexamplePublicKey@o0.ingest.sentry.io\u002F0",{"type":48,"tag":233,"props":2355,"children":2356},{"style":267},[2357],{"type":62,"value":446},{"type":48,"tag":233,"props":2359,"children":2360},{"class":235,"line":246},[2361,2365,2370,2374,2378,2383],{"type":48,"tag":233,"props":2362,"children":2363},{"style":1959},[2364],{"type":62,"value":2333},{"type":48,"tag":233,"props":2366,"children":2367},{"style":2336},[2368],{"type":62,"value":2369}," Sentry__TracesSampleRate",{"type":48,"tag":233,"props":2371,"children":2372},{"style":267},[2373],{"type":62,"value":2344},{"type":48,"tag":233,"props":2375,"children":2376},{"style":267},[2377],{"type":62,"value":280},{"type":48,"tag":233,"props":2379,"children":2380},{"style":256},[2381],{"type":62,"value":2382},"0.1",{"type":48,"tag":233,"props":2384,"children":2385},{"style":267},[2386],{"type":62,"value":446},{"type":48,"tag":233,"props":2388,"children":2389},{"class":235,"line":298},[2390,2394,2399,2403,2407,2412],{"type":48,"tag":233,"props":2391,"children":2392},{"style":1959},[2393],{"type":62,"value":2333},{"type":48,"tag":233,"props":2395,"children":2396},{"style":2336},[2397],{"type":62,"value":2398}," Sentry__Environment",{"type":48,"tag":233,"props":2400,"children":2401},{"style":267},[2402],{"type":62,"value":2344},{"type":48,"tag":233,"props":2404,"children":2405},{"style":267},[2406],{"type":62,"value":280},{"type":48,"tag":233,"props":2408,"children":2409},{"style":256},[2410],{"type":62,"value":2411},"staging",{"type":48,"tag":233,"props":2413,"children":2414},{"style":267},[2415],{"type":62,"value":446},{"type":48,"tag":207,"props":2417,"children":2418},{},[],{"type":48,"tag":1432,"props":2420,"children":2422},{"id":2421},"wpf-appxamlcs",[2423,2425],{"type":62,"value":2424},"WPF — ",{"type":48,"tag":114,"props":2426,"children":2428},{"className":2427},[],[2429],{"type":62,"value":956},{"type":48,"tag":49,"props":2431,"children":2432},{},[2433],{"type":48,"tag":53,"props":2434,"children":2435},{},[2436,2438,2443,2445,2450,2452,2458],{"type":62,"value":2437},"⚠️ ",{"type":48,"tag":182,"props":2439,"children":2440},{},[2441],{"type":62,"value":2442},"Critical:",{"type":62,"value":2444}," Initialize in the ",{"type":48,"tag":182,"props":2446,"children":2447},{},[2448],{"type":62,"value":2449},"constructor",{"type":62,"value":2451},", NOT in ",{"type":48,"tag":114,"props":2453,"children":2455},{"className":2454},[],[2456],{"type":62,"value":2457},"OnStartup()",{"type":62,"value":2459},". The constructor fires earlier, catching more failure modes.",{"type":48,"tag":222,"props":2461,"children":2463},{"className":1746,"code":2462,"language":1748,"meta":227,"style":227},"using System.Windows;\nusing Sentry;\n\npublic partial class App : Application\n{\n    public App()\n    {\n        SentrySdk.Init(options =>\n        {\n            options.Dsn = \"___YOUR_DSN___\";\n            options.Debug = true;\n            options.SendDefaultPii = true;\n            options.TracesSampleRate = 1.0;\n            options.IsGlobalModeEnabled = true;   \u002F\u002F required for all desktop apps\n        });\n\n        \u002F\u002F Capture WPF UI-thread exceptions before WPF's crash dialog appears\n        DispatcherUnhandledException += App_DispatcherUnhandledException;\n    }\n\n    private void App_DispatcherUnhandledException(\n        object sender,\n        System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)\n    {\n        SentrySdk.CaptureException(e.Exception);\n        \u002F\u002F Set e.Handled = true to prevent crash dialog and keep app running\n    }\n}\n",[2464],{"type":48,"tag":114,"props":2465,"children":2466},{"__ignoreMap":227},[2467,2475,2483,2490,2498,2505,2513,2520,2528,2536,2544,2552,2560,2568,2576,2584,2591,2599,2607,2615,2622,2630,2639,2648,2656,2665,2674,2682],{"type":48,"tag":233,"props":2468,"children":2469},{"class":235,"line":236},[2470],{"type":48,"tag":233,"props":2471,"children":2472},{},[2473],{"type":62,"value":2474},"using System.Windows;\n",{"type":48,"tag":233,"props":2476,"children":2477},{"class":235,"line":246},[2478],{"type":48,"tag":233,"props":2479,"children":2480},{},[2481],{"type":62,"value":2482},"using Sentry;\n",{"type":48,"tag":233,"props":2484,"children":2485},{"class":235,"line":298},[2486],{"type":48,"tag":233,"props":2487,"children":2488},{"emptyLinePlaceholder":43},[2489],{"type":62,"value":304},{"type":48,"tag":233,"props":2491,"children":2492},{"class":235,"line":307},[2493],{"type":48,"tag":233,"props":2494,"children":2495},{},[2496],{"type":62,"value":2497},"public partial class App : Application\n",{"type":48,"tag":233,"props":2499,"children":2500},{"class":235,"line":316},[2501],{"type":48,"tag":233,"props":2502,"children":2503},{},[2504],{"type":62,"value":1783},{"type":48,"tag":233,"props":2506,"children":2507},{"class":235,"line":365},[2508],{"type":48,"tag":233,"props":2509,"children":2510},{},[2511],{"type":62,"value":2512},"    public App()\n",{"type":48,"tag":233,"props":2514,"children":2515},{"class":235,"line":373},[2516],{"type":48,"tag":233,"props":2517,"children":2518},{},[2519],{"type":62,"value":1863},{"type":48,"tag":233,"props":2521,"children":2522},{"class":235,"line":382},[2523],{"type":48,"tag":233,"props":2524,"children":2525},{},[2526],{"type":62,"value":2527},"        SentrySdk.Init(options =>\n",{"type":48,"tag":233,"props":2529,"children":2530},{"class":235,"line":449},[2531],{"type":48,"tag":233,"props":2532,"children":2533},{},[2534],{"type":62,"value":2535},"        {\n",{"type":48,"tag":233,"props":2537,"children":2538},{"class":235,"line":457},[2539],{"type":48,"tag":233,"props":2540,"children":2541},{},[2542],{"type":62,"value":2543},"            options.Dsn = \"___YOUR_DSN___\";\n",{"type":48,"tag":233,"props":2545,"children":2546},{"class":235,"line":466},[2547],{"type":48,"tag":233,"props":2548,"children":2549},{},[2550],{"type":62,"value":2551},"            options.Debug = true;\n",{"type":48,"tag":233,"props":2553,"children":2554},{"class":235,"line":505},[2555],{"type":48,"tag":233,"props":2556,"children":2557},{},[2558],{"type":62,"value":2559},"            options.SendDefaultPii = true;\n",{"type":48,"tag":233,"props":2561,"children":2562},{"class":235,"line":513},[2563],{"type":48,"tag":233,"props":2564,"children":2565},{},[2566],{"type":62,"value":2567},"            options.TracesSampleRate = 1.0;\n",{"type":48,"tag":233,"props":2569,"children":2570},{"class":235,"line":522},[2571],{"type":48,"tag":233,"props":2572,"children":2573},{},[2574],{"type":62,"value":2575},"            options.IsGlobalModeEnabled = true;   \u002F\u002F required for all desktop apps\n",{"type":48,"tag":233,"props":2577,"children":2578},{"class":235,"line":548},[2579],{"type":48,"tag":233,"props":2580,"children":2581},{},[2582],{"type":62,"value":2583},"        });\n",{"type":48,"tag":233,"props":2585,"children":2586},{"class":235,"line":556},[2587],{"type":48,"tag":233,"props":2588,"children":2589},{"emptyLinePlaceholder":43},[2590],{"type":62,"value":304},{"type":48,"tag":233,"props":2592,"children":2593},{"class":235,"line":565},[2594],{"type":48,"tag":233,"props":2595,"children":2596},{},[2597],{"type":62,"value":2598},"        \u002F\u002F Capture WPF UI-thread exceptions before WPF's crash dialog appears\n",{"type":48,"tag":233,"props":2600,"children":2601},{"class":235,"line":610},[2602],{"type":48,"tag":233,"props":2603,"children":2604},{},[2605],{"type":62,"value":2606},"        DispatcherUnhandledException += App_DispatcherUnhandledException;\n",{"type":48,"tag":233,"props":2608,"children":2609},{"class":235,"line":618},[2610],{"type":48,"tag":233,"props":2611,"children":2612},{},[2613],{"type":62,"value":2614},"    }\n",{"type":48,"tag":233,"props":2616,"children":2617},{"class":235,"line":627},[2618],{"type":48,"tag":233,"props":2619,"children":2620},{"emptyLinePlaceholder":43},[2621],{"type":62,"value":304},{"type":48,"tag":233,"props":2623,"children":2624},{"class":235,"line":658},[2625],{"type":48,"tag":233,"props":2626,"children":2627},{},[2628],{"type":62,"value":2629},"    private void App_DispatcherUnhandledException(\n",{"type":48,"tag":233,"props":2631,"children":2633},{"class":235,"line":2632},22,[2634],{"type":48,"tag":233,"props":2635,"children":2636},{},[2637],{"type":62,"value":2638},"        object sender,\n",{"type":48,"tag":233,"props":2640,"children":2642},{"class":235,"line":2641},23,[2643],{"type":48,"tag":233,"props":2644,"children":2645},{},[2646],{"type":62,"value":2647},"        System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)\n",{"type":48,"tag":233,"props":2649,"children":2651},{"class":235,"line":2650},24,[2652],{"type":48,"tag":233,"props":2653,"children":2654},{},[2655],{"type":62,"value":1863},{"type":48,"tag":233,"props":2657,"children":2659},{"class":235,"line":2658},25,[2660],{"type":48,"tag":233,"props":2661,"children":2662},{},[2663],{"type":62,"value":2664},"        SentrySdk.CaptureException(e.Exception);\n",{"type":48,"tag":233,"props":2666,"children":2668},{"class":235,"line":2667},26,[2669],{"type":48,"tag":233,"props":2670,"children":2671},{},[2672],{"type":62,"value":2673},"        \u002F\u002F Set e.Handled = true to prevent crash dialog and keep app running\n",{"type":48,"tag":233,"props":2675,"children":2677},{"class":235,"line":2676},27,[2678],{"type":48,"tag":233,"props":2679,"children":2680},{},[2681],{"type":62,"value":2614},{"type":48,"tag":233,"props":2683,"children":2685},{"class":235,"line":2684},28,[2686],{"type":48,"tag":233,"props":2687,"children":2688},{},[2689],{"type":62,"value":2310},{"type":48,"tag":207,"props":2691,"children":2692},{},[],{"type":48,"tag":1432,"props":2694,"children":2696},{"id":2695},"winforms-programcs",[2697,2699],{"type":62,"value":2698},"WinForms — ",{"type":48,"tag":114,"props":2700,"children":2702},{"className":2701},[],[2703],{"type":62,"value":996},{"type":48,"tag":222,"props":2705,"children":2707},{"className":1746,"code":2706,"language":1748,"meta":227,"style":227},"using System;\nusing System.Windows.Forms;\nusing Sentry;\n\nstatic class Program\n{\n    [STAThread]\n    static void Main()\n    {\n        Application.EnableVisualStyles();\n        Application.SetCompatibleTextRenderingDefault(false);\n\n        \u002F\u002F Required: allows Sentry to see unhandled WinForms exceptions\n        Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException);\n\n        using (SentrySdk.Init(new SentryOptions\n        {\n            Dsn = \"___YOUR_DSN___\",\n            Debug = true,\n            TracesSampleRate = 1.0,\n            IsGlobalModeEnabled = true,           \u002F\u002F required for desktop apps\n        }))\n        {\n            Application.Run(new MainForm());\n        } \u002F\u002F Disposing flushes all pending events\n    }\n}\n",[2708],{"type":48,"tag":114,"props":2709,"children":2710},{"__ignoreMap":227},[2711,2719,2727,2734,2741,2749,2756,2764,2772,2779,2787,2795,2802,2810,2818,2825,2833,2840,2848,2856,2864,2872,2880,2887,2895,2903,2910],{"type":48,"tag":233,"props":2712,"children":2713},{"class":235,"line":236},[2714],{"type":48,"tag":233,"props":2715,"children":2716},{},[2717],{"type":62,"value":2718},"using System;\n",{"type":48,"tag":233,"props":2720,"children":2721},{"class":235,"line":246},[2722],{"type":48,"tag":233,"props":2723,"children":2724},{},[2725],{"type":62,"value":2726},"using System.Windows.Forms;\n",{"type":48,"tag":233,"props":2728,"children":2729},{"class":235,"line":298},[2730],{"type":48,"tag":233,"props":2731,"children":2732},{},[2733],{"type":62,"value":2482},{"type":48,"tag":233,"props":2735,"children":2736},{"class":235,"line":307},[2737],{"type":48,"tag":233,"props":2738,"children":2739},{"emptyLinePlaceholder":43},[2740],{"type":62,"value":304},{"type":48,"tag":233,"props":2742,"children":2743},{"class":235,"line":316},[2744],{"type":48,"tag":233,"props":2745,"children":2746},{},[2747],{"type":62,"value":2748},"static class Program\n",{"type":48,"tag":233,"props":2750,"children":2751},{"class":235,"line":365},[2752],{"type":48,"tag":233,"props":2753,"children":2754},{},[2755],{"type":62,"value":1783},{"type":48,"tag":233,"props":2757,"children":2758},{"class":235,"line":373},[2759],{"type":48,"tag":233,"props":2760,"children":2761},{},[2762],{"type":62,"value":2763},"    [STAThread]\n",{"type":48,"tag":233,"props":2765,"children":2766},{"class":235,"line":382},[2767],{"type":48,"tag":233,"props":2768,"children":2769},{},[2770],{"type":62,"value":2771},"    static void Main()\n",{"type":48,"tag":233,"props":2773,"children":2774},{"class":235,"line":449},[2775],{"type":48,"tag":233,"props":2776,"children":2777},{},[2778],{"type":62,"value":1863},{"type":48,"tag":233,"props":2780,"children":2781},{"class":235,"line":457},[2782],{"type":48,"tag":233,"props":2783,"children":2784},{},[2785],{"type":62,"value":2786},"        Application.EnableVisualStyles();\n",{"type":48,"tag":233,"props":2788,"children":2789},{"class":235,"line":466},[2790],{"type":48,"tag":233,"props":2791,"children":2792},{},[2793],{"type":62,"value":2794},"        Application.SetCompatibleTextRenderingDefault(false);\n",{"type":48,"tag":233,"props":2796,"children":2797},{"class":235,"line":505},[2798],{"type":48,"tag":233,"props":2799,"children":2800},{"emptyLinePlaceholder":43},[2801],{"type":62,"value":304},{"type":48,"tag":233,"props":2803,"children":2804},{"class":235,"line":513},[2805],{"type":48,"tag":233,"props":2806,"children":2807},{},[2808],{"type":62,"value":2809},"        \u002F\u002F Required: allows Sentry to see unhandled WinForms exceptions\n",{"type":48,"tag":233,"props":2811,"children":2812},{"class":235,"line":522},[2813],{"type":48,"tag":233,"props":2814,"children":2815},{},[2816],{"type":62,"value":2817},"        Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException);\n",{"type":48,"tag":233,"props":2819,"children":2820},{"class":235,"line":548},[2821],{"type":48,"tag":233,"props":2822,"children":2823},{"emptyLinePlaceholder":43},[2824],{"type":62,"value":304},{"type":48,"tag":233,"props":2826,"children":2827},{"class":235,"line":556},[2828],{"type":48,"tag":233,"props":2829,"children":2830},{},[2831],{"type":62,"value":2832},"        using (SentrySdk.Init(new SentryOptions\n",{"type":48,"tag":233,"props":2834,"children":2835},{"class":235,"line":565},[2836],{"type":48,"tag":233,"props":2837,"children":2838},{},[2839],{"type":62,"value":2535},{"type":48,"tag":233,"props":2841,"children":2842},{"class":235,"line":610},[2843],{"type":48,"tag":233,"props":2844,"children":2845},{},[2846],{"type":62,"value":2847},"            Dsn = \"___YOUR_DSN___\",\n",{"type":48,"tag":233,"props":2849,"children":2850},{"class":235,"line":618},[2851],{"type":48,"tag":233,"props":2852,"children":2853},{},[2854],{"type":62,"value":2855},"            Debug = true,\n",{"type":48,"tag":233,"props":2857,"children":2858},{"class":235,"line":627},[2859],{"type":48,"tag":233,"props":2860,"children":2861},{},[2862],{"type":62,"value":2863},"            TracesSampleRate = 1.0,\n",{"type":48,"tag":233,"props":2865,"children":2866},{"class":235,"line":658},[2867],{"type":48,"tag":233,"props":2868,"children":2869},{},[2870],{"type":62,"value":2871},"            IsGlobalModeEnabled = true,           \u002F\u002F required for desktop apps\n",{"type":48,"tag":233,"props":2873,"children":2874},{"class":235,"line":2632},[2875],{"type":48,"tag":233,"props":2876,"children":2877},{},[2878],{"type":62,"value":2879},"        }))\n",{"type":48,"tag":233,"props":2881,"children":2882},{"class":235,"line":2641},[2883],{"type":48,"tag":233,"props":2884,"children":2885},{},[2886],{"type":62,"value":2535},{"type":48,"tag":233,"props":2888,"children":2889},{"class":235,"line":2650},[2890],{"type":48,"tag":233,"props":2891,"children":2892},{},[2893],{"type":62,"value":2894},"            Application.Run(new MainForm());\n",{"type":48,"tag":233,"props":2896,"children":2897},{"class":235,"line":2658},[2898],{"type":48,"tag":233,"props":2899,"children":2900},{},[2901],{"type":62,"value":2902},"        } \u002F\u002F Disposing flushes all pending events\n",{"type":48,"tag":233,"props":2904,"children":2905},{"class":235,"line":2667},[2906],{"type":48,"tag":233,"props":2907,"children":2908},{},[2909],{"type":62,"value":2614},{"type":48,"tag":233,"props":2911,"children":2912},{"class":235,"line":2676},[2913],{"type":48,"tag":233,"props":2914,"children":2915},{},[2916],{"type":62,"value":2310},{"type":48,"tag":207,"props":2918,"children":2919},{},[],{"type":48,"tag":1432,"props":2921,"children":2923},{"id":2922},"net-maui-mauiprogramcs",[2924,2926],{"type":62,"value":2925},".NET MAUI — ",{"type":48,"tag":114,"props":2927,"children":2929},{"className":2928},[],[2930],{"type":62,"value":1018},{"type":48,"tag":222,"props":2932,"children":2934},{"className":1746,"code":2933,"language":1748,"meta":227,"style":227},"public static class MauiProgram\n{\n    public static MauiApp CreateMauiApp()\n    {\n        var builder = MauiApp.CreateBuilder();\n        builder\n            .UseMauiApp\u003CApp>()\n            .UseSentry(options =>\n            {\n                options.Dsn = \"___YOUR_DSN___\";\n                options.Debug = true;\n                options.SendDefaultPii = true;\n                options.TracesSampleRate = 1.0;\n                \u002F\u002F MAUI-specific: opt-in breadcrumbs (off by default — PII risk)\n                options.IncludeTextInBreadcrumbs = false;\n                options.IncludeTitleInBreadcrumbs = false;\n                options.IncludeBackgroundingStateInBreadcrumbs = false;\n            });\n\n        return builder.Build();\n    }\n}\n",[2935],{"type":48,"tag":114,"props":2936,"children":2937},{"__ignoreMap":227},[2938,2946,2953,2961,2968,2976,2984,2992,3000,3008,3016,3024,3032,3040,3048,3056,3064,3072,3080,3087,3095,3102],{"type":48,"tag":233,"props":2939,"children":2940},{"class":235,"line":236},[2941],{"type":48,"tag":233,"props":2942,"children":2943},{},[2944],{"type":62,"value":2945},"public static class MauiProgram\n",{"type":48,"tag":233,"props":2947,"children":2948},{"class":235,"line":246},[2949],{"type":48,"tag":233,"props":2950,"children":2951},{},[2952],{"type":62,"value":1783},{"type":48,"tag":233,"props":2954,"children":2955},{"class":235,"line":298},[2956],{"type":48,"tag":233,"props":2957,"children":2958},{},[2959],{"type":62,"value":2960},"    public static MauiApp CreateMauiApp()\n",{"type":48,"tag":233,"props":2962,"children":2963},{"class":235,"line":307},[2964],{"type":48,"tag":233,"props":2965,"children":2966},{},[2967],{"type":62,"value":1863},{"type":48,"tag":233,"props":2969,"children":2970},{"class":235,"line":316},[2971],{"type":48,"tag":233,"props":2972,"children":2973},{},[2974],{"type":62,"value":2975},"        var builder = MauiApp.CreateBuilder();\n",{"type":48,"tag":233,"props":2977,"children":2978},{"class":235,"line":365},[2979],{"type":48,"tag":233,"props":2980,"children":2981},{},[2982],{"type":62,"value":2983},"        builder\n",{"type":48,"tag":233,"props":2985,"children":2986},{"class":235,"line":373},[2987],{"type":48,"tag":233,"props":2988,"children":2989},{},[2990],{"type":62,"value":2991},"            .UseMauiApp\u003CApp>()\n",{"type":48,"tag":233,"props":2993,"children":2994},{"class":235,"line":382},[2995],{"type":48,"tag":233,"props":2996,"children":2997},{},[2998],{"type":62,"value":2999},"            .UseSentry(options =>\n",{"type":48,"tag":233,"props":3001,"children":3002},{"class":235,"line":449},[3003],{"type":48,"tag":233,"props":3004,"children":3005},{},[3006],{"type":62,"value":3007},"            {\n",{"type":48,"tag":233,"props":3009,"children":3010},{"class":235,"line":457},[3011],{"type":48,"tag":233,"props":3012,"children":3013},{},[3014],{"type":62,"value":3015},"                options.Dsn = \"___YOUR_DSN___\";\n",{"type":48,"tag":233,"props":3017,"children":3018},{"class":235,"line":466},[3019],{"type":48,"tag":233,"props":3020,"children":3021},{},[3022],{"type":62,"value":3023},"                options.Debug = true;\n",{"type":48,"tag":233,"props":3025,"children":3026},{"class":235,"line":505},[3027],{"type":48,"tag":233,"props":3028,"children":3029},{},[3030],{"type":62,"value":3031},"                options.SendDefaultPii = true;\n",{"type":48,"tag":233,"props":3033,"children":3034},{"class":235,"line":513},[3035],{"type":48,"tag":233,"props":3036,"children":3037},{},[3038],{"type":62,"value":3039},"                options.TracesSampleRate = 1.0;\n",{"type":48,"tag":233,"props":3041,"children":3042},{"class":235,"line":522},[3043],{"type":48,"tag":233,"props":3044,"children":3045},{},[3046],{"type":62,"value":3047},"                \u002F\u002F MAUI-specific: opt-in breadcrumbs (off by default — PII risk)\n",{"type":48,"tag":233,"props":3049,"children":3050},{"class":235,"line":548},[3051],{"type":48,"tag":233,"props":3052,"children":3053},{},[3054],{"type":62,"value":3055},"                options.IncludeTextInBreadcrumbs = false;\n",{"type":48,"tag":233,"props":3057,"children":3058},{"class":235,"line":556},[3059],{"type":48,"tag":233,"props":3060,"children":3061},{},[3062],{"type":62,"value":3063},"                options.IncludeTitleInBreadcrumbs = false;\n",{"type":48,"tag":233,"props":3065,"children":3066},{"class":235,"line":565},[3067],{"type":48,"tag":233,"props":3068,"children":3069},{},[3070],{"type":62,"value":3071},"                options.IncludeBackgroundingStateInBreadcrumbs = false;\n",{"type":48,"tag":233,"props":3073,"children":3074},{"class":235,"line":610},[3075],{"type":48,"tag":233,"props":3076,"children":3077},{},[3078],{"type":62,"value":3079},"            });\n",{"type":48,"tag":233,"props":3081,"children":3082},{"class":235,"line":618},[3083],{"type":48,"tag":233,"props":3084,"children":3085},{"emptyLinePlaceholder":43},[3086],{"type":62,"value":304},{"type":48,"tag":233,"props":3088,"children":3089},{"class":235,"line":627},[3090],{"type":48,"tag":233,"props":3091,"children":3092},{},[3093],{"type":62,"value":3094},"        return builder.Build();\n",{"type":48,"tag":233,"props":3096,"children":3097},{"class":235,"line":658},[3098],{"type":48,"tag":233,"props":3099,"children":3100},{},[3101],{"type":62,"value":2614},{"type":48,"tag":233,"props":3103,"children":3104},{"class":235,"line":2632},[3105],{"type":48,"tag":233,"props":3106,"children":3107},{},[3108],{"type":62,"value":2310},{"type":48,"tag":207,"props":3110,"children":3111},{},[],{"type":48,"tag":1432,"props":3113,"children":3115},{"id":3114},"blazor-webassembly-programcs",[3116,3118],{"type":62,"value":3117},"Blazor WebAssembly — ",{"type":48,"tag":114,"props":3119,"children":3121},{"className":3120},[],[3122],{"type":62,"value":996},{"type":48,"tag":222,"props":3124,"children":3126},{"className":1746,"code":3125,"language":1748,"meta":227,"style":227},"var builder = WebAssemblyHostBuilder.CreateDefault(args);\n\nbuilder.UseSentry(options =>\n{\n    options.Dsn = \"___YOUR_DSN___\";\n    options.Debug = true;\n    options.SendDefaultPii = true;\n    options.TracesSampleRate = 0.1;\n});\n\n\u002F\u002F Hook logging pipeline without re-initializing the SDK\nbuilder.Logging.AddSentry(o => o.InitializeSdk = false);\n\nawait builder.Build().RunAsync();\n",[3127],{"type":48,"tag":114,"props":3128,"children":3129},{"__ignoreMap":227},[3130,3138,3145,3153,3160,3168,3176,3184,3192,3199,3206,3214,3222,3229],{"type":48,"tag":233,"props":3131,"children":3132},{"class":235,"line":236},[3133],{"type":48,"tag":233,"props":3134,"children":3135},{},[3136],{"type":62,"value":3137},"var builder = WebAssemblyHostBuilder.CreateDefault(args);\n",{"type":48,"tag":233,"props":3139,"children":3140},{"class":235,"line":246},[3141],{"type":48,"tag":233,"props":3142,"children":3143},{"emptyLinePlaceholder":43},[3144],{"type":62,"value":304},{"type":48,"tag":233,"props":3146,"children":3147},{"class":235,"line":298},[3148],{"type":48,"tag":233,"props":3149,"children":3150},{},[3151],{"type":62,"value":3152},"builder.UseSentry(options =>\n",{"type":48,"tag":233,"props":3154,"children":3155},{"class":235,"line":307},[3156],{"type":48,"tag":233,"props":3157,"children":3158},{},[3159],{"type":62,"value":1783},{"type":48,"tag":233,"props":3161,"children":3162},{"class":235,"line":316},[3163],{"type":48,"tag":233,"props":3164,"children":3165},{},[3166],{"type":62,"value":3167},"    options.Dsn = \"___YOUR_DSN___\";\n",{"type":48,"tag":233,"props":3169,"children":3170},{"class":235,"line":365},[3171],{"type":48,"tag":233,"props":3172,"children":3173},{},[3174],{"type":62,"value":3175},"    options.Debug = true;\n",{"type":48,"tag":233,"props":3177,"children":3178},{"class":235,"line":373},[3179],{"type":48,"tag":233,"props":3180,"children":3181},{},[3182],{"type":62,"value":3183},"    options.SendDefaultPii = true;\n",{"type":48,"tag":233,"props":3185,"children":3186},{"class":235,"line":382},[3187],{"type":48,"tag":233,"props":3188,"children":3189},{},[3190],{"type":62,"value":3191},"    options.TracesSampleRate = 0.1;\n",{"type":48,"tag":233,"props":3193,"children":3194},{"class":235,"line":449},[3195],{"type":48,"tag":233,"props":3196,"children":3197},{},[3198],{"type":62,"value":1895},{"type":48,"tag":233,"props":3200,"children":3201},{"class":235,"line":457},[3202],{"type":48,"tag":233,"props":3203,"children":3204},{"emptyLinePlaceholder":43},[3205],{"type":62,"value":304},{"type":48,"tag":233,"props":3207,"children":3208},{"class":235,"line":466},[3209],{"type":48,"tag":233,"props":3210,"children":3211},{},[3212],{"type":62,"value":3213},"\u002F\u002F Hook logging pipeline without re-initializing the SDK\n",{"type":48,"tag":233,"props":3215,"children":3216},{"class":235,"line":505},[3217],{"type":48,"tag":233,"props":3218,"children":3219},{},[3220],{"type":62,"value":3221},"builder.Logging.AddSentry(o => o.InitializeSdk = false);\n",{"type":48,"tag":233,"props":3223,"children":3224},{"class":235,"line":513},[3225],{"type":48,"tag":233,"props":3226,"children":3227},{"emptyLinePlaceholder":43},[3228],{"type":62,"value":304},{"type":48,"tag":233,"props":3230,"children":3231},{"class":235,"line":522},[3232],{"type":48,"tag":233,"props":3233,"children":3234},{},[3235],{"type":62,"value":3236},"await builder.Build().RunAsync();\n",{"type":48,"tag":207,"props":3238,"children":3239},{},[],{"type":48,"tag":1432,"props":3241,"children":3243},{"id":3242},"azure-functions-isolated-worker-programcs",[3244,3246],{"type":62,"value":3245},"Azure Functions (Isolated Worker) — ",{"type":48,"tag":114,"props":3247,"children":3249},{"className":3248},[],[3250],{"type":62,"value":996},{"type":48,"tag":49,"props":3252,"children":3253},{},[3254],{"type":48,"tag":53,"props":3255,"children":3256},{},[3257,3262,3264,3270,3272,3277],{"type":48,"tag":182,"props":3258,"children":3259},{},[3260],{"type":62,"value":3261},"Recommended:",{"type":62,"value":3263}," Install ",{"type":48,"tag":114,"props":3265,"children":3267},{"className":3266},[],[3268],{"type":62,"value":3269},"Sentry.OpenTelemetry.Exporter",{"type":62,"value":3271}," (≥6.5.0) for OTLP export. Alternatively, use ",{"type":48,"tag":114,"props":3273,"children":3275},{"className":3274},[],[3276],{"type":62,"value":1076},{"type":62,"value":3278}," for the bridge pattern.",{"type":48,"tag":222,"props":3280,"children":3282},{"className":1746,"code":3281,"language":1748,"meta":227,"style":227},"using Microsoft.Extensions.Hosting;\nusing Microsoft.Extensions.Logging;\nusing OpenTelemetry.Trace;\n\n\u002F\u002F Package: Sentry.OpenTelemetry.Exporter\nvar host = new HostBuilder()\n    .ConfigureFunctionsWorkerDefaults()\n    .ConfigureLogging(logging =>\n    {\n        logging.AddSentry(options =>\n        {\n            options.Dsn = \"___YOUR_DSN___\";\n            options.Debug = true;\n            options.TracesSampleRate = 1.0;\n            options.UseOtlp(); \u002F\u002F send OTel spans via OTLP (requires 6.5.0+)\n        });\n    })\n    .ConfigureServices(services =>\n    {\n        services.AddOpenTelemetry().WithTracing(builder =>\n        {\n            builder\n                .AddHttpClientInstrumentation()\n                .AddSentryOtlpExporter(\"___YOUR_DSN___\"); \u002F\u002F route spans to Sentry OTLP endpoint\n        });\n    })\n    .Build();\n\nawait host.RunAsync();\n",[3283],{"type":48,"tag":114,"props":3284,"children":3285},{"__ignoreMap":227},[3286,3294,3302,3310,3317,3325,3333,3341,3349,3356,3364,3371,3378,3385,3392,3400,3407,3415,3423,3430,3438,3445,3453,3461,3469,3476,3483,3491,3498],{"type":48,"tag":233,"props":3287,"children":3288},{"class":235,"line":236},[3289],{"type":48,"tag":233,"props":3290,"children":3291},{},[3292],{"type":62,"value":3293},"using Microsoft.Extensions.Hosting;\n",{"type":48,"tag":233,"props":3295,"children":3296},{"class":235,"line":246},[3297],{"type":48,"tag":233,"props":3298,"children":3299},{},[3300],{"type":62,"value":3301},"using Microsoft.Extensions.Logging;\n",{"type":48,"tag":233,"props":3303,"children":3304},{"class":235,"line":298},[3305],{"type":48,"tag":233,"props":3306,"children":3307},{},[3308],{"type":62,"value":3309},"using OpenTelemetry.Trace;\n",{"type":48,"tag":233,"props":3311,"children":3312},{"class":235,"line":307},[3313],{"type":48,"tag":233,"props":3314,"children":3315},{"emptyLinePlaceholder":43},[3316],{"type":62,"value":304},{"type":48,"tag":233,"props":3318,"children":3319},{"class":235,"line":316},[3320],{"type":48,"tag":233,"props":3321,"children":3322},{},[3323],{"type":62,"value":3324},"\u002F\u002F Package: Sentry.OpenTelemetry.Exporter\n",{"type":48,"tag":233,"props":3326,"children":3327},{"class":235,"line":365},[3328],{"type":48,"tag":233,"props":3329,"children":3330},{},[3331],{"type":62,"value":3332},"var host = new HostBuilder()\n",{"type":48,"tag":233,"props":3334,"children":3335},{"class":235,"line":373},[3336],{"type":48,"tag":233,"props":3337,"children":3338},{},[3339],{"type":62,"value":3340},"    .ConfigureFunctionsWorkerDefaults()\n",{"type":48,"tag":233,"props":3342,"children":3343},{"class":235,"line":382},[3344],{"type":48,"tag":233,"props":3345,"children":3346},{},[3347],{"type":62,"value":3348},"    .ConfigureLogging(logging =>\n",{"type":48,"tag":233,"props":3350,"children":3351},{"class":235,"line":449},[3352],{"type":48,"tag":233,"props":3353,"children":3354},{},[3355],{"type":62,"value":1863},{"type":48,"tag":233,"props":3357,"children":3358},{"class":235,"line":457},[3359],{"type":48,"tag":233,"props":3360,"children":3361},{},[3362],{"type":62,"value":3363},"        logging.AddSentry(options =>\n",{"type":48,"tag":233,"props":3365,"children":3366},{"class":235,"line":466},[3367],{"type":48,"tag":233,"props":3368,"children":3369},{},[3370],{"type":62,"value":2535},{"type":48,"tag":233,"props":3372,"children":3373},{"class":235,"line":505},[3374],{"type":48,"tag":233,"props":3375,"children":3376},{},[3377],{"type":62,"value":2543},{"type":48,"tag":233,"props":3379,"children":3380},{"class":235,"line":513},[3381],{"type":48,"tag":233,"props":3382,"children":3383},{},[3384],{"type":62,"value":2551},{"type":48,"tag":233,"props":3386,"children":3387},{"class":235,"line":522},[3388],{"type":48,"tag":233,"props":3389,"children":3390},{},[3391],{"type":62,"value":2567},{"type":48,"tag":233,"props":3393,"children":3394},{"class":235,"line":548},[3395],{"type":48,"tag":233,"props":3396,"children":3397},{},[3398],{"type":62,"value":3399},"            options.UseOtlp(); \u002F\u002F send OTel spans via OTLP (requires 6.5.0+)\n",{"type":48,"tag":233,"props":3401,"children":3402},{"class":235,"line":556},[3403],{"type":48,"tag":233,"props":3404,"children":3405},{},[3406],{"type":62,"value":2583},{"type":48,"tag":233,"props":3408,"children":3409},{"class":235,"line":565},[3410],{"type":48,"tag":233,"props":3411,"children":3412},{},[3413],{"type":62,"value":3414},"    })\n",{"type":48,"tag":233,"props":3416,"children":3417},{"class":235,"line":610},[3418],{"type":48,"tag":233,"props":3419,"children":3420},{},[3421],{"type":62,"value":3422},"    .ConfigureServices(services =>\n",{"type":48,"tag":233,"props":3424,"children":3425},{"class":235,"line":618},[3426],{"type":48,"tag":233,"props":3427,"children":3428},{},[3429],{"type":62,"value":1863},{"type":48,"tag":233,"props":3431,"children":3432},{"class":235,"line":627},[3433],{"type":48,"tag":233,"props":3434,"children":3435},{},[3436],{"type":62,"value":3437},"        services.AddOpenTelemetry().WithTracing(builder =>\n",{"type":48,"tag":233,"props":3439,"children":3440},{"class":235,"line":658},[3441],{"type":48,"tag":233,"props":3442,"children":3443},{},[3444],{"type":62,"value":2535},{"type":48,"tag":233,"props":3446,"children":3447},{"class":235,"line":2632},[3448],{"type":48,"tag":233,"props":3449,"children":3450},{},[3451],{"type":62,"value":3452},"            builder\n",{"type":48,"tag":233,"props":3454,"children":3455},{"class":235,"line":2641},[3456],{"type":48,"tag":233,"props":3457,"children":3458},{},[3459],{"type":62,"value":3460},"                .AddHttpClientInstrumentation()\n",{"type":48,"tag":233,"props":3462,"children":3463},{"class":235,"line":2650},[3464],{"type":48,"tag":233,"props":3465,"children":3466},{},[3467],{"type":62,"value":3468},"                .AddSentryOtlpExporter(\"___YOUR_DSN___\"); \u002F\u002F route spans to Sentry OTLP endpoint\n",{"type":48,"tag":233,"props":3470,"children":3471},{"class":235,"line":2658},[3472],{"type":48,"tag":233,"props":3473,"children":3474},{},[3475],{"type":62,"value":2583},{"type":48,"tag":233,"props":3477,"children":3478},{"class":235,"line":2667},[3479],{"type":48,"tag":233,"props":3480,"children":3481},{},[3482],{"type":62,"value":3414},{"type":48,"tag":233,"props":3484,"children":3485},{"class":235,"line":2676},[3486],{"type":48,"tag":233,"props":3487,"children":3488},{},[3489],{"type":62,"value":3490},"    .Build();\n",{"type":48,"tag":233,"props":3492,"children":3493},{"class":235,"line":2684},[3494],{"type":48,"tag":233,"props":3495,"children":3496},{"emptyLinePlaceholder":43},[3497],{"type":62,"value":304},{"type":48,"tag":233,"props":3499,"children":3501},{"class":235,"line":3500},29,[3502],{"type":48,"tag":233,"props":3503,"children":3504},{},[3505],{"type":62,"value":3506},"await host.RunAsync();\n",{"type":48,"tag":207,"props":3508,"children":3509},{},[],{"type":48,"tag":1432,"props":3511,"children":3513},{"id":3512},"aws-lambda-lambdaentrypointcs",[3514,3516],{"type":62,"value":3515},"AWS Lambda — ",{"type":48,"tag":114,"props":3517,"children":3519},{"className":3518},[],[3520],{"type":62,"value":3521},"LambdaEntryPoint.cs",{"type":48,"tag":222,"props":3523,"children":3525},{"className":1746,"code":3524,"language":1748,"meta":227,"style":227},"public class LambdaEntryPoint : APIGatewayProxyFunction\n{\n    protected override void Init(IWebHostBuilder builder)\n    {\n        builder\n            .UseSentry(options =>\n            {\n                options.Dsn = \"___YOUR_DSN___\";\n                options.TracesSampleRate = 1.0;\n                options.FlushOnCompletedRequest = true; \u002F\u002F REQUIRED for Lambda\n            })\n            .UseStartup\u003CStartup>();\n    }\n}\n",[3526],{"type":48,"tag":114,"props":3527,"children":3528},{"__ignoreMap":227},[3529,3537,3544,3552,3559,3566,3573,3580,3587,3594,3602,3610,3618,3625],{"type":48,"tag":233,"props":3530,"children":3531},{"class":235,"line":236},[3532],{"type":48,"tag":233,"props":3533,"children":3534},{},[3535],{"type":62,"value":3536},"public class LambdaEntryPoint : APIGatewayProxyFunction\n",{"type":48,"tag":233,"props":3538,"children":3539},{"class":235,"line":246},[3540],{"type":48,"tag":233,"props":3541,"children":3542},{},[3543],{"type":62,"value":1783},{"type":48,"tag":233,"props":3545,"children":3546},{"class":235,"line":298},[3547],{"type":48,"tag":233,"props":3548,"children":3549},{},[3550],{"type":62,"value":3551},"    protected override void Init(IWebHostBuilder builder)\n",{"type":48,"tag":233,"props":3553,"children":3554},{"class":235,"line":307},[3555],{"type":48,"tag":233,"props":3556,"children":3557},{},[3558],{"type":62,"value":1863},{"type":48,"tag":233,"props":3560,"children":3561},{"class":235,"line":316},[3562],{"type":48,"tag":233,"props":3563,"children":3564},{},[3565],{"type":62,"value":2983},{"type":48,"tag":233,"props":3567,"children":3568},{"class":235,"line":365},[3569],{"type":48,"tag":233,"props":3570,"children":3571},{},[3572],{"type":62,"value":2999},{"type":48,"tag":233,"props":3574,"children":3575},{"class":235,"line":373},[3576],{"type":48,"tag":233,"props":3577,"children":3578},{},[3579],{"type":62,"value":3007},{"type":48,"tag":233,"props":3581,"children":3582},{"class":235,"line":382},[3583],{"type":48,"tag":233,"props":3584,"children":3585},{},[3586],{"type":62,"value":3015},{"type":48,"tag":233,"props":3588,"children":3589},{"class":235,"line":449},[3590],{"type":48,"tag":233,"props":3591,"children":3592},{},[3593],{"type":62,"value":3039},{"type":48,"tag":233,"props":3595,"children":3596},{"class":235,"line":457},[3597],{"type":48,"tag":233,"props":3598,"children":3599},{},[3600],{"type":62,"value":3601},"                options.FlushOnCompletedRequest = true; \u002F\u002F REQUIRED for Lambda\n",{"type":48,"tag":233,"props":3603,"children":3604},{"class":235,"line":466},[3605],{"type":48,"tag":233,"props":3606,"children":3607},{},[3608],{"type":62,"value":3609},"            })\n",{"type":48,"tag":233,"props":3611,"children":3612},{"class":235,"line":505},[3613],{"type":48,"tag":233,"props":3614,"children":3615},{},[3616],{"type":62,"value":3617},"            .UseStartup\u003CStartup>();\n",{"type":48,"tag":233,"props":3619,"children":3620},{"class":235,"line":513},[3621],{"type":48,"tag":233,"props":3622,"children":3623},{},[3624],{"type":62,"value":2614},{"type":48,"tag":233,"props":3626,"children":3627},{"class":235,"line":522},[3628],{"type":48,"tag":233,"props":3629,"children":3630},{},[3631],{"type":62,"value":2310},{"type":48,"tag":207,"props":3633,"children":3634},{},[],{"type":48,"tag":1432,"props":3636,"children":3638},{"id":3637},"classic-aspnet-globalasaxcs",[3639,3641],{"type":62,"value":3640},"Classic ASP.NET — ",{"type":48,"tag":114,"props":3642,"children":3644},{"className":3643},[],[3645],{"type":62,"value":3646},"Global.asax.cs",{"type":48,"tag":222,"props":3648,"children":3650},{"className":1746,"code":3649,"language":1748,"meta":227,"style":227},"public class MvcApplication : HttpApplication\n{\n    private IDisposable _sentry;\n\n    protected void Application_Start()\n    {\n        _sentry = SentrySdk.Init(options =>\n        {\n            options.Dsn = \"___YOUR_DSN___\";\n            options.TracesSampleRate = 1.0;\n            options.AddEntityFramework(); \u002F\u002F EF6 query breadcrumbs\n            options.AddAspNet();          \u002F\u002F Classic ASP.NET integration\n        });\n    }\n\n    protected void Application_Error() => Server.CaptureLastError();\n\n    protected void Application_BeginRequest() => Context.StartSentryTransaction();\n    protected void Application_EndRequest() => Context.FinishSentryTransaction();\n\n    protected void Application_End() => _sentry?.Dispose();\n}\n",[3651],{"type":48,"tag":114,"props":3652,"children":3653},{"__ignoreMap":227},[3654,3662,3669,3677,3684,3692,3699,3707,3714,3721,3728,3736,3744,3751,3758,3765,3773,3780,3788,3796,3803,3811],{"type":48,"tag":233,"props":3655,"children":3656},{"class":235,"line":236},[3657],{"type":48,"tag":233,"props":3658,"children":3659},{},[3660],{"type":62,"value":3661},"public class MvcApplication : HttpApplication\n",{"type":48,"tag":233,"props":3663,"children":3664},{"class":235,"line":246},[3665],{"type":48,"tag":233,"props":3666,"children":3667},{},[3668],{"type":62,"value":1783},{"type":48,"tag":233,"props":3670,"children":3671},{"class":235,"line":298},[3672],{"type":48,"tag":233,"props":3673,"children":3674},{},[3675],{"type":62,"value":3676},"    private IDisposable _sentry;\n",{"type":48,"tag":233,"props":3678,"children":3679},{"class":235,"line":307},[3680],{"type":48,"tag":233,"props":3681,"children":3682},{"emptyLinePlaceholder":43},[3683],{"type":62,"value":304},{"type":48,"tag":233,"props":3685,"children":3686},{"class":235,"line":316},[3687],{"type":48,"tag":233,"props":3688,"children":3689},{},[3690],{"type":62,"value":3691},"    protected void Application_Start()\n",{"type":48,"tag":233,"props":3693,"children":3694},{"class":235,"line":365},[3695],{"type":48,"tag":233,"props":3696,"children":3697},{},[3698],{"type":62,"value":1863},{"type":48,"tag":233,"props":3700,"children":3701},{"class":235,"line":373},[3702],{"type":48,"tag":233,"props":3703,"children":3704},{},[3705],{"type":62,"value":3706},"        _sentry = SentrySdk.Init(options =>\n",{"type":48,"tag":233,"props":3708,"children":3709},{"class":235,"line":382},[3710],{"type":48,"tag":233,"props":3711,"children":3712},{},[3713],{"type":62,"value":2535},{"type":48,"tag":233,"props":3715,"children":3716},{"class":235,"line":449},[3717],{"type":48,"tag":233,"props":3718,"children":3719},{},[3720],{"type":62,"value":2543},{"type":48,"tag":233,"props":3722,"children":3723},{"class":235,"line":457},[3724],{"type":48,"tag":233,"props":3725,"children":3726},{},[3727],{"type":62,"value":2567},{"type":48,"tag":233,"props":3729,"children":3730},{"class":235,"line":466},[3731],{"type":48,"tag":233,"props":3732,"children":3733},{},[3734],{"type":62,"value":3735},"            options.AddEntityFramework(); \u002F\u002F EF6 query breadcrumbs\n",{"type":48,"tag":233,"props":3737,"children":3738},{"class":235,"line":505},[3739],{"type":48,"tag":233,"props":3740,"children":3741},{},[3742],{"type":62,"value":3743},"            options.AddAspNet();          \u002F\u002F Classic ASP.NET integration\n",{"type":48,"tag":233,"props":3745,"children":3746},{"class":235,"line":513},[3747],{"type":48,"tag":233,"props":3748,"children":3749},{},[3750],{"type":62,"value":2583},{"type":48,"tag":233,"props":3752,"children":3753},{"class":235,"line":522},[3754],{"type":48,"tag":233,"props":3755,"children":3756},{},[3757],{"type":62,"value":2614},{"type":48,"tag":233,"props":3759,"children":3760},{"class":235,"line":548},[3761],{"type":48,"tag":233,"props":3762,"children":3763},{"emptyLinePlaceholder":43},[3764],{"type":62,"value":304},{"type":48,"tag":233,"props":3766,"children":3767},{"class":235,"line":556},[3768],{"type":48,"tag":233,"props":3769,"children":3770},{},[3771],{"type":62,"value":3772},"    protected void Application_Error() => Server.CaptureLastError();\n",{"type":48,"tag":233,"props":3774,"children":3775},{"class":235,"line":565},[3776],{"type":48,"tag":233,"props":3777,"children":3778},{"emptyLinePlaceholder":43},[3779],{"type":62,"value":304},{"type":48,"tag":233,"props":3781,"children":3782},{"class":235,"line":610},[3783],{"type":48,"tag":233,"props":3784,"children":3785},{},[3786],{"type":62,"value":3787},"    protected void Application_BeginRequest() => Context.StartSentryTransaction();\n",{"type":48,"tag":233,"props":3789,"children":3790},{"class":235,"line":618},[3791],{"type":48,"tag":233,"props":3792,"children":3793},{},[3794],{"type":62,"value":3795},"    protected void Application_EndRequest() => Context.FinishSentryTransaction();\n",{"type":48,"tag":233,"props":3797,"children":3798},{"class":235,"line":627},[3799],{"type":48,"tag":233,"props":3800,"children":3801},{"emptyLinePlaceholder":43},[3802],{"type":62,"value":304},{"type":48,"tag":233,"props":3804,"children":3805},{"class":235,"line":658},[3806],{"type":48,"tag":233,"props":3807,"children":3808},{},[3809],{"type":62,"value":3810},"    protected void Application_End() => _sentry?.Dispose();\n",{"type":48,"tag":233,"props":3812,"children":3813},{"class":235,"line":2632},[3814],{"type":48,"tag":233,"props":3815,"children":3816},{},[3817],{"type":62,"value":2310},{"type":48,"tag":207,"props":3819,"children":3820},{},[],{"type":48,"tag":1367,"props":3822,"children":3824},{"id":3823},"symbol-upload-readable-stack-traces",[3825],{"type":62,"value":3826},"Symbol Upload (Readable Stack Traces)",{"type":48,"tag":53,"props":3828,"children":3829},{},[3830],{"type":62,"value":3831},"Without debug symbols, stack traces show only method names — no file names or line numbers. The SDK uploads PDB files (and optionally sources) via MSBuild properties on Release builds:",{"type":48,"tag":222,"props":3833,"children":3837},{"className":3834,"code":3835,"language":3836,"meta":227,"style":227},"language-xml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003CPropertyGroup Condition=\"'$(Configuration)' == 'Release'\">\n  \u003CSentryOrg>___ORG_SLUG___\u003C\u002FSentryOrg>\n  \u003CSentryProject>___PROJECT_SLUG___\u003C\u002FSentryProject>\n  \u003CSentryUploadSymbols>true\u003C\u002FSentryUploadSymbols>\n  \u003CSentryUploadSources>true\u003C\u002FSentryUploadSources>\n  \u003CSentryCreateRelease>true\u003C\u002FSentryCreateRelease>\n  \u003CSentrySetCommits>true\u003C\u002FSentrySetCommits>\n\u003C\u002FPropertyGroup>\n","xml",[3838],{"type":48,"tag":114,"props":3839,"children":3840},{"__ignoreMap":227},[3841,3849,3857,3865,3873,3881,3889,3897],{"type":48,"tag":233,"props":3842,"children":3843},{"class":235,"line":236},[3844],{"type":48,"tag":233,"props":3845,"children":3846},{},[3847],{"type":62,"value":3848},"\u003CPropertyGroup Condition=\"'$(Configuration)' == 'Release'\">\n",{"type":48,"tag":233,"props":3850,"children":3851},{"class":235,"line":246},[3852],{"type":48,"tag":233,"props":3853,"children":3854},{},[3855],{"type":62,"value":3856},"  \u003CSentryOrg>___ORG_SLUG___\u003C\u002FSentryOrg>\n",{"type":48,"tag":233,"props":3858,"children":3859},{"class":235,"line":298},[3860],{"type":48,"tag":233,"props":3861,"children":3862},{},[3863],{"type":62,"value":3864},"  \u003CSentryProject>___PROJECT_SLUG___\u003C\u002FSentryProject>\n",{"type":48,"tag":233,"props":3866,"children":3867},{"class":235,"line":307},[3868],{"type":48,"tag":233,"props":3869,"children":3870},{},[3871],{"type":62,"value":3872},"  \u003CSentryUploadSymbols>true\u003C\u002FSentryUploadSymbols>\n",{"type":48,"tag":233,"props":3874,"children":3875},{"class":235,"line":316},[3876],{"type":48,"tag":233,"props":3877,"children":3878},{},[3879],{"type":62,"value":3880},"  \u003CSentryUploadSources>true\u003C\u002FSentryUploadSources>\n",{"type":48,"tag":233,"props":3882,"children":3883},{"class":235,"line":365},[3884],{"type":48,"tag":233,"props":3885,"children":3886},{},[3887],{"type":62,"value":3888},"  \u003CSentryCreateRelease>true\u003C\u002FSentryCreateRelease>\n",{"type":48,"tag":233,"props":3890,"children":3891},{"class":235,"line":373},[3892],{"type":48,"tag":233,"props":3893,"children":3894},{},[3895],{"type":62,"value":3896},"  \u003CSentrySetCommits>true\u003C\u002FSentrySetCommits>\n",{"type":48,"tag":233,"props":3898,"children":3899},{"class":235,"line":382},[3900],{"type":48,"tag":233,"props":3901,"children":3902},{},[3903],{"type":62,"value":3904},"\u003C\u002FPropertyGroup>\n",{"type":48,"tag":53,"props":3906,"children":3907},{},[3908,3910,3916,3918,3928,3930,3936,3937,3943,3945,3955],{"type":62,"value":3909},"Upload needs a ",{"type":48,"tag":114,"props":3911,"children":3913},{"className":3912},[],[3914],{"type":62,"value":3915},"SENTRY_AUTH_TOKEN",{"type":62,"value":3917}," set in CI (a secret). For creating the token and the CI wiring, see ",{"type":48,"tag":57,"props":3919,"children":3921},{"href":3920},"..\u002Fsentry-source-maps\u002FSKILL.md",[3922],{"type":48,"tag":114,"props":3923,"children":3925},{"className":3924},[],[3926],{"type":62,"value":3927},"sentry-source-maps",{"type":62,"value":3929},". The ",{"type":48,"tag":114,"props":3931,"children":3933},{"className":3932},[],[3934],{"type":62,"value":3935},"SentryCreateRelease",{"type":62,"value":1090},{"type":48,"tag":114,"props":3938,"children":3940},{"className":3939},[],[3941],{"type":62,"value":3942},"SentrySetCommits",{"type":62,"value":3944}," properties also create a release with suspect commits — see ",{"type":48,"tag":57,"props":3946,"children":3948},{"href":3947},"..\u002Fsentry-releases\u002FSKILL.md",[3949],{"type":48,"tag":114,"props":3950,"children":3952},{"className":3951},[],[3953],{"type":62,"value":3954},"sentry-releases",{"type":62,"value":1416},{"type":48,"tag":207,"props":3957,"children":3958},{},[],{"type":48,"tag":1367,"props":3960,"children":3962},{"id":3961},"for-each-agreed-feature",[3963],{"type":62,"value":3964},"For Each Agreed Feature",{"type":48,"tag":53,"props":3966,"children":3967},{},[3968],{"type":62,"value":3969},"Load the corresponding reference file and follow its steps:",{"type":48,"tag":729,"props":3971,"children":3972},{},[3973,3993],{"type":48,"tag":733,"props":3974,"children":3975},{},[3976],{"type":48,"tag":737,"props":3977,"children":3978},{},[3979,3983,3988],{"type":48,"tag":741,"props":3980,"children":3981},{},[3982],{"type":62,"value":1247},{"type":48,"tag":741,"props":3984,"children":3985},{},[3986],{"type":62,"value":3987},"Reference file",{"type":48,"tag":741,"props":3989,"children":3990},{},[3991],{"type":62,"value":3992},"Load when...",{"type":48,"tag":752,"props":3994,"children":3995},{},[3996,4025,4046,4067,4093,4134],{"type":48,"tag":737,"props":3997,"children":3998},{},[3999,4003,4012],{"type":48,"tag":759,"props":4000,"children":4001},{},[4002],{"type":62,"value":1156},{"type":48,"tag":759,"props":4004,"children":4005},{},[4006],{"type":48,"tag":114,"props":4007,"children":4009},{"className":4008},[],[4010],{"type":62,"value":4011},"references\u002Ferror-monitoring.md",{"type":48,"tag":759,"props":4013,"children":4014},{},[4015,4017,4023],{"type":62,"value":4016},"Always — ",{"type":48,"tag":114,"props":4018,"children":4020},{"className":4019},[],[4021],{"type":62,"value":4022},"CaptureException",{"type":62,"value":4024},", scopes, enrichment, filtering",{"type":48,"tag":737,"props":4026,"children":4027},{},[4028,4032,4041],{"type":48,"tag":759,"props":4029,"children":4030},{},[4031],{"type":62,"value":1167},{"type":48,"tag":759,"props":4033,"children":4034},{},[4035],{"type":48,"tag":114,"props":4036,"children":4038},{"className":4037},[],[4039],{"type":62,"value":4040},"references\u002Ftracing.md",{"type":48,"tag":759,"props":4042,"children":4043},{},[4044],{"type":62,"value":4045},"Server apps, distributed tracing, EF Core spans, custom instrumentation",{"type":48,"tag":737,"props":4047,"children":4048},{},[4049,4053,4062],{"type":48,"tag":759,"props":4050,"children":4051},{},[4052],{"type":62,"value":1201},{"type":48,"tag":759,"props":4054,"children":4055},{},[4056],{"type":48,"tag":114,"props":4057,"children":4059},{"className":4058},[],[4060],{"type":62,"value":4061},"references\u002Fprofiling.md",{"type":48,"tag":759,"props":4063,"children":4064},{},[4065],{"type":62,"value":4066},"Performance-critical apps on .NET 6+",{"type":48,"tag":737,"props":4068,"children":4069},{},[4070,4074,4083],{"type":48,"tag":759,"props":4071,"children":4072},{},[4073],{"type":62,"value":1178},{"type":48,"tag":759,"props":4075,"children":4076},{},[4077],{"type":48,"tag":114,"props":4078,"children":4080},{"className":4079},[],[4081],{"type":62,"value":4082},"references\u002Flogging.md",{"type":48,"tag":759,"props":4084,"children":4085},{},[4086,4091],{"type":48,"tag":114,"props":4087,"children":4089},{"className":4088},[],[4090],{"type":62,"value":1307},{"type":62,"value":4092},", Serilog, NLog, log4net integration",{"type":48,"tag":737,"props":4094,"children":4095},{},[4096,4100,4109],{"type":48,"tag":759,"props":4097,"children":4098},{},[4099],{"type":62,"value":1212},{"type":48,"tag":759,"props":4101,"children":4102},{},[4103],{"type":48,"tag":114,"props":4104,"children":4106},{"className":4105},[],[4107],{"type":62,"value":4108},"references\u002Fmetrics.md",{"type":48,"tag":759,"props":4110,"children":4111},{},[4112,4114,4120,4121,4127,4128],{"type":62,"value":4113},"Custom counters, gauges, distributions; ",{"type":48,"tag":114,"props":4115,"children":4117},{"className":4116},[],[4118],{"type":62,"value":4119},"EmitCounter",{"type":62,"value":121},{"type":48,"tag":114,"props":4122,"children":4124},{"className":4123},[],[4125],{"type":62,"value":4126},"EmitGauge",{"type":62,"value":121},{"type":48,"tag":114,"props":4129,"children":4131},{"className":4130},[],[4132],{"type":62,"value":4133},"EmitDistribution",{"type":48,"tag":737,"props":4135,"children":4136},{},[4137,4141,4150],{"type":48,"tag":759,"props":4138,"children":4139},{},[4140],{"type":62,"value":1223},{"type":48,"tag":759,"props":4142,"children":4143},{},[4144],{"type":48,"tag":114,"props":4145,"children":4147},{"className":4146},[],[4148],{"type":62,"value":4149},"references\u002Fcrons.md",{"type":48,"tag":759,"props":4151,"children":4152},{},[4153],{"type":62,"value":4154},"Hangfire, Quartz.NET, or scheduled function monitoring",{"type":48,"tag":53,"props":4156,"children":4157},{},[4158],{"type":62,"value":4159},"For each feature: read the reference file, follow its steps exactly, and verify before moving on.",{"type":48,"tag":207,"props":4161,"children":4162},{},[],{"type":48,"tag":87,"props":4164,"children":4166},{"id":4165},"configuration-reference",[4167],{"type":62,"value":4168},"Configuration Reference",{"type":48,"tag":1367,"props":4170,"children":4172},{"id":4171},"core-sentryoptions",[4173,4175],{"type":62,"value":4174},"Core ",{"type":48,"tag":114,"props":4176,"children":4178},{"className":4177},[],[4179],{"type":62,"value":158},{"type":48,"tag":729,"props":4181,"children":4182},{},[4183,4214],{"type":48,"tag":733,"props":4184,"children":4185},{},[4186],{"type":48,"tag":737,"props":4187,"children":4188},{},[4189,4194,4199,4204,4209],{"type":48,"tag":741,"props":4190,"children":4191},{},[4192],{"type":62,"value":4193},"Option",{"type":48,"tag":741,"props":4195,"children":4196},{},[4197],{"type":62,"value":4198},"Type",{"type":48,"tag":741,"props":4200,"children":4201},{},[4202],{"type":62,"value":4203},"Default",{"type":48,"tag":741,"props":4205,"children":4206},{},[4207],{"type":62,"value":4208},"Env Var",{"type":48,"tag":741,"props":4210,"children":4211},{},[4212],{"type":62,"value":4213},"Notes",{"type":48,"tag":752,"props":4215,"children":4216},{},[4217,4256,4294,4362,4400,4448,4481,4520,4566,4605,4649,4685,4722,4761,4820,4864,4901,4934,4968,5001,5038,5091,5143],{"type":48,"tag":737,"props":4218,"children":4219},{},[4220,4228,4237,4242,4251],{"type":48,"tag":759,"props":4221,"children":4222},{},[4223],{"type":48,"tag":114,"props":4224,"children":4226},{"className":4225},[],[4227],{"type":62,"value":1988},{"type":48,"tag":759,"props":4229,"children":4230},{},[4231],{"type":48,"tag":114,"props":4232,"children":4234},{"className":4233},[],[4235],{"type":62,"value":4236},"string",{"type":48,"tag":759,"props":4238,"children":4239},{},[4240],{"type":62,"value":4241},"—",{"type":48,"tag":759,"props":4243,"children":4244},{},[4245],{"type":48,"tag":114,"props":4246,"children":4248},{"className":4247},[],[4249],{"type":62,"value":4250},"SENTRY_DSN",{"type":48,"tag":759,"props":4252,"children":4253},{},[4254],{"type":62,"value":4255},"Required. SDK disabled if unset.",{"type":48,"tag":737,"props":4257,"children":4258},{},[4259,4267,4276,4285,4289],{"type":48,"tag":759,"props":4260,"children":4261},{},[4262],{"type":48,"tag":114,"props":4263,"children":4265},{"className":4264},[],[4266],{"type":62,"value":2104},{"type":48,"tag":759,"props":4268,"children":4269},{},[4270],{"type":48,"tag":114,"props":4271,"children":4273},{"className":4272},[],[4274],{"type":62,"value":4275},"bool",{"type":48,"tag":759,"props":4277,"children":4278},{},[4279],{"type":48,"tag":114,"props":4280,"children":4282},{"className":4281},[],[4283],{"type":62,"value":4284},"false",{"type":48,"tag":759,"props":4286,"children":4287},{},[4288],{"type":62,"value":4241},{"type":48,"tag":759,"props":4290,"children":4291},{},[4292],{"type":62,"value":4293},"SDK diagnostic output. Disable in production.",{"type":48,"tag":737,"props":4295,"children":4296},{},[4297,4306,4315,4323,4327],{"type":48,"tag":759,"props":4298,"children":4299},{},[4300],{"type":48,"tag":114,"props":4301,"children":4303},{"className":4302},[],[4304],{"type":62,"value":4305},"DiagnosticLevel",{"type":48,"tag":759,"props":4307,"children":4308},{},[4309],{"type":48,"tag":114,"props":4310,"children":4312},{"className":4311},[],[4313],{"type":62,"value":4314},"SentryLevel",{"type":48,"tag":759,"props":4316,"children":4317},{},[4318],{"type":48,"tag":114,"props":4319,"children":4321},{"className":4320},[],[4322],{"type":62,"value":2104},{"type":48,"tag":759,"props":4324,"children":4325},{},[4326],{"type":62,"value":4241},{"type":48,"tag":759,"props":4328,"children":4329},{},[4330,4335,4336,4342,4343,4348,4349,4355,4356],{"type":48,"tag":114,"props":4331,"children":4333},{"className":4332},[],[4334],{"type":62,"value":2104},{"type":62,"value":121},{"type":48,"tag":114,"props":4337,"children":4339},{"className":4338},[],[4340],{"type":62,"value":4341},"Info",{"type":62,"value":121},{"type":48,"tag":114,"props":4344,"children":4346},{"className":4345},[],[4347],{"type":62,"value":2141},{"type":62,"value":121},{"type":48,"tag":114,"props":4350,"children":4352},{"className":4351},[],[4353],{"type":62,"value":4354},"Error",{"type":62,"value":121},{"type":48,"tag":114,"props":4357,"children":4359},{"className":4358},[],[4360],{"type":62,"value":4361},"Fatal",{"type":48,"tag":737,"props":4363,"children":4364},{},[4365,4373,4381,4386,4395],{"type":48,"tag":759,"props":4366,"children":4367},{},[4368],{"type":48,"tag":114,"props":4369,"children":4371},{"className":4370},[],[4372],{"type":62,"value":2273},{"type":48,"tag":759,"props":4374,"children":4375},{},[4376],{"type":48,"tag":114,"props":4377,"children":4379},{"className":4378},[],[4380],{"type":62,"value":4236},{"type":48,"tag":759,"props":4382,"children":4383},{},[4384],{"type":62,"value":4385},"auto",{"type":48,"tag":759,"props":4387,"children":4388},{},[4389],{"type":48,"tag":114,"props":4390,"children":4392},{"className":4391},[],[4393],{"type":62,"value":4394},"SENTRY_RELEASE",{"type":48,"tag":759,"props":4396,"children":4397},{},[4398],{"type":62,"value":4399},"Auto-detected from assembly version + git SHA",{"type":48,"tag":737,"props":4401,"children":4402},{},[4403,4411,4419,4428,4437],{"type":48,"tag":759,"props":4404,"children":4405},{},[4406],{"type":48,"tag":114,"props":4407,"children":4409},{"className":4408},[],[4410],{"type":62,"value":2236},{"type":48,"tag":759,"props":4412,"children":4413},{},[4414],{"type":48,"tag":114,"props":4415,"children":4417},{"className":4416},[],[4418],{"type":62,"value":4236},{"type":48,"tag":759,"props":4420,"children":4421},{},[4422],{"type":48,"tag":114,"props":4423,"children":4425},{"className":4424},[],[4426],{"type":62,"value":4427},"\"production\"",{"type":48,"tag":759,"props":4429,"children":4430},{},[4431],{"type":48,"tag":114,"props":4432,"children":4434},{"className":4433},[],[4435],{"type":62,"value":4436},"SENTRY_ENVIRONMENT",{"type":48,"tag":759,"props":4438,"children":4439},{},[4440,4446],{"type":48,"tag":114,"props":4441,"children":4443},{"className":4442},[],[4444],{"type":62,"value":4445},"\"debug\"",{"type":62,"value":4447}," when debugger attached",{"type":48,"tag":737,"props":4449,"children":4450},{},[4451,4460,4468,4472,4476],{"type":48,"tag":759,"props":4452,"children":4453},{},[4454],{"type":48,"tag":114,"props":4455,"children":4457},{"className":4456},[],[4458],{"type":62,"value":4459},"Dist",{"type":48,"tag":759,"props":4461,"children":4462},{},[4463],{"type":48,"tag":114,"props":4464,"children":4466},{"className":4465},[],[4467],{"type":62,"value":4236},{"type":48,"tag":759,"props":4469,"children":4470},{},[4471],{"type":62,"value":4241},{"type":48,"tag":759,"props":4473,"children":4474},{},[4475],{"type":62,"value":4241},{"type":48,"tag":759,"props":4477,"children":4478},{},[4479],{"type":62,"value":4480},"Build variant. Max 64 chars.",{"type":48,"tag":737,"props":4482,"children":4483},{},[4484,4493,4502,4511,4515],{"type":48,"tag":759,"props":4485,"children":4486},{},[4487],{"type":48,"tag":114,"props":4488,"children":4490},{"className":4489},[],[4491],{"type":62,"value":4492},"SampleRate",{"type":48,"tag":759,"props":4494,"children":4495},{},[4496],{"type":48,"tag":114,"props":4497,"children":4499},{"className":4498},[],[4500],{"type":62,"value":4501},"float",{"type":48,"tag":759,"props":4503,"children":4504},{},[4505],{"type":48,"tag":114,"props":4506,"children":4508},{"className":4507},[],[4509],{"type":62,"value":4510},"1.0",{"type":48,"tag":759,"props":4512,"children":4513},{},[4514],{"type":62,"value":4241},{"type":48,"tag":759,"props":4516,"children":4517},{},[4518],{"type":62,"value":4519},"Error event sampling rate 0.0–1.0",{"type":48,"tag":737,"props":4521,"children":4522},{},[4523,4531,4540,4549,4553],{"type":48,"tag":759,"props":4524,"children":4525},{},[4526],{"type":48,"tag":114,"props":4527,"children":4529},{"className":4528},[],[4530],{"type":62,"value":172},{"type":48,"tag":759,"props":4532,"children":4533},{},[4534],{"type":48,"tag":114,"props":4535,"children":4537},{"className":4536},[],[4538],{"type":62,"value":4539},"double",{"type":48,"tag":759,"props":4541,"children":4542},{},[4543],{"type":48,"tag":114,"props":4544,"children":4546},{"className":4545},[],[4547],{"type":62,"value":4548},"0.0",{"type":48,"tag":759,"props":4550,"children":4551},{},[4552],{"type":62,"value":4241},{"type":48,"tag":759,"props":4554,"children":4555},{},[4556,4558,4564],{"type":62,"value":4557},"Transaction sampling. Must be ",{"type":48,"tag":114,"props":4559,"children":4561},{"className":4560},[],[4562],{"type":62,"value":4563},"> 0",{"type":62,"value":4565}," to enable.",{"type":48,"tag":737,"props":4567,"children":4568},{},[4569,4578,4587,4591,4595],{"type":48,"tag":759,"props":4570,"children":4571},{},[4572],{"type":48,"tag":114,"props":4573,"children":4575},{"className":4574},[],[4576],{"type":62,"value":4577},"TracesSampler",{"type":48,"tag":759,"props":4579,"children":4580},{},[4581],{"type":48,"tag":114,"props":4582,"children":4584},{"className":4583},[],[4585],{"type":62,"value":4586},"Func\u003CSamplingContext, double>",{"type":48,"tag":759,"props":4588,"children":4589},{},[4590],{"type":62,"value":4241},{"type":48,"tag":759,"props":4592,"children":4593},{},[4594],{"type":62,"value":4241},{"type":48,"tag":759,"props":4596,"children":4597},{},[4598,4600],{"type":62,"value":4599},"Per-transaction dynamic sampler; overrides ",{"type":48,"tag":114,"props":4601,"children":4603},{"className":4602},[],[4604],{"type":62,"value":172},{"type":48,"tag":737,"props":4606,"children":4607},{},[4608,4617,4625,4633,4637],{"type":48,"tag":759,"props":4609,"children":4610},{},[4611],{"type":48,"tag":114,"props":4612,"children":4614},{"className":4613},[],[4615],{"type":62,"value":4616},"ProfilesSampleRate",{"type":48,"tag":759,"props":4618,"children":4619},{},[4620],{"type":48,"tag":114,"props":4621,"children":4623},{"className":4622},[],[4624],{"type":62,"value":4539},{"type":48,"tag":759,"props":4626,"children":4627},{},[4628],{"type":48,"tag":114,"props":4629,"children":4631},{"className":4630},[],[4632],{"type":62,"value":4548},{"type":48,"tag":759,"props":4634,"children":4635},{},[4636],{"type":62,"value":4241},{"type":48,"tag":759,"props":4638,"children":4639},{},[4640,4642,4648],{"type":62,"value":4641},"Fraction of traced transactions to profile. Requires ",{"type":48,"tag":114,"props":4643,"children":4645},{"className":4644},[],[4646],{"type":62,"value":4647},"Sentry.Profiling",{"type":62,"value":1416},{"type":48,"tag":737,"props":4650,"children":4651},{},[4652,4660,4668,4676,4680],{"type":48,"tag":759,"props":4653,"children":4654},{},[4655],{"type":48,"tag":114,"props":4656,"children":4658},{"className":4657},[],[4659],{"type":62,"value":2026},{"type":48,"tag":759,"props":4661,"children":4662},{},[4663],{"type":48,"tag":114,"props":4664,"children":4666},{"className":4665},[],[4667],{"type":62,"value":4275},{"type":48,"tag":759,"props":4669,"children":4670},{},[4671],{"type":48,"tag":114,"props":4672,"children":4674},{"className":4673},[],[4675],{"type":62,"value":4284},{"type":48,"tag":759,"props":4677,"children":4678},{},[4679],{"type":62,"value":4241},{"type":48,"tag":759,"props":4681,"children":4682},{},[4683],{"type":62,"value":4684},"Include user IP, name, email",{"type":48,"tag":737,"props":4686,"children":4687},{},[4688,4696,4704,4713,4717],{"type":48,"tag":759,"props":4689,"children":4690},{},[4691],{"type":48,"tag":114,"props":4692,"children":4694},{"className":4693},[],[4695],{"type":62,"value":2161},{"type":48,"tag":759,"props":4697,"children":4698},{},[4699],{"type":48,"tag":114,"props":4700,"children":4702},{"className":4701},[],[4703],{"type":62,"value":4275},{"type":48,"tag":759,"props":4705,"children":4706},{},[4707],{"type":48,"tag":114,"props":4708,"children":4710},{"className":4709},[],[4711],{"type":62,"value":4712},"true",{"type":48,"tag":759,"props":4714,"children":4715},{},[4716],{"type":62,"value":4241},{"type":48,"tag":759,"props":4718,"children":4719},{},[4720],{"type":62,"value":4721},"Attach stack trace to all messages",{"type":48,"tag":737,"props":4723,"children":4724},{},[4725,4734,4743,4752,4756],{"type":48,"tag":759,"props":4726,"children":4727},{},[4728],{"type":48,"tag":114,"props":4729,"children":4731},{"className":4730},[],[4732],{"type":62,"value":4733},"MaxBreadcrumbs",{"type":48,"tag":759,"props":4735,"children":4736},{},[4737],{"type":48,"tag":114,"props":4738,"children":4740},{"className":4739},[],[4741],{"type":62,"value":4742},"int",{"type":48,"tag":759,"props":4744,"children":4745},{},[4746],{"type":48,"tag":114,"props":4747,"children":4749},{"className":4748},[],[4750],{"type":62,"value":4751},"100",{"type":48,"tag":759,"props":4753,"children":4754},{},[4755],{"type":62,"value":4241},{"type":48,"tag":759,"props":4757,"children":4758},{},[4759],{"type":62,"value":4760},"Max breadcrumbs stored per event",{"type":48,"tag":737,"props":4762,"children":4763},{},[4764,4772,4780,4790,4794],{"type":48,"tag":759,"props":4765,"children":4766},{},[4767],{"type":48,"tag":114,"props":4768,"children":4770},{"className":4769},[],[4771],{"type":62,"value":840},{"type":48,"tag":759,"props":4773,"children":4774},{},[4775],{"type":48,"tag":114,"props":4776,"children":4778},{"className":4777},[],[4779],{"type":62,"value":4275},{"type":48,"tag":759,"props":4781,"children":4782},{},[4783,4788],{"type":48,"tag":114,"props":4784,"children":4786},{"className":4785},[],[4787],{"type":62,"value":4284},{"type":62,"value":4789},"*",{"type":48,"tag":759,"props":4791,"children":4792},{},[4793],{"type":62,"value":4241},{"type":48,"tag":759,"props":4795,"children":4796},{},[4797,4799,4804,4806,4811,4813,4818],{"type":62,"value":4798},"*Auto-",{"type":48,"tag":114,"props":4800,"children":4802},{"className":4801},[],[4803],{"type":62,"value":4712},{"type":62,"value":4805}," for MAUI, Blazor WASM. ",{"type":48,"tag":182,"props":4807,"children":4808},{},[4809],{"type":62,"value":4810},"Must",{"type":62,"value":4812}," be ",{"type":48,"tag":114,"props":4814,"children":4816},{"className":4815},[],[4817],{"type":62,"value":4712},{"type":62,"value":4819}," for WPF, WinForms, Console.",{"type":48,"tag":737,"props":4821,"children":4822},{},[4823,4832,4840,4849,4853],{"type":48,"tag":759,"props":4824,"children":4825},{},[4826],{"type":48,"tag":114,"props":4827,"children":4829},{"className":4828},[],[4830],{"type":62,"value":4831},"AutoSessionTracking",{"type":48,"tag":759,"props":4833,"children":4834},{},[4835],{"type":48,"tag":114,"props":4836,"children":4838},{"className":4837},[],[4839],{"type":62,"value":4275},{"type":48,"tag":759,"props":4841,"children":4842},{},[4843,4848],{"type":48,"tag":114,"props":4844,"children":4846},{"className":4845},[],[4847],{"type":62,"value":4284},{"type":62,"value":4789},{"type":48,"tag":759,"props":4850,"children":4851},{},[4852],{"type":62,"value":4241},{"type":48,"tag":759,"props":4854,"children":4855},{},[4856,4857,4862],{"type":62,"value":4798},{"type":48,"tag":114,"props":4858,"children":4860},{"className":4859},[],[4861],{"type":62,"value":4712},{"type":62,"value":4863}," for MAUI. Enable for Release Health.",{"type":48,"tag":737,"props":4865,"children":4866},{},[4867,4876,4884,4892,4896],{"type":48,"tag":759,"props":4868,"children":4869},{},[4870],{"type":48,"tag":114,"props":4871,"children":4873},{"className":4872},[],[4874],{"type":62,"value":4875},"CaptureFailedRequests",{"type":48,"tag":759,"props":4877,"children":4878},{},[4879],{"type":48,"tag":114,"props":4880,"children":4882},{"className":4881},[],[4883],{"type":62,"value":4275},{"type":48,"tag":759,"props":4885,"children":4886},{},[4887],{"type":48,"tag":114,"props":4888,"children":4890},{"className":4889},[],[4891],{"type":62,"value":4712},{"type":48,"tag":759,"props":4893,"children":4894},{},[4895],{"type":62,"value":4241},{"type":48,"tag":759,"props":4897,"children":4898},{},[4899],{"type":62,"value":4900},"Auto-capture HTTP client errors",{"type":48,"tag":737,"props":4902,"children":4903},{},[4904,4913,4921,4925,4929],{"type":48,"tag":759,"props":4905,"children":4906},{},[4907],{"type":48,"tag":114,"props":4908,"children":4910},{"className":4909},[],[4911],{"type":62,"value":4912},"CacheDirectoryPath",{"type":48,"tag":759,"props":4914,"children":4915},{},[4916],{"type":48,"tag":114,"props":4917,"children":4919},{"className":4918},[],[4920],{"type":62,"value":4236},{"type":48,"tag":759,"props":4922,"children":4923},{},[4924],{"type":62,"value":4241},{"type":48,"tag":759,"props":4926,"children":4927},{},[4928],{"type":62,"value":4241},{"type":48,"tag":759,"props":4930,"children":4931},{},[4932],{"type":62,"value":4933},"Offline event caching directory",{"type":48,"tag":737,"props":4935,"children":4936},{},[4937,4946,4955,4959,4963],{"type":48,"tag":759,"props":4938,"children":4939},{},[4940],{"type":48,"tag":114,"props":4941,"children":4943},{"className":4942},[],[4944],{"type":62,"value":4945},"ShutdownTimeout",{"type":48,"tag":759,"props":4947,"children":4948},{},[4949],{"type":48,"tag":114,"props":4950,"children":4952},{"className":4951},[],[4953],{"type":62,"value":4954},"TimeSpan",{"type":48,"tag":759,"props":4956,"children":4957},{},[4958],{"type":62,"value":4241},{"type":48,"tag":759,"props":4960,"children":4961},{},[4962],{"type":62,"value":4241},{"type":48,"tag":759,"props":4964,"children":4965},{},[4966],{"type":62,"value":4967},"Max wait for event flush on shutdown",{"type":48,"tag":737,"props":4969,"children":4970},{},[4971,4980,4988,4992,4996],{"type":48,"tag":759,"props":4972,"children":4973},{},[4974],{"type":48,"tag":114,"props":4975,"children":4977},{"className":4976},[],[4978],{"type":62,"value":4979},"HttpProxy",{"type":48,"tag":759,"props":4981,"children":4982},{},[4983],{"type":48,"tag":114,"props":4984,"children":4986},{"className":4985},[],[4987],{"type":62,"value":4236},{"type":48,"tag":759,"props":4989,"children":4990},{},[4991],{"type":62,"value":4241},{"type":48,"tag":759,"props":4993,"children":4994},{},[4995],{"type":62,"value":4241},{"type":48,"tag":759,"props":4997,"children":4998},{},[4999],{"type":62,"value":5000},"Proxy URL for Sentry requests",{"type":48,"tag":737,"props":5002,"children":5003},{},[5004,5013,5021,5029,5033],{"type":48,"tag":759,"props":5005,"children":5006},{},[5007],{"type":48,"tag":114,"props":5008,"children":5010},{"className":5009},[],[5011],{"type":62,"value":5012},"EnableBackpressureHandling",{"type":48,"tag":759,"props":5014,"children":5015},{},[5016],{"type":48,"tag":114,"props":5017,"children":5019},{"className":5018},[],[5020],{"type":62,"value":4275},{"type":48,"tag":759,"props":5022,"children":5023},{},[5024],{"type":48,"tag":114,"props":5025,"children":5027},{"className":5026},[],[5028],{"type":62,"value":4712},{"type":48,"tag":759,"props":5030,"children":5031},{},[5032],{"type":62,"value":4241},{"type":48,"tag":759,"props":5034,"children":5035},{},[5036],{"type":62,"value":5037},"Auto-reduce sample rates on delivery failures",{"type":48,"tag":737,"props":5039,"children":5040},{},[5041,5050,5059,5068,5072],{"type":48,"tag":759,"props":5042,"children":5043},{},[5044],{"type":48,"tag":114,"props":5045,"children":5047},{"className":5046},[],[5048],{"type":62,"value":5049},"TraceIgnoreStatusCodes",{"type":48,"tag":759,"props":5051,"children":5052},{},[5053],{"type":48,"tag":114,"props":5054,"children":5056},{"className":5055},[],[5057],{"type":62,"value":5058},"IList\u003CHttpStatusCodeRange>",{"type":48,"tag":759,"props":5060,"children":5061},{},[5062],{"type":48,"tag":114,"props":5063,"children":5065},{"className":5064},[],[5066],{"type":62,"value":5067},"[]",{"type":48,"tag":759,"props":5069,"children":5070},{},[5071],{"type":62,"value":4241},{"type":48,"tag":759,"props":5073,"children":5074},{},[5075,5077,5083,5085],{"type":62,"value":5076},"Drop transactions whose HTTP response status matches any range; e.g., ",{"type":48,"tag":114,"props":5078,"children":5080},{"className":5079},[],[5081],{"type":62,"value":5082},"[404]",{"type":62,"value":5084}," or ",{"type":48,"tag":114,"props":5086,"children":5088},{"className":5087},[],[5089],{"type":62,"value":5090},"[(500, 599)]",{"type":48,"tag":737,"props":5092,"children":5093},{},[5094,5103,5111,5119,5123],{"type":48,"tag":759,"props":5095,"children":5096},{},[5097],{"type":48,"tag":114,"props":5098,"children":5100},{"className":5099},[],[5101],{"type":62,"value":5102},"StrictTraceContinuation",{"type":48,"tag":759,"props":5104,"children":5105},{},[5106],{"type":48,"tag":114,"props":5107,"children":5109},{"className":5108},[],[5110],{"type":62,"value":4275},{"type":48,"tag":759,"props":5112,"children":5113},{},[5114],{"type":48,"tag":114,"props":5115,"children":5117},{"className":5116},[],[5118],{"type":62,"value":4284},{"type":48,"tag":759,"props":5120,"children":5121},{},[5122],{"type":62,"value":4241},{"type":48,"tag":759,"props":5124,"children":5125},{},[5126,5128,5133,5135,5141],{"type":62,"value":5127},"When ",{"type":48,"tag":114,"props":5129,"children":5131},{"className":5130},[],[5132],{"type":62,"value":4712},{"type":62,"value":5134},", starts a new trace if exactly one side (SDK or incoming ",{"type":48,"tag":114,"props":5136,"children":5138},{"className":5137},[],[5139],{"type":62,"value":5140},"sentry-org_id",{"type":62,"value":5142}," baggage) has an org ID. A full mismatch (both present but different) always starts a new trace regardless of this setting. (requires ≥6.6.0)",{"type":48,"tag":737,"props":5144,"children":5145},{},[5146,5155,5163,5167,5171],{"type":48,"tag":759,"props":5147,"children":5148},{},[5149],{"type":48,"tag":114,"props":5150,"children":5152},{"className":5151},[],[5153],{"type":62,"value":5154},"OrgId",{"type":48,"tag":759,"props":5156,"children":5157},{},[5158],{"type":48,"tag":114,"props":5159,"children":5161},{"className":5160},[],[5162],{"type":62,"value":4236},{"type":48,"tag":759,"props":5164,"children":5165},{},[5166],{"type":62,"value":4385},{"type":48,"tag":759,"props":5168,"children":5169},{},[5170],{"type":62,"value":4241},{"type":48,"tag":759,"props":5172,"children":5173},{},[5174,5176,5182,5184,5190],{"type":62,"value":5175},"Organization ID for trace validation; auto-parsed from DSN subdomain (e.g., ",{"type":48,"tag":114,"props":5177,"children":5179},{"className":5178},[],[5180],{"type":62,"value":5181},"o123.ingest.sentry.io",{"type":62,"value":5183}," → ",{"type":48,"tag":114,"props":5185,"children":5187},{"className":5186},[],[5188],{"type":62,"value":5189},"\"123\"",{"type":62,"value":5191},"). Recommended to set explicitly for self-hosted Sentry, local Relay, or custom domains (requires ≥6.6.0)",{"type":48,"tag":1367,"props":5193,"children":5195},{"id":5194},"aspnet-core-extended-options-sentryaspnetcoreoptions",[5196,5198,5204],{"type":62,"value":5197},"ASP.NET Core Extended Options (",{"type":48,"tag":114,"props":5199,"children":5201},{"className":5200},[],[5202],{"type":62,"value":5203},"SentryAspNetCoreOptions",{"type":62,"value":5205},")",{"type":48,"tag":729,"props":5207,"children":5208},{},[5209,5231],{"type":48,"tag":733,"props":5210,"children":5211},{},[5212],{"type":48,"tag":737,"props":5213,"children":5214},{},[5215,5219,5223,5227],{"type":48,"tag":741,"props":5216,"children":5217},{},[5218],{"type":62,"value":4193},{"type":48,"tag":741,"props":5220,"children":5221},{},[5222],{"type":62,"value":4198},{"type":48,"tag":741,"props":5224,"children":5225},{},[5226],{"type":62,"value":4203},{"type":48,"tag":741,"props":5228,"children":5229},{},[5230],{"type":62,"value":4213},{"type":48,"tag":752,"props":5232,"children":5233},{},[5234,5293,5327,5359,5407,5443],{"type":48,"tag":737,"props":5235,"children":5236},{},[5237,5245,5254,5263],{"type":48,"tag":759,"props":5238,"children":5239},{},[5240],{"type":48,"tag":114,"props":5241,"children":5243},{"className":5242},[],[5244],{"type":62,"value":2051},{"type":48,"tag":759,"props":5246,"children":5247},{},[5248],{"type":48,"tag":114,"props":5249,"children":5251},{"className":5250},[],[5252],{"type":62,"value":5253},"RequestSize",{"type":48,"tag":759,"props":5255,"children":5256},{},[5257],{"type":48,"tag":114,"props":5258,"children":5260},{"className":5259},[],[5261],{"type":62,"value":5262},"None",{"type":48,"tag":759,"props":5264,"children":5265},{},[5266,5271,5272,5278,5280,5286,5288],{"type":48,"tag":114,"props":5267,"children":5269},{"className":5268},[],[5270],{"type":62,"value":5262},{"type":62,"value":121},{"type":48,"tag":114,"props":5273,"children":5275},{"className":5274},[],[5276],{"type":62,"value":5277},"Small",{"type":62,"value":5279}," (~4 KB), ",{"type":48,"tag":114,"props":5281,"children":5283},{"className":5282},[],[5284],{"type":62,"value":5285},"Medium",{"type":62,"value":5287}," (~10 KB), ",{"type":48,"tag":114,"props":5289,"children":5291},{"className":5290},[],[5292],{"type":62,"value":1270},{"type":48,"tag":737,"props":5294,"children":5295},{},[5296,5304,5313,5322],{"type":48,"tag":759,"props":5297,"children":5298},{},[5299],{"type":48,"tag":114,"props":5300,"children":5302},{"className":5301},[],[5303],{"type":62,"value":2087},{"type":48,"tag":759,"props":5305,"children":5306},{},[5307],{"type":48,"tag":114,"props":5308,"children":5310},{"className":5309},[],[5311],{"type":62,"value":5312},"LogLevel",{"type":48,"tag":759,"props":5314,"children":5315},{},[5316],{"type":48,"tag":114,"props":5317,"children":5319},{"className":5318},[],[5320],{"type":62,"value":5321},"Information",{"type":48,"tag":759,"props":5323,"children":5324},{},[5325],{"type":62,"value":5326},"Min log level for breadcrumbs",{"type":48,"tag":737,"props":5328,"children":5329},{},[5330,5338,5346,5354],{"type":48,"tag":759,"props":5331,"children":5332},{},[5333],{"type":48,"tag":114,"props":5334,"children":5336},{"className":5335},[],[5337],{"type":62,"value":2124},{"type":48,"tag":759,"props":5339,"children":5340},{},[5341],{"type":48,"tag":114,"props":5342,"children":5344},{"className":5343},[],[5345],{"type":62,"value":5312},{"type":48,"tag":759,"props":5347,"children":5348},{},[5349],{"type":48,"tag":114,"props":5350,"children":5352},{"className":5351},[],[5353],{"type":62,"value":4354},{"type":48,"tag":759,"props":5355,"children":5356},{},[5357],{"type":62,"value":5358},"Min log level to send as Sentry event",{"type":48,"tag":737,"props":5360,"children":5361},{},[5362,5371,5379,5387],{"type":48,"tag":759,"props":5363,"children":5364},{},[5365],{"type":48,"tag":114,"props":5366,"children":5368},{"className":5367},[],[5369],{"type":62,"value":5370},"CaptureBlockingCalls",{"type":48,"tag":759,"props":5372,"children":5373},{},[5374],{"type":48,"tag":114,"props":5375,"children":5377},{"className":5376},[],[5378],{"type":62,"value":4275},{"type":48,"tag":759,"props":5380,"children":5381},{},[5382],{"type":48,"tag":114,"props":5383,"children":5385},{"className":5384},[],[5386],{"type":62,"value":4284},{"type":48,"tag":759,"props":5388,"children":5389},{},[5390,5392,5398,5399,5405],{"type":62,"value":5391},"Detect ",{"type":48,"tag":114,"props":5393,"children":5395},{"className":5394},[],[5396],{"type":62,"value":5397},".Wait()",{"type":62,"value":1090},{"type":48,"tag":114,"props":5400,"children":5402},{"className":5401},[],[5403],{"type":62,"value":5404},".Result",{"type":62,"value":5406}," threadpool starvation",{"type":48,"tag":737,"props":5408,"children":5409},{},[5410,5419,5427,5435],{"type":48,"tag":759,"props":5411,"children":5412},{},[5413],{"type":48,"tag":114,"props":5414,"children":5416},{"className":5415},[],[5417],{"type":62,"value":5418},"FlushOnCompletedRequest",{"type":48,"tag":759,"props":5420,"children":5421},{},[5422],{"type":48,"tag":114,"props":5423,"children":5425},{"className":5424},[],[5426],{"type":62,"value":4275},{"type":48,"tag":759,"props":5428,"children":5429},{},[5430],{"type":48,"tag":114,"props":5431,"children":5433},{"className":5432},[],[5434],{"type":62,"value":4284},{"type":48,"tag":759,"props":5436,"children":5437},{},[5438],{"type":48,"tag":182,"props":5439,"children":5440},{},[5441],{"type":62,"value":5442},"Required for Lambda \u002F serverless",{"type":48,"tag":737,"props":5444,"children":5445},{},[5446,5455,5463,5471],{"type":48,"tag":759,"props":5447,"children":5448},{},[5449],{"type":48,"tag":114,"props":5450,"children":5452},{"className":5451},[],[5453],{"type":62,"value":5454},"IncludeActivityData",{"type":48,"tag":759,"props":5456,"children":5457},{},[5458],{"type":48,"tag":114,"props":5459,"children":5461},{"className":5460},[],[5462],{"type":62,"value":4275},{"type":48,"tag":759,"props":5464,"children":5465},{},[5466],{"type":48,"tag":114,"props":5467,"children":5469},{"className":5468},[],[5470],{"type":62,"value":4284},{"type":48,"tag":759,"props":5472,"children":5473},{},[5474,5476,5482],{"type":62,"value":5475},"Capture ",{"type":48,"tag":114,"props":5477,"children":5479},{"className":5478},[],[5480],{"type":62,"value":5481},"System.Diagnostics.Activity",{"type":62,"value":5483}," values",{"type":48,"tag":1367,"props":5485,"children":5487},{"id":5486},"maui-extended-options-sentrymauioptions",[5488,5490,5496],{"type":62,"value":5489},"MAUI Extended Options (",{"type":48,"tag":114,"props":5491,"children":5493},{"className":5492},[],[5494],{"type":62,"value":5495},"SentryMauiOptions",{"type":62,"value":5205},{"type":48,"tag":729,"props":5498,"children":5499},{},[5500,5522],{"type":48,"tag":733,"props":5501,"children":5502},{},[5503],{"type":48,"tag":737,"props":5504,"children":5505},{},[5506,5510,5514,5518],{"type":48,"tag":741,"props":5507,"children":5508},{},[5509],{"type":62,"value":4193},{"type":48,"tag":741,"props":5511,"children":5512},{},[5513],{"type":62,"value":4198},{"type":48,"tag":741,"props":5515,"children":5516},{},[5517],{"type":62,"value":4203},{"type":48,"tag":741,"props":5519,"children":5520},{},[5521],{"type":62,"value":4213},{"type":48,"tag":752,"props":5523,"children":5524},{},[5525,5580,5627],{"type":48,"tag":737,"props":5526,"children":5527},{},[5528,5537,5545,5553],{"type":48,"tag":759,"props":5529,"children":5530},{},[5531],{"type":48,"tag":114,"props":5532,"children":5534},{"className":5533},[],[5535],{"type":62,"value":5536},"IncludeTextInBreadcrumbs",{"type":48,"tag":759,"props":5538,"children":5539},{},[5540],{"type":48,"tag":114,"props":5541,"children":5543},{"className":5542},[],[5544],{"type":62,"value":4275},{"type":48,"tag":759,"props":5546,"children":5547},{},[5548],{"type":48,"tag":114,"props":5549,"children":5551},{"className":5550},[],[5552],{"type":62,"value":4284},{"type":48,"tag":759,"props":5554,"children":5555},{},[5556,5558,5564,5565,5571,5572,5578],{"type":62,"value":5557},"Text from ",{"type":48,"tag":114,"props":5559,"children":5561},{"className":5560},[],[5562],{"type":62,"value":5563},"Button",{"type":62,"value":121},{"type":48,"tag":114,"props":5566,"children":5568},{"className":5567},[],[5569],{"type":62,"value":5570},"Label",{"type":62,"value":121},{"type":48,"tag":114,"props":5573,"children":5575},{"className":5574},[],[5576],{"type":62,"value":5577},"Entry",{"type":62,"value":5579}," elements. ⚠️ PII risk.",{"type":48,"tag":737,"props":5581,"children":5582},{},[5583,5592,5600,5608],{"type":48,"tag":759,"props":5584,"children":5585},{},[5586],{"type":48,"tag":114,"props":5587,"children":5589},{"className":5588},[],[5590],{"type":62,"value":5591},"IncludeTitleInBreadcrumbs",{"type":48,"tag":759,"props":5593,"children":5594},{},[5595],{"type":48,"tag":114,"props":5596,"children":5598},{"className":5597},[],[5599],{"type":62,"value":4275},{"type":48,"tag":759,"props":5601,"children":5602},{},[5603],{"type":48,"tag":114,"props":5604,"children":5606},{"className":5605},[],[5607],{"type":62,"value":4284},{"type":48,"tag":759,"props":5609,"children":5610},{},[5611,5613,5619,5620,5626],{"type":62,"value":5612},"Titles from ",{"type":48,"tag":114,"props":5614,"children":5616},{"className":5615},[],[5617],{"type":62,"value":5618},"Window",{"type":62,"value":121},{"type":48,"tag":114,"props":5621,"children":5623},{"className":5622},[],[5624],{"type":62,"value":5625},"Page",{"type":62,"value":5579},{"type":48,"tag":737,"props":5628,"children":5629},{},[5630,5639,5647,5655],{"type":48,"tag":759,"props":5631,"children":5632},{},[5633],{"type":48,"tag":114,"props":5634,"children":5636},{"className":5635},[],[5637],{"type":62,"value":5638},"IncludeBackgroundingStateInBreadcrumbs",{"type":48,"tag":759,"props":5640,"children":5641},{},[5642],{"type":48,"tag":114,"props":5643,"children":5645},{"className":5644},[],[5646],{"type":62,"value":4275},{"type":48,"tag":759,"props":5648,"children":5649},{},[5650],{"type":48,"tag":114,"props":5651,"children":5653},{"className":5652},[],[5654],{"type":62,"value":4284},{"type":48,"tag":759,"props":5656,"children":5657},{},[5658,5664],{"type":48,"tag":114,"props":5659,"children":5661},{"className":5660},[],[5662],{"type":62,"value":5663},"Window.Backgrounding",{"type":62,"value":5665}," event state. ⚠️ PII risk.",{"type":48,"tag":1367,"props":5667,"children":5669},{"id":5668},"environment-variables",[5670],{"type":62,"value":5671},"Environment Variables",{"type":48,"tag":729,"props":5673,"children":5674},{},[5675,5691],{"type":48,"tag":733,"props":5676,"children":5677},{},[5678],{"type":48,"tag":737,"props":5679,"children":5680},{},[5681,5686],{"type":48,"tag":741,"props":5682,"children":5683},{},[5684],{"type":62,"value":5685},"Variable",{"type":48,"tag":741,"props":5687,"children":5688},{},[5689],{"type":62,"value":5690},"Purpose",{"type":48,"tag":752,"props":5692,"children":5693},{},[5694,5710,5733,5749],{"type":48,"tag":737,"props":5695,"children":5696},{},[5697,5705],{"type":48,"tag":759,"props":5698,"children":5699},{},[5700],{"type":48,"tag":114,"props":5701,"children":5703},{"className":5702},[],[5704],{"type":62,"value":4250},{"type":48,"tag":759,"props":5706,"children":5707},{},[5708],{"type":62,"value":5709},"Project DSN",{"type":48,"tag":737,"props":5711,"children":5712},{},[5713,5721],{"type":48,"tag":759,"props":5714,"children":5715},{},[5716],{"type":48,"tag":114,"props":5717,"children":5719},{"className":5718},[],[5720],{"type":62,"value":4394},{"type":48,"tag":759,"props":5722,"children":5723},{},[5724,5726,5732],{"type":62,"value":5725},"App version (e.g. ",{"type":48,"tag":114,"props":5727,"children":5729},{"className":5728},[],[5730],{"type":62,"value":5731},"my-app@1.2.3",{"type":62,"value":5205},{"type":48,"tag":737,"props":5734,"children":5735},{},[5736,5744],{"type":48,"tag":759,"props":5737,"children":5738},{},[5739],{"type":48,"tag":114,"props":5740,"children":5742},{"className":5741},[],[5743],{"type":62,"value":4436},{"type":48,"tag":759,"props":5745,"children":5746},{},[5747],{"type":62,"value":5748},"Deployment environment name",{"type":48,"tag":737,"props":5750,"children":5751},{},[5752,5760],{"type":48,"tag":759,"props":5753,"children":5754},{},[5755],{"type":48,"tag":114,"props":5756,"children":5758},{"className":5757},[],[5759],{"type":62,"value":3915},{"type":48,"tag":759,"props":5761,"children":5762},{},[5763,5765,5771],{"type":62,"value":5764},"MSBuild \u002F ",{"type":48,"tag":114,"props":5766,"children":5768},{"className":5767},[],[5769],{"type":62,"value":5770},"sentry-cli",{"type":62,"value":5772}," symbol upload auth token",{"type":48,"tag":53,"props":5774,"children":5775},{},[5776,5781,5783,5789],{"type":48,"tag":182,"props":5777,"children":5778},{},[5779],{"type":62,"value":5780},"ASP.NET Core:",{"type":62,"value":5782}," use double underscore ",{"type":48,"tag":114,"props":5784,"children":5786},{"className":5785},[],[5787],{"type":62,"value":5788},"__",{"type":62,"value":5790}," as hierarchy separator:",{"type":48,"tag":222,"props":5792,"children":5794},{"className":224,"code":5793,"language":226,"meta":227,"style":227},"export Sentry__Dsn=\"https:\u002F\u002F...\"\nexport Sentry__TracesSampleRate=\"0.1\"\n",[5795],{"type":48,"tag":114,"props":5796,"children":5797},{"__ignoreMap":227},[5798,5826],{"type":48,"tag":233,"props":5799,"children":5800},{"class":235,"line":236},[5801,5805,5809,5813,5817,5822],{"type":48,"tag":233,"props":5802,"children":5803},{"style":1959},[5804],{"type":62,"value":2333},{"type":48,"tag":233,"props":5806,"children":5807},{"style":2336},[5808],{"type":62,"value":2339},{"type":48,"tag":233,"props":5810,"children":5811},{"style":267},[5812],{"type":62,"value":2344},{"type":48,"tag":233,"props":5814,"children":5815},{"style":267},[5816],{"type":62,"value":280},{"type":48,"tag":233,"props":5818,"children":5819},{"style":256},[5820],{"type":62,"value":5821},"https:\u002F\u002F...",{"type":48,"tag":233,"props":5823,"children":5824},{"style":267},[5825],{"type":62,"value":446},{"type":48,"tag":233,"props":5827,"children":5828},{"class":235,"line":246},[5829,5833,5837,5841,5845,5849],{"type":48,"tag":233,"props":5830,"children":5831},{"style":1959},[5832],{"type":62,"value":2333},{"type":48,"tag":233,"props":5834,"children":5835},{"style":2336},[5836],{"type":62,"value":2369},{"type":48,"tag":233,"props":5838,"children":5839},{"style":267},[5840],{"type":62,"value":2344},{"type":48,"tag":233,"props":5842,"children":5843},{"style":267},[5844],{"type":62,"value":280},{"type":48,"tag":233,"props":5846,"children":5847},{"style":256},[5848],{"type":62,"value":2382},{"type":48,"tag":233,"props":5850,"children":5851},{"style":267},[5852],{"type":62,"value":446},{"type":48,"tag":1367,"props":5854,"children":5856},{"id":5855},"msbuild-symbol-upload-properties",[5857],{"type":62,"value":5858},"MSBuild Symbol Upload Properties",{"type":48,"tag":729,"props":5860,"children":5861},{},[5862,5886],{"type":48,"tag":733,"props":5863,"children":5864},{},[5865],{"type":48,"tag":737,"props":5866,"children":5867},{},[5868,5873,5877,5881],{"type":48,"tag":741,"props":5869,"children":5870},{},[5871],{"type":62,"value":5872},"Property",{"type":48,"tag":741,"props":5874,"children":5875},{},[5876],{"type":62,"value":4198},{"type":48,"tag":741,"props":5878,"children":5879},{},[5880],{"type":62,"value":4203},{"type":48,"tag":741,"props":5882,"children":5883},{},[5884],{"type":62,"value":5885},"Description",{"type":48,"tag":752,"props":5887,"children":5888},{},[5889,5918,5947,5980,6013,6045,6077],{"type":48,"tag":737,"props":5890,"children":5891},{},[5892,5901,5909,5913],{"type":48,"tag":759,"props":5893,"children":5894},{},[5895],{"type":48,"tag":114,"props":5896,"children":5898},{"className":5897},[],[5899],{"type":62,"value":5900},"SentryOrg",{"type":48,"tag":759,"props":5902,"children":5903},{},[5904],{"type":48,"tag":114,"props":5905,"children":5907},{"className":5906},[],[5908],{"type":62,"value":4236},{"type":48,"tag":759,"props":5910,"children":5911},{},[5912],{"type":62,"value":4241},{"type":48,"tag":759,"props":5914,"children":5915},{},[5916],{"type":62,"value":5917},"Sentry organization slug",{"type":48,"tag":737,"props":5919,"children":5920},{},[5921,5930,5938,5942],{"type":48,"tag":759,"props":5922,"children":5923},{},[5924],{"type":48,"tag":114,"props":5925,"children":5927},{"className":5926},[],[5928],{"type":62,"value":5929},"SentryProject",{"type":48,"tag":759,"props":5931,"children":5932},{},[5933],{"type":48,"tag":114,"props":5934,"children":5936},{"className":5935},[],[5937],{"type":62,"value":4236},{"type":48,"tag":759,"props":5939,"children":5940},{},[5941],{"type":62,"value":4241},{"type":48,"tag":759,"props":5943,"children":5944},{},[5945],{"type":62,"value":5946},"Sentry project slug",{"type":48,"tag":737,"props":5948,"children":5949},{},[5950,5959,5967,5975],{"type":48,"tag":759,"props":5951,"children":5952},{},[5953],{"type":48,"tag":114,"props":5954,"children":5956},{"className":5955},[],[5957],{"type":62,"value":5958},"SentryUploadSymbols",{"type":48,"tag":759,"props":5960,"children":5961},{},[5962],{"type":48,"tag":114,"props":5963,"children":5965},{"className":5964},[],[5966],{"type":62,"value":4275},{"type":48,"tag":759,"props":5968,"children":5969},{},[5970],{"type":48,"tag":114,"props":5971,"children":5973},{"className":5972},[],[5974],{"type":62,"value":4284},{"type":48,"tag":759,"props":5976,"children":5977},{},[5978],{"type":62,"value":5979},"Upload PDB files for line numbers in stack traces",{"type":48,"tag":737,"props":5981,"children":5982},{},[5983,5992,6000,6008],{"type":48,"tag":759,"props":5984,"children":5985},{},[5986],{"type":48,"tag":114,"props":5987,"children":5989},{"className":5988},[],[5990],{"type":62,"value":5991},"SentryUploadSources",{"type":48,"tag":759,"props":5993,"children":5994},{},[5995],{"type":48,"tag":114,"props":5996,"children":5998},{"className":5997},[],[5999],{"type":62,"value":4275},{"type":48,"tag":759,"props":6001,"children":6002},{},[6003],{"type":48,"tag":114,"props":6004,"children":6006},{"className":6005},[],[6007],{"type":62,"value":4284},{"type":48,"tag":759,"props":6009,"children":6010},{},[6011],{"type":62,"value":6012},"Upload source files for source context",{"type":48,"tag":737,"props":6014,"children":6015},{},[6016,6024,6032,6040],{"type":48,"tag":759,"props":6017,"children":6018},{},[6019],{"type":48,"tag":114,"props":6020,"children":6022},{"className":6021},[],[6023],{"type":62,"value":3935},{"type":48,"tag":759,"props":6025,"children":6026},{},[6027],{"type":48,"tag":114,"props":6028,"children":6030},{"className":6029},[],[6031],{"type":62,"value":4275},{"type":48,"tag":759,"props":6033,"children":6034},{},[6035],{"type":48,"tag":114,"props":6036,"children":6038},{"className":6037},[],[6039],{"type":62,"value":4284},{"type":48,"tag":759,"props":6041,"children":6042},{},[6043],{"type":62,"value":6044},"Auto-create a Sentry release during build",{"type":48,"tag":737,"props":6046,"children":6047},{},[6048,6056,6064,6072],{"type":48,"tag":759,"props":6049,"children":6050},{},[6051],{"type":48,"tag":114,"props":6052,"children":6054},{"className":6053},[],[6055],{"type":62,"value":3942},{"type":48,"tag":759,"props":6057,"children":6058},{},[6059],{"type":48,"tag":114,"props":6060,"children":6062},{"className":6061},[],[6063],{"type":62,"value":4275},{"type":48,"tag":759,"props":6065,"children":6066},{},[6067],{"type":48,"tag":114,"props":6068,"children":6070},{"className":6069},[],[6071],{"type":62,"value":4284},{"type":48,"tag":759,"props":6073,"children":6074},{},[6075],{"type":62,"value":6076},"Associate git commits with the release",{"type":48,"tag":737,"props":6078,"children":6079},{},[6080,6089,6097,6101],{"type":48,"tag":759,"props":6081,"children":6082},{},[6083],{"type":48,"tag":114,"props":6084,"children":6086},{"className":6085},[],[6087],{"type":62,"value":6088},"SentryUrl",{"type":48,"tag":759,"props":6090,"children":6091},{},[6092],{"type":48,"tag":114,"props":6093,"children":6095},{"className":6094},[],[6096],{"type":62,"value":4236},{"type":48,"tag":759,"props":6098,"children":6099},{},[6100],{"type":62,"value":4241},{"type":48,"tag":759,"props":6102,"children":6103},{},[6104],{"type":62,"value":6105},"Self-hosted Sentry URL",{"type":48,"tag":207,"props":6107,"children":6108},{},[],{"type":48,"tag":87,"props":6110,"children":6112},{"id":6111},"verification",[6113],{"type":62,"value":1414},{"type":48,"tag":53,"props":6115,"children":6116},{},[6117],{"type":62,"value":6118},"After wizard or manual setup, add a test throw and remove it after verifying:",{"type":48,"tag":222,"props":6120,"children":6122},{"className":1746,"code":6121,"language":1748,"meta":227,"style":227},"\u002F\u002F ASP.NET Core: add a temporary endpoint\napp.MapGet(\"\u002Fsentry-test\", () =>\n{\n    throw new Exception(\"Sentry test error — delete me\");\n});\n\n\u002F\u002F Or capture explicitly anywhere\nSentrySdk.CaptureException(new Exception(\"Sentry test error — delete me\"));\n",[6123],{"type":48,"tag":114,"props":6124,"children":6125},{"__ignoreMap":227},[6126,6134,6142,6149,6157,6164,6171,6179],{"type":48,"tag":233,"props":6127,"children":6128},{"class":235,"line":236},[6129],{"type":48,"tag":233,"props":6130,"children":6131},{},[6132],{"type":62,"value":6133},"\u002F\u002F ASP.NET Core: add a temporary endpoint\n",{"type":48,"tag":233,"props":6135,"children":6136},{"class":235,"line":246},[6137],{"type":48,"tag":233,"props":6138,"children":6139},{},[6140],{"type":62,"value":6141},"app.MapGet(\"\u002Fsentry-test\", () =>\n",{"type":48,"tag":233,"props":6143,"children":6144},{"class":235,"line":298},[6145],{"type":48,"tag":233,"props":6146,"children":6147},{},[6148],{"type":62,"value":1783},{"type":48,"tag":233,"props":6150,"children":6151},{"class":235,"line":307},[6152],{"type":48,"tag":233,"props":6153,"children":6154},{},[6155],{"type":62,"value":6156},"    throw new Exception(\"Sentry test error — delete me\");\n",{"type":48,"tag":233,"props":6158,"children":6159},{"class":235,"line":316},[6160],{"type":48,"tag":233,"props":6161,"children":6162},{},[6163],{"type":62,"value":1895},{"type":48,"tag":233,"props":6165,"children":6166},{"class":235,"line":365},[6167],{"type":48,"tag":233,"props":6168,"children":6169},{"emptyLinePlaceholder":43},[6170],{"type":62,"value":304},{"type":48,"tag":233,"props":6172,"children":6173},{"class":235,"line":373},[6174],{"type":48,"tag":233,"props":6175,"children":6176},{},[6177],{"type":62,"value":6178},"\u002F\u002F Or capture explicitly anywhere\n",{"type":48,"tag":233,"props":6180,"children":6181},{"class":235,"line":382},[6182],{"type":48,"tag":233,"props":6183,"children":6184},{},[6185],{"type":62,"value":6186},"SentrySdk.CaptureException(new Exception(\"Sentry test error — delete me\"));\n",{"type":48,"tag":53,"props":6188,"children":6189},{},[6190,6192,6199],{"type":62,"value":6191},"Then check your ",{"type":48,"tag":57,"props":6193,"children":6196},{"href":6194,"rel":6195},"https:\u002F\u002Fsentry.io\u002Fissues\u002F",[200],[6197],{"type":62,"value":6198},"Sentry Issues dashboard",{"type":62,"value":6200}," — the error should appear within ~30 seconds.",{"type":48,"tag":53,"props":6202,"children":6203},{},[6204],{"type":48,"tag":182,"props":6205,"children":6206},{},[6207],{"type":62,"value":6208},"Verification checklist:",{"type":48,"tag":729,"props":6210,"children":6211},{},[6212,6228],{"type":48,"tag":733,"props":6213,"children":6214},{},[6215],{"type":48,"tag":737,"props":6216,"children":6217},{},[6218,6223],{"type":48,"tag":741,"props":6219,"children":6220},{},[6221],{"type":62,"value":6222},"Check",{"type":48,"tag":741,"props":6224,"children":6225},{},[6226],{"type":62,"value":6227},"How",{"type":48,"tag":752,"props":6229,"children":6230},{},[6231,6244,6257,6270,6291],{"type":48,"tag":737,"props":6232,"children":6233},{},[6234,6239],{"type":48,"tag":759,"props":6235,"children":6236},{},[6237],{"type":62,"value":6238},"Exceptions captured",{"type":48,"tag":759,"props":6240,"children":6241},{},[6242],{"type":62,"value":6243},"Throw a test exception, verify in Sentry Issues",{"type":48,"tag":737,"props":6245,"children":6246},{},[6247,6252],{"type":48,"tag":759,"props":6248,"children":6249},{},[6250],{"type":62,"value":6251},"Stack traces readable",{"type":48,"tag":759,"props":6253,"children":6254},{},[6255],{"type":62,"value":6256},"Check that file names and line numbers appear",{"type":48,"tag":737,"props":6258,"children":6259},{},[6260,6265],{"type":48,"tag":759,"props":6261,"children":6262},{},[6263],{"type":62,"value":6264},"Tracing active",{"type":48,"tag":759,"props":6266,"children":6267},{},[6268],{"type":62,"value":6269},"Check Performance tab for transactions",{"type":48,"tag":737,"props":6271,"children":6272},{},[6273,6278],{"type":48,"tag":759,"props":6274,"children":6275},{},[6276],{"type":62,"value":6277},"Logging wired",{"type":48,"tag":759,"props":6279,"children":6280},{},[6281,6283,6289],{"type":62,"value":6282},"Log an error via ",{"type":48,"tag":114,"props":6284,"children":6286},{"className":6285},[],[6287],{"type":62,"value":6288},"ILogger",{"type":62,"value":6290},", check it appears as Sentry breadcrumb",{"type":48,"tag":737,"props":6292,"children":6293},{},[6294,6299],{"type":48,"tag":759,"props":6295,"children":6296},{},[6297],{"type":62,"value":6298},"Symbol upload working",{"type":48,"tag":759,"props":6300,"children":6301},{},[6302,6304,6310,6312],{"type":62,"value":6303},"Stack trace shows ",{"type":48,"tag":114,"props":6305,"children":6307},{"className":6306},[],[6308],{"type":62,"value":6309},"Controllers\u002FHomeController.cs:42",{"type":62,"value":6311}," not ",{"type":48,"tag":114,"props":6313,"children":6315},{"className":6314},[],[6316],{"type":62,"value":6317},"\u003Cunknown>",{"type":48,"tag":207,"props":6319,"children":6320},{},[],{"type":48,"tag":87,"props":6322,"children":6324},{"id":6323},"phase-4-cross-link",[6325],{"type":62,"value":6326},"Phase 4: Cross-Link",{"type":48,"tag":53,"props":6328,"children":6329},{},[6330],{"type":62,"value":6331},"After completing .NET setup, check for companion frontend projects:",{"type":48,"tag":222,"props":6333,"children":6335},{"className":224,"code":6334,"language":226,"meta":227,"style":227},"# Check for frontend in adjacent directories\nls ..\u002Ffrontend ..\u002Fclient ..\u002Fweb ..\u002Fapp 2>\u002Fdev\u002Fnull\n\n# Check for JavaScript framework indicators\ncat ..\u002Fpackage.json 2>\u002Fdev\u002Fnull | grep -E '\"next\"|\"react\"|\"vue\"|\"nuxt\"' | head -3\n",[6336],{"type":48,"tag":114,"props":6337,"children":6338},{"__ignoreMap":227},[6339,6347,6379,6386,6394],{"type":48,"tag":233,"props":6340,"children":6341},{"class":235,"line":236},[6342],{"type":48,"tag":233,"props":6343,"children":6344},{"style":240},[6345],{"type":62,"value":6346},"# Check for frontend in adjacent directories\n",{"type":48,"tag":233,"props":6348,"children":6349},{"class":235,"line":246},[6350,6354,6358,6362,6366,6371,6375],{"type":48,"tag":233,"props":6351,"children":6352},{"style":250},[6353],{"type":62,"value":472},{"type":48,"tag":233,"props":6355,"children":6356},{"style":256},[6357],{"type":62,"value":637},{"type":48,"tag":233,"props":6359,"children":6360},{"style":256},[6361],{"type":62,"value":642},{"type":48,"tag":233,"props":6363,"children":6364},{"style":256},[6365],{"type":62,"value":647},{"type":48,"tag":233,"props":6367,"children":6368},{"style":256},[6369],{"type":62,"value":6370}," ..\u002Fapp",{"type":48,"tag":233,"props":6372,"children":6373},{"style":267},[6374],{"type":62,"value":497},{"type":48,"tag":233,"props":6376,"children":6377},{"style":256},[6378],{"type":62,"value":502},{"type":48,"tag":233,"props":6380,"children":6381},{"class":235,"line":298},[6382],{"type":48,"tag":233,"props":6383,"children":6384},{"emptyLinePlaceholder":43},[6385],{"type":62,"value":304},{"type":48,"tag":233,"props":6387,"children":6388},{"class":235,"line":307},[6389],{"type":48,"tag":233,"props":6390,"children":6391},{"style":240},[6392],{"type":62,"value":6393},"# Check for JavaScript framework indicators\n",{"type":48,"tag":233,"props":6395,"children":6396},{"class":235,"line":316},[6397,6401,6405,6409,6413,6417,6421,6425,6429,6434,6438,6442,6446],{"type":48,"tag":233,"props":6398,"children":6399},{"style":250},[6400],{"type":62,"value":664},{"type":48,"tag":233,"props":6402,"children":6403},{"style":256},[6404],{"type":62,"value":669},{"type":48,"tag":233,"props":6406,"children":6407},{"style":267},[6408],{"type":62,"value":497},{"type":48,"tag":233,"props":6410,"children":6411},{"style":256},[6412],{"type":62,"value":678},{"type":48,"tag":233,"props":6414,"children":6415},{"style":267},[6416],{"type":62,"value":285},{"type":48,"tag":233,"props":6418,"children":6419},{"style":250},[6420],{"type":62,"value":432},{"type":48,"tag":233,"props":6422,"children":6423},{"style":256},[6424],{"type":62,"value":691},{"type":48,"tag":233,"props":6426,"children":6427},{"style":267},[6428],{"type":62,"value":696},{"type":48,"tag":233,"props":6430,"children":6431},{"style":256},[6432],{"type":62,"value":6433},"\"next\"|\"react\"|\"vue\"|\"nuxt\"",{"type":48,"tag":233,"props":6435,"children":6436},{"style":267},[6437],{"type":62,"value":706},{"type":48,"tag":233,"props":6439,"children":6440},{"style":267},[6441],{"type":62,"value":285},{"type":48,"tag":233,"props":6443,"children":6444},{"style":250},[6445],{"type":62,"value":290},{"type":48,"tag":233,"props":6447,"children":6448},{"style":256},[6449],{"type":62,"value":719},{"type":48,"tag":53,"props":6451,"children":6452},{},[6453],{"type":62,"value":6454},"If a frontend is found, suggest the matching SDK skill:",{"type":48,"tag":729,"props":6456,"children":6457},{},[6458,6474],{"type":48,"tag":733,"props":6459,"children":6460},{},[6461],{"type":48,"tag":737,"props":6462,"children":6463},{},[6464,6469],{"type":48,"tag":741,"props":6465,"children":6466},{},[6467],{"type":62,"value":6468},"Frontend detected",{"type":48,"tag":741,"props":6470,"children":6471},{},[6472],{"type":62,"value":6473},"Suggest skill",{"type":48,"tag":752,"props":6475,"children":6476},{},[6477,6508,6548,6573],{"type":48,"tag":737,"props":6478,"children":6479},{},[6480,6499],{"type":48,"tag":759,"props":6481,"children":6482},{},[6483,6485,6491,6492,6498],{"type":62,"value":6484},"Next.js (",{"type":48,"tag":114,"props":6486,"children":6488},{"className":6487},[],[6489],{"type":62,"value":6490},"\"next\"",{"type":62,"value":990},{"type":48,"tag":114,"props":6493,"children":6495},{"className":6494},[],[6496],{"type":62,"value":6497},"package.json",{"type":62,"value":5205},{"type":48,"tag":759,"props":6500,"children":6501},{},[6502],{"type":48,"tag":114,"props":6503,"children":6505},{"className":6504},[],[6506],{"type":62,"value":6507},"sentry-nextjs-sdk",{"type":48,"tag":737,"props":6509,"children":6510},{},[6511,6530],{"type":48,"tag":759,"props":6512,"children":6513},{},[6514,6516,6522,6524,6529],{"type":62,"value":6515},"React SPA (",{"type":48,"tag":114,"props":6517,"children":6519},{"className":6518},[],[6520],{"type":62,"value":6521},"\"react\"",{"type":62,"value":6523}," without ",{"type":48,"tag":114,"props":6525,"children":6527},{"className":6526},[],[6528],{"type":62,"value":6490},{"type":62,"value":5205},{"type":48,"tag":759,"props":6531,"children":6532},{},[6533,6539,6541],{"type":48,"tag":114,"props":6534,"children":6536},{"className":6535},[],[6537],{"type":62,"value":6538},"@sentry\u002Freact",{"type":62,"value":6540}," — see ",{"type":48,"tag":57,"props":6542,"children":6545},{"href":6543,"rel":6544},"https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Freact\u002F",[200],[6546],{"type":62,"value":6547},"docs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Freact\u002F",{"type":48,"tag":737,"props":6549,"children":6550},{},[6551,6556],{"type":48,"tag":759,"props":6552,"children":6553},{},[6554],{"type":62,"value":6555},"Vue.js",{"type":48,"tag":759,"props":6557,"children":6558},{},[6559,6565,6566],{"type":48,"tag":114,"props":6560,"children":6562},{"className":6561},[],[6563],{"type":62,"value":6564},"@sentry\u002Fvue",{"type":62,"value":6540},{"type":48,"tag":57,"props":6567,"children":6570},{"href":6568,"rel":6569},"https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fvue\u002F",[200],[6571],{"type":62,"value":6572},"docs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fvue\u002F",{"type":48,"tag":737,"props":6574,"children":6575},{},[6576,6581],{"type":48,"tag":759,"props":6577,"children":6578},{},[6579],{"type":62,"value":6580},"Nuxt",{"type":48,"tag":759,"props":6582,"children":6583},{},[6584,6590,6591],{"type":48,"tag":114,"props":6585,"children":6587},{"className":6586},[],[6588],{"type":62,"value":6589},"@sentry\u002Fnuxt",{"type":62,"value":6540},{"type":48,"tag":57,"props":6592,"children":6595},{"href":6593,"rel":6594},"https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnuxt\u002F",[200],[6596],{"type":62,"value":6597},"docs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnuxt\u002F",{"type":48,"tag":53,"props":6599,"children":6600},{},[6601,6603,6608],{"type":62,"value":6602},"Connecting frontend and backend with the same Sentry project enables ",{"type":48,"tag":182,"props":6604,"children":6605},{},[6606],{"type":62,"value":6607},"distributed tracing",{"type":62,"value":6609}," — a single trace view spanning browser, .NET server, and any downstream APIs.",{"type":48,"tag":207,"props":6611,"children":6612},{},[],{"type":48,"tag":87,"props":6614,"children":6616},{"id":6615},"troubleshooting",[6617],{"type":62,"value":6618},"Troubleshooting",{"type":48,"tag":729,"props":6620,"children":6621},{},[6622,6643],{"type":48,"tag":733,"props":6623,"children":6624},{},[6625],{"type":48,"tag":737,"props":6626,"children":6627},{},[6628,6633,6638],{"type":48,"tag":741,"props":6629,"children":6630},{},[6631],{"type":62,"value":6632},"Issue",{"type":48,"tag":741,"props":6634,"children":6635},{},[6636],{"type":62,"value":6637},"Cause",{"type":48,"tag":741,"props":6639,"children":6640},{},[6641],{"type":62,"value":6642},"Solution",{"type":48,"tag":752,"props":6644,"children":6645},{},[6646,6672,6713,6748,6771,6810,6833,6870,6909,6947],{"type":48,"tag":737,"props":6647,"children":6648},{},[6649,6654,6659],{"type":48,"tag":759,"props":6650,"children":6651},{},[6652],{"type":62,"value":6653},"Events not appearing",{"type":48,"tag":759,"props":6655,"children":6656},{},[6657],{"type":62,"value":6658},"DSN misconfigured",{"type":48,"tag":759,"props":6660,"children":6661},{},[6662,6664,6670],{"type":62,"value":6663},"Set ",{"type":48,"tag":114,"props":6665,"children":6667},{"className":6666},[],[6668],{"type":62,"value":6669},"Debug = true",{"type":62,"value":6671}," and check console output for SDK diagnostic messages",{"type":48,"tag":737,"props":6673,"children":6674},{},[6675,6680,6685],{"type":48,"tag":759,"props":6676,"children":6677},{},[6678],{"type":62,"value":6679},"Stack traces show no file\u002Fline",{"type":48,"tag":759,"props":6681,"children":6682},{},[6683],{"type":62,"value":6684},"PDB files not uploaded",{"type":48,"tag":759,"props":6686,"children":6687},{},[6688,6690,6696,6698,6704,6706,6711],{"type":62,"value":6689},"Add ",{"type":48,"tag":114,"props":6691,"children":6693},{"className":6692},[],[6694],{"type":62,"value":6695},"SentryUploadSymbols=true",{"type":62,"value":6697}," to ",{"type":48,"tag":114,"props":6699,"children":6701},{"className":6700},[],[6702],{"type":62,"value":6703},".csproj",{"type":62,"value":6705},"; set ",{"type":48,"tag":114,"props":6707,"children":6709},{"className":6708},[],[6710],{"type":62,"value":3915},{"type":62,"value":6712}," in CI",{"type":48,"tag":737,"props":6714,"children":6715},{},[6716,6721,6731],{"type":48,"tag":759,"props":6717,"children":6718},{},[6719],{"type":62,"value":6720},"WPF\u002FWinForms exceptions missing",{"type":48,"tag":759,"props":6722,"children":6723},{},[6724,6729],{"type":48,"tag":114,"props":6725,"children":6727},{"className":6726},[],[6728],{"type":62,"value":840},{"type":62,"value":6730}," not set",{"type":48,"tag":759,"props":6732,"children":6733},{},[6734,6735,6741,6742],{"type":62,"value":6663},{"type":48,"tag":114,"props":6736,"children":6738},{"className":6737},[],[6739],{"type":62,"value":6740},"options.IsGlobalModeEnabled = true",{"type":62,"value":990},{"type":48,"tag":114,"props":6743,"children":6745},{"className":6744},[],[6746],{"type":62,"value":6747},"SentrySdk.Init()",{"type":48,"tag":737,"props":6749,"children":6750},{},[6751,6756,6761],{"type":48,"tag":759,"props":6752,"children":6753},{},[6754],{"type":62,"value":6755},"Lambda\u002Fserverless events lost",{"type":48,"tag":759,"props":6757,"children":6758},{},[6759],{"type":62,"value":6760},"Container freezes before flush",{"type":48,"tag":759,"props":6762,"children":6763},{},[6764,6765],{"type":62,"value":6663},{"type":48,"tag":114,"props":6766,"children":6768},{"className":6767},[],[6769],{"type":62,"value":6770},"options.FlushOnCompletedRequest = true",{"type":48,"tag":737,"props":6772,"children":6773},{},[6774,6779,6790],{"type":48,"tag":759,"props":6775,"children":6776},{},[6777],{"type":62,"value":6778},"WPF UI-thread exceptions missing",{"type":48,"tag":759,"props":6780,"children":6781},{},[6782,6788],{"type":48,"tag":114,"props":6783,"children":6785},{"className":6784},[],[6786],{"type":62,"value":6787},"DispatcherUnhandledException",{"type":62,"value":6789}," not wired",{"type":48,"tag":759,"props":6791,"children":6792},{},[6793,6795,6801,6803,6809],{"type":62,"value":6794},"Register ",{"type":48,"tag":114,"props":6796,"children":6798},{"className":6797},[],[6799],{"type":62,"value":6800},"App.DispatcherUnhandledException",{"type":62,"value":6802}," in constructor (not ",{"type":48,"tag":114,"props":6804,"children":6806},{"className":6805},[],[6807],{"type":62,"value":6808},"OnStartup",{"type":62,"value":5205},{"type":48,"tag":737,"props":6811,"children":6812},{},[6813,6818,6823],{"type":48,"tag":759,"props":6814,"children":6815},{},[6816],{"type":62,"value":6817},"Duplicate HTTP spans in Azure Functions",{"type":48,"tag":759,"props":6819,"children":6820},{},[6821],{"type":62,"value":6822},"Both Sentry and OTel instrument HTTP",{"type":48,"tag":759,"props":6824,"children":6825},{},[6826,6827],{"type":62,"value":6663},{"type":48,"tag":114,"props":6828,"children":6830},{"className":6829},[],[6831],{"type":62,"value":6832},"options.DisableSentryHttpMessageHandler = true",{"type":48,"tag":737,"props":6834,"children":6835},{},[6836,6846,6858],{"type":48,"tag":759,"props":6837,"children":6838},{},[6839,6844],{"type":48,"tag":114,"props":6840,"children":6842},{"className":6841},[],[6843],{"type":62,"value":172},{"type":62,"value":6845}," has no effect",{"type":48,"tag":759,"props":6847,"children":6848},{},[6849,6851,6856],{"type":62,"value":6850},"Rate is ",{"type":48,"tag":114,"props":6852,"children":6854},{"className":6853},[],[6855],{"type":62,"value":4548},{"type":62,"value":6857}," (default)",{"type":48,"tag":759,"props":6859,"children":6860},{},[6861,6862,6868],{"type":62,"value":6663},{"type":48,"tag":114,"props":6863,"children":6865},{"className":6864},[],[6866],{"type":62,"value":6867},"TracesSampleRate > 0",{"type":62,"value":6869}," to enable tracing",{"type":48,"tag":737,"props":6871,"children":6872},{},[6873,6883,6888],{"type":48,"tag":759,"props":6874,"children":6875},{},[6876,6881],{"type":48,"tag":114,"props":6877,"children":6879},{"className":6878},[],[6880],{"type":62,"value":1930},{"type":62,"value":6882}," values ignored",{"type":48,"tag":759,"props":6884,"children":6885},{},[6886],{"type":62,"value":6887},"Config key format wrong",{"type":48,"tag":759,"props":6889,"children":6890},{},[6891,6893,6899,6901,6907],{"type":62,"value":6892},"Use flat key ",{"type":48,"tag":114,"props":6894,"children":6896},{"className":6895},[],[6897],{"type":62,"value":6898},"\"Sentry:Dsn\"",{"type":62,"value":6900}," or env var ",{"type":48,"tag":114,"props":6902,"children":6904},{"className":6903},[],[6905],{"type":62,"value":6906},"Sentry__Dsn",{"type":62,"value":6908}," (double underscore)",{"type":48,"tag":737,"props":6910,"children":6911},{},[6912,6922,6935],{"type":48,"tag":759,"props":6913,"children":6914},{},[6915,6920],{"type":48,"tag":114,"props":6916,"children":6918},{"className":6917},[],[6919],{"type":62,"value":165},{"type":62,"value":6921}," drops all events",{"type":48,"tag":759,"props":6923,"children":6924},{},[6925,6927,6933],{"type":62,"value":6926},"Hook returns ",{"type":48,"tag":114,"props":6928,"children":6930},{"className":6929},[],[6931],{"type":62,"value":6932},"null",{"type":62,"value":6934}," unconditionally",{"type":48,"tag":759,"props":6936,"children":6937},{},[6938,6940,6945],{"type":62,"value":6939},"Verify your filter logic; return ",{"type":48,"tag":114,"props":6941,"children":6943},{"className":6942},[],[6944],{"type":62,"value":6932},{"type":62,"value":6946}," only for events you want to drop",{"type":48,"tag":737,"props":6948,"children":6949},{},[6950,6955,6960],{"type":48,"tag":759,"props":6951,"children":6952},{},[6953],{"type":62,"value":6954},"MAUI native crashes not captured",{"type":48,"tag":759,"props":6956,"children":6957},{},[6958],{"type":62,"value":6959},"Wrong package",{"type":48,"tag":759,"props":6961,"children":6962},{},[6963,6965,6970,6972,6977],{"type":62,"value":6964},"Confirm ",{"type":48,"tag":114,"props":6966,"children":6968},{"className":6967},[],[6969],{"type":62,"value":142},{"type":62,"value":6971}," is installed (not just ",{"type":48,"tag":114,"props":6973,"children":6975},{"className":6974},[],[6976],{"type":62,"value":9},{"type":62,"value":5205},{"type":48,"tag":6979,"props":6980,"children":6981},"style",{},[6982],{"type":62,"value":6983},"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":6985,"total":7161},[6986,7009,7023,7038,7052,7069,7085,7099,7109,7120,7130,7148],{"slug":6987,"name":6987,"fn":6988,"description":6989,"org":6990,"tags":6991,"stars":7006,"repoUrl":7007,"updatedAt":7008},"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},[6992,6993,6996,6999,7000,7003],{"name":25,"slug":26,"type":16},{"name":6994,"slug":6995,"type":16},"iOS","ios",{"name":6997,"slug":6998,"type":16},"macOS","macos",{"name":9,"slug":8,"type":16},{"name":7001,"slug":7002,"type":16},"Testing","testing",{"name":7004,"slug":7005,"type":16},"Xcode","xcode",6176,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002FXcodeBuildMCP","2026-04-06T18:13:34.8719",{"slug":7010,"name":7010,"fn":7011,"description":7012,"org":7013,"tags":7014,"stars":7006,"repoUrl":7007,"updatedAt":7022},"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},[7015,7018,7019,7020,7021],{"name":7016,"slug":7017,"type":16},"CLI","cli",{"name":6994,"slug":6995,"type":16},{"name":6997,"slug":6998,"type":16},{"name":7001,"slug":7002,"type":16},{"name":7004,"slug":7005,"type":16},"2026-04-06T18:13:36.13414",{"slug":7024,"name":7024,"fn":7025,"description":7026,"org":7027,"tags":7028,"stars":7035,"repoUrl":7036,"updatedAt":7037},"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},[7029,7032],{"name":7030,"slug":7031,"type":16},"Documentation","documentation",{"name":7033,"slug":7034,"type":16},"Engineering","engineering",861,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskills","2026-05-15T06:16:29.695991",{"slug":7039,"name":7039,"fn":7040,"description":7041,"org":7042,"tags":7043,"stars":7035,"repoUrl":7036,"updatedAt":7051},"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},[7044,7047,7048],{"name":7045,"slug":7046,"type":16},"Communications","communications",{"name":9,"slug":8,"type":16},{"name":7049,"slug":7050,"type":16},"Technical Writing","technical-writing","2026-05-15T06:16:33.38217",{"slug":7053,"name":7053,"fn":7054,"description":7055,"org":7056,"tags":7057,"stars":7035,"repoUrl":7036,"updatedAt":7068},"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},[7058,7061,7064,7065],{"name":7059,"slug":7060,"type":16},"Branding","branding",{"name":7062,"slug":7063,"type":16},"Content Creation","content-creation",{"name":9,"slug":8,"type":16},{"name":7066,"slug":7067,"type":16},"UX Copy","ux-copy","2026-05-15T06:16:22.395707",{"slug":7070,"name":7070,"fn":7071,"description":7072,"org":7073,"tags":7074,"stars":7035,"repoUrl":7036,"updatedAt":7084},"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},[7075,7078,7081],{"name":7076,"slug":7077,"type":16},"Claude Code","claude-code",{"name":7079,"slug":7080,"type":16},"Configuration","configuration",{"name":7082,"slug":7083,"type":16},"Security","security","2026-05-15T06:16:44.335977",{"slug":7086,"name":7086,"fn":7087,"description":7088,"org":7089,"tags":7090,"stars":7035,"repoUrl":7036,"updatedAt":7098},"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},[7091,7093,7094,7097],{"name":7092,"slug":7086,"type":16},"Code Review",{"name":7033,"slug":7034,"type":16},{"name":7095,"slug":7096,"type":16},"Performance","performance",{"name":7082,"slug":7083,"type":16},"2026-05-15T06:16:35.824864",{"slug":7100,"name":7100,"fn":7101,"description":7102,"org":7103,"tags":7104,"stars":7035,"repoUrl":7036,"updatedAt":7108},"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},[7105],{"name":7106,"slug":7107,"type":16},"Code Analysis","code-analysis","2026-05-15T06:16:32.127981",{"slug":7110,"name":7110,"fn":7111,"description":7112,"org":7113,"tags":7114,"stars":7035,"repoUrl":7036,"updatedAt":7119},"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},[7115,7118],{"name":7116,"slug":7117,"type":16},"Git","git",{"name":9,"slug":8,"type":16},"2026-07-18T05:15:10.723937",{"slug":7121,"name":7121,"fn":7122,"description":7123,"org":7124,"tags":7125,"stars":7035,"repoUrl":7036,"updatedAt":7129},"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},[7126,7127,7128],{"name":7033,"slug":7034,"type":16},{"name":7116,"slug":7117,"type":16},{"name":9,"slug":8,"type":16},"2026-05-15T06:16:39.458431",{"slug":7131,"name":7131,"fn":7132,"description":7133,"org":7134,"tags":7135,"stars":7035,"repoUrl":7036,"updatedAt":7147},"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},[7136,7139,7140,7143,7146],{"name":7137,"slug":7138,"type":16},"Access Control","access-control",{"name":7106,"slug":7107,"type":16},{"name":7141,"slug":7142,"type":16},"Django","django",{"name":7144,"slug":7145,"type":16},"Python","python",{"name":7082,"slug":7083,"type":16},"2026-05-15T06:16:43.098698",{"slug":7149,"name":7149,"fn":7150,"description":7151,"org":7152,"tags":7153,"stars":7035,"repoUrl":7036,"updatedAt":7160},"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},[7154,7155,7158,7159],{"name":7092,"slug":7086,"type":16},{"name":7156,"slug":7157,"type":16},"Database","database",{"name":7141,"slug":7142,"type":16},{"name":7095,"slug":7096,"type":16},"2026-05-15T06:16:24.832813",88,{"items":7163,"total":2676},[7164,7178,7193,7209,7221,7229,7244],{"slug":7165,"name":7165,"fn":7166,"description":7167,"org":7168,"tags":7169,"stars":27,"repoUrl":28,"updatedAt":7177},"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},[7170,7173,7174,7175,7176],{"name":7171,"slug":7172,"type":16},"Android","android",{"name":25,"slug":26,"type":16},{"name":14,"slug":15,"type":16},{"name":21,"slug":22,"type":16},{"name":9,"slug":8,"type":16},"2026-07-12T06:08:32.396344",{"slug":7179,"name":7179,"fn":7180,"description":7181,"org":7182,"tags":7183,"stars":27,"repoUrl":28,"updatedAt":7192},"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},[7184,7185,7188,7191],{"name":25,"slug":26,"type":16},{"name":7186,"slug":7187,"type":16},"JavaScript","javascript",{"name":7189,"slug":7190,"type":16},"Monitoring","monitoring",{"name":9,"slug":8,"type":16},"2026-07-18T05:47:44.437436",{"slug":7194,"name":7194,"fn":7195,"description":7196,"org":7197,"tags":7198,"stars":27,"repoUrl":28,"updatedAt":7208},"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},[7199,7202,7205,7206,7207],{"name":7200,"slug":7201,"type":16},"Cloudflare","cloudflare",{"name":7203,"slug":7204,"type":16},"Edge Functions","edge-functions",{"name":7189,"slug":7190,"type":16},{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-11T05:53:25.361175",{"slug":7210,"name":7210,"fn":7211,"description":7212,"org":7213,"tags":7214,"stars":27,"repoUrl":28,"updatedAt":7220},"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},[7215,7216,7217,7218,7219],{"name":6994,"slug":6995,"type":16},{"name":6997,"slug":6998,"type":16},{"name":7189,"slug":7190,"type":16},{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-11T05:52:57.042493",{"slug":4,"name":4,"fn":5,"description":6,"org":7222,"tags":7223,"stars":27,"repoUrl":28,"updatedAt":29},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7224,7225,7226,7227,7228],{"name":18,"slug":19,"type":16},{"name":25,"slug":26,"type":16},{"name":14,"slug":15,"type":16},{"name":21,"slug":22,"type":16},{"name":9,"slug":8,"type":16},{"slug":7230,"name":7230,"fn":7231,"description":7232,"org":7233,"tags":7234,"stars":27,"repoUrl":28,"updatedAt":7243},"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},[7235,7238,7241,7242],{"name":7236,"slug":7237,"type":16},"Backend","backend",{"name":7239,"slug":7240,"type":16},"Elixir","elixir",{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-11T05:53:11.69581",{"slug":7245,"name":7245,"fn":7246,"description":7247,"org":7248,"tags":7249,"stars":27,"repoUrl":28,"updatedAt":7256},"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},[7250,7251,7254,7255],{"name":25,"slug":26,"type":16},{"name":7252,"slug":7253,"type":16},"Incident Response","incident-response",{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-12T06:08:35.550824"]