MonadicTypes.NET.Diagnostics
0.3.0-preview.1
See the version list below for details.
dotnet add package MonadicTypes.NET.Diagnostics --version 0.3.0-preview.1
NuGet\Install-Package MonadicTypes.NET.Diagnostics -Version 0.3.0-preview.1
<PackageReference Include="MonadicTypes.NET.Diagnostics" Version="0.3.0-preview.1" />
<PackageVersion Include="MonadicTypes.NET.Diagnostics" Version="0.3.0-preview.1" />
<PackageReference Include="MonadicTypes.NET.Diagnostics" />
paket add MonadicTypes.NET.Diagnostics --version 0.3.0-preview.1
#r "nuget: MonadicTypes.NET.Diagnostics, 0.3.0-preview.1"
#:package MonadicTypes.NET.Diagnostics@0.3.0-preview.1
#addin nuget:?package=MonadicTypes.NET.Diagnostics&version=0.3.0-preview.1&prerelease
#tool nuget:?package=MonadicTypes.NET.Diagnostics&version=0.3.0-preview.1&prerelease
MonadicTypes.NET.Diagnostics
Optional, vendor-neutral Activity and Meter projection for structured
MonadicTypes.NET errors. This package includes MonadicTypes.NET.Errors and the
core package transitively.
Requirements
- .NET 10 or later
- Compatible with trimming and NativeAOT
- Uses only
System.Diagnostics; no exporter dependency
Install
dotnet add package MonadicTypes.NET.Diagnostics --prerelease
Quick Start
using System.Diagnostics;
using System.Diagnostics.Metrics;
using MonadicTypes;
using var meter = new Meter("Orders");
var metrics = new ErrorMetrics(meter);
Result<Order, Error> result = LoadOrder();
result.TapError(error =>
{
ErrorTelemetry.Record(Activity.Current, error);
metrics.Record(error);
});
Telemetry Contract
The library never logs, traces, or records metrics merely because a Result is created or propagated. Call projection once at the application boundary where the error is handled.
ErrorTelemetry.Record enriches a caller-owned sampled Activity. ErrorMetrics
creates a counter on a caller-owned Meter and uses bounded category tags by
default. Error-code tags are opt-in because they can increase cardinality.
OpenTelemetry, Prometheus, Application Insights, and other BCL-compatible
consumers can export these signals without package-specific adapters.
ErrorMetrics.Disabled and an absent or unsampled Activity provide low-cost
disabled paths. For allocation-sensitive callbacks, use caller-state or an
IValueAction<Error> struct rather than a capturing lambda.
Related Packages
| Package | Add it for |
|---|---|
MonadicTypes.NET.Errors |
Structured errors without supplied projection |
MonadicTypes.NET.AspNetCore |
HTTP boundary conversion and metadata |
Documentation
See diagnostics and the compatibility contract.
Apache-2.0. Developed with AI assistance.
Documented public members: 11
| Product | Versions 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. |
-
net10.0
- MonadicTypes.NET.Errors (>= 0.3.0-preview.1)
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.3.0-preview.2 | 69 | 9/12/2026 |
| 0.3.0-preview.1 | 46 | 9/12/2026 |
| 0.2.0-preview.2 | 76 | 8/30/2026 |
| 0.2.0-preview.1 | 81 | 8/17/2026 |
| 0.1.0-preview.1 | 70 | 8/12/2026 |