TicketMan.Diagnostics.AspNetCore 0.1.0

dotnet add package TicketMan.Diagnostics.AspNetCore --version 0.1.0
                    
NuGet\Install-Package TicketMan.Diagnostics.AspNetCore -Version 0.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="TicketMan.Diagnostics.AspNetCore" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TicketMan.Diagnostics.AspNetCore" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="TicketMan.Diagnostics.AspNetCore" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add TicketMan.Diagnostics.AspNetCore --version 0.1.0
                    
#r "nuget: TicketMan.Diagnostics.AspNetCore, 0.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package TicketMan.Diagnostics.AspNetCore@0.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=TicketMan.Diagnostics.AspNetCore&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=TicketMan.Diagnostics.AspNetCore&version=0.1.0
                    
Install as a Cake Tool

TicketMan Diagnostics SDK

Automatic crash and error reporting for .NET applications, delivered to the TicketMan Software Suite for incident creation, grouping and AI root-cause analysis.

Plug & play: install the package, set two environment variables, done. Without a configured endpoint the SDK is completely inert — zero background work, zero overhead.

Package Use for
TicketMan.Diagnostics Any .NET 10 app: console, worker services, WPF, WinForms
TicketMan.Diagnostics.AspNetCore ASP.NET Core apps (adds HTTP error capture + request/user context)

Quick start

export TICKETMAN_DIAG_ENDPOINT=https://your-suite.example.com/api/diagnostics/reports
export TICKETMAN_DIAG_API_KEY=<key issued by your TicketMan Suite>

Hosted apps (ASP.NET Core, worker services):

builder.Services.AddTicketManDiagnostics();

// ASP.NET Core only — add the middleware early in the pipeline:
app.UseTicketManDiagnostics();

Console / desktop apps (no DI host):

using IDiagnosticsSession session = TicketManDiagnostics.Init();
// optional manual capture:
session.Client.CaptureException(ex);

In WPF/WinForms call Init() on the UI thread (e.g. the App constructor) so UI-thread exception channels are hooked. See docs/desktop-integration.md.

What it does

  • Captures automatically: process-fatal unhandled exceptions (crash reports are spooled to disk before the process dies and delivered on the next start), unobserved task exceptions, exceptions logged at or above a configurable level (default Critical — failing hosted services; set TICKETMAN_DIAG_CAPTURE_LOG_LEVEL=Error to also capture exceptions your code catches and logs), WPF/WinForms UI-thread exceptions, ASP.NET Core request exceptions and configurable HTTP error status ranges (5xx by default).
  • Collects: application identity (name/version/build/commit/environment), full exception chain + stable cross-language fingerprint, OS/runtime/process/memory/container/Kubernetes metadata, W3C trace correlation, recent ILogger breadcrumbs, and — opt-in only — request bodies and user identity. Optional minidump on crash (TICKETMAN_DIAG_ENABLE_DUMPS).
  • Protects: an always-on masking pipeline redacts passwords, tokens, API keys, authorization headers, cookies, connection strings and JWTs before anything touches disk or network. Masking cannot be disabled.
  • Never hurts the app: every entry point is fail-safe (the SDK never throws into the host), capture is non-blocking, delivery is a background queue with retry/backoff, a file spool (size-capped, oldest-first eviction) survives offline periods and crashes, and per-fingerprint rate limiting keeps crash loops from flooding anything.

Configuration

Environment variables only — see docs/configuration.md for the full reference. The essentials:

Variable Effect
TICKETMAN_DIAG_ENDPOINT Ingest URL; unset = SDK inactive
TICKETMAN_DIAG_API_KEY Auth key (X-TicketMan-Key header)
TICKETMAN_DIAG_ENVIRONMENT Reported environment name
TICKETMAN_DIAG_ENABLE_DUMPS Minidump on crash (default off)
TICKETMAN_DIAG_CAPTURE_USER Include user claims (default off)
TICKETMAN_DIAG_CAPTURE_REQUEST_BODY Include masked request body (default off)
TICKETMAN_DIAG_CAPTURE_LOG_LEVEL Min. log level turning a logged exception into a report (default Critical)
TICKETMAN_DIAG_DEBUG SDK self-log to stderr for troubleshooting

Documentation

Development

dotnet build            # build everything (Windows needed for the WPF sample)
dotnet test             # 110+ tests incl. process crash-restart integration
dotnet run -c Release --project benchmarks/TicketMan.Diagnostics.Benchmarks

Releases: push a v* tag — CI builds, tests, packs and publishes to nuget.org (requires the NUGET_API_KEY repository secret).

License

Proprietary — see LICENSE.md.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0 115 7/22/2026
0.1.0-preview 126 7/19/2026