Delta.Diagnostics
0.0.7
dotnet add package Delta.Diagnostics --version 0.0.7
NuGet\Install-Package Delta.Diagnostics -Version 0.0.7
<PackageReference Include="Delta.Diagnostics" Version="0.0.7" />
<PackageVersion Include="Delta.Diagnostics" Version="0.0.7" />
<PackageReference Include="Delta.Diagnostics" />
paket add Delta.Diagnostics --version 0.0.7
#r "nuget: Delta.Diagnostics, 0.0.7"
#:package Delta.Diagnostics@0.0.7
#addin nuget:?package=Delta.Diagnostics&version=0.0.7
#tool nuget:?package=Delta.Diagnostics&version=0.0.7
DeltaDiagnostics
DeltaDiagnostics provides small, shared diagnostics, logging and timing APIs
for Furnace applications and tools. The public assembly is
Delta.Diagnostics, in the Delta.Diagnostics namespace.
What it provides
- Typed source identity, diagnostic codes, severity and source ranges.
- Immutable diagnostic values for reporting source-related failures.
ILoggerand a replaceableLogger.Instancewith a no-op default sink.DebugandTracefacades whose calls are controlled by the corresponding compilation symbols.ProfileDurationfor elapsed-time values stored as whole nanoseconds and comparisons.- Invariant compact duration formatting with automatic units.
Quick start
<PackageReference Include="Delta.Diagnostics" Version="*" />
using Delta.Diagnostics;
ProfileDuration duration = ProfileDuration.FromTimeSpan(TimeSpan.FromMilliseconds(12));
Console.WriteLine(duration); // 12.ms
Core concepts
Source positions use zero-based UTF-16 line, column and offset values. Ranges
are half-open. ProfileDuration stores non-negative whole nanoseconds; values
from stopwatch ticks round to the nearest nanosecond. Callers own clock
sampling, aggregation and publication.
Capabilities and limits
The package has no external dependencies and is suitable for .NET applications including NativeAOT. The logger is a sink contract only; producers own its backend, filtering, formatting and exception policy. The package does not provide profiling implementations, storage, exception hierarchies or project-specific diagnostic codes.
Packages and examples
Install Delta.Diagnostics wherever shared diagnostics, logging or timing
APIs cross project boundaries. Consumer projects own presentation and
aggregation policy.
Further reading
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.