Error monitoring and crash reporting for .NET applications
Website • Documentation • .NET Guide • Git
--- **IronTelemetry** helps you capture exceptions, track user journeys, and get actionable insights to fix issues faster. Built for developers who want simple, powerful error monitoring without the complexity. ## Installation ```bash dotnet add package IronTelemetry.Client ``` ## Quick Start ### Level 0: Basic Exception Capture ```csharp using IronTelemetry.Client; // Initialize with your DSN IronTelemetry.Init("https://pk_live_xxx@irontelemetry.com"); // Capture exceptions try { DoSomething(); } catch (Exception ex) { IronTelemetry.CaptureException(ex); throw; } // Or use the extension method catch (Exception ex) { throw ex.Capture(); } ``` ### Level 1: Journey Tracking Track user journeys to understand the context of errors: ```csharp using IronTelemetry.Client; // Track a complete user journey using (IronTelemetry.StartJourney("Checkout Flow")) { IronTelemetry.SetUser(currentUser.Id, currentUser.Email); using (IronTelemetry.StartStep("Validate Cart", "business")) { ValidateCart(); } using (IronTelemetry.StartStep("Process Payment", "business")) { ProcessPayment(); } using (IronTelemetry.StartStep("Send Confirmation", "notification")) { SendConfirmationEmail(); } } ``` Any exceptions captured during the journey are automatically correlated. ## Configuration ```csharp IronTelemetry.Init(new TelemetryOptions { Dsn = "https://pk_live_xxx@irontelemetry.com", Environment = "production", AppVersion = "1.2.3", SampleRate = 1.0, // 100% of events Debug = false, BeforeSend = ex => !ex.Message.Contains("expected error") }); ``` ## Features - **Automatic Exception Capture**: Capture and report exceptions with full stack traces - **Journey Tracking**: Track user flows and correlate errors with context - **Breadcrumbs**: Leave a trail of events leading up to an error - **User Context**: Associate errors with specific users - **Tags & Extras**: Add custom metadata to your events - **Buffered Sending**: Events are batched and sent efficiently - **Sample Rate**: Control the volume of events sent - **Before Send Hook**: Filter events before sending ## Breadcrumbs ```csharp // Add breadcrumbs to understand what happened before an error IronTelemetry.AddBreadcrumb("User clicked checkout button", "ui"); IronTelemetry.AddBreadcrumb("Payment API called", "http"); // Or with full control IronTelemetry.AddBreadcrumb(new Breadcrumb { Category = "auth", Message = "User logged in", Level = BreadcrumbLevel.Info, Data = new Dictionary