TicketMan.Diagnostics 0.1.0

dotnet add package TicketMan.Diagnostics --version 0.1.0
                    
NuGet\Install-Package TicketMan.Diagnostics -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" 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" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="TicketMan.Diagnostics" />
                    
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 --version 0.1.0
                    
#r "nuget: TicketMan.Diagnostics, 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@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&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=TicketMan.Diagnostics&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 (1)

Showing the top 1 NuGet packages that depend on TicketMan.Diagnostics:

Package Downloads
TicketMan.Diagnostics.AspNetCore

ASP.NET Core integration for the TicketMan Diagnostics SDK — captures unhandled request exceptions and configurable HTTP error status ranges, with opt-in HTTP context and user capture.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0 123 7/22/2026
0.1.0-preview 132 7/19/2026