Novolis.IO.SystemMetrics
2026.1.1.70
dotnet add package Novolis.IO.SystemMetrics --version 2026.1.1.70
NuGet\Install-Package Novolis.IO.SystemMetrics -Version 2026.1.1.70
<PackageReference Include="Novolis.IO.SystemMetrics" Version="2026.1.1.70" />
<PackageVersion Include="Novolis.IO.SystemMetrics" Version="2026.1.1.70" />
<PackageReference Include="Novolis.IO.SystemMetrics" />
paket add Novolis.IO.SystemMetrics --version 2026.1.1.70
#r "nuget: Novolis.IO.SystemMetrics, 2026.1.1.70"
#:package Novolis.IO.SystemMetrics@2026.1.1.70
#addin nuget:?package=Novolis.IO.SystemMetrics&version=2026.1.1.70
#tool nuget:?package=Novolis.IO.SystemMetrics&version=2026.1.1.70
Novolis.IO.SystemMetrics
Cross-platform system resource inventory and bounded time-series capture for diagnosing games, render jobs, and other host workloads.
Install
dotnet add package Novolis.IO.SystemMetrics
Quick start
using Novolis.IO.SystemMetrics;
var monitor = SystemMetricsMonitor.CreateDefault();
await using var capture = await monitor.StartAsync(
new SystemMetricsCaptureOptions
{
SampleInterval = TimeSpan.FromMilliseconds(250),
ProcessId = Environment.ProcessId,
MaximumSamples = 20,
});
var selectedGpuAdapterId = capture.Inventory.GpuAdapters.Count > 0
? capture.Inventory.GpuAdapters[0].Id
: null;
capture.Mark("render-start", selectedGpuAdapterId);
await foreach (var sample in capture.Samples)
{
Console.WriteLine(
$"{sample.Elapsed}: CPU={sample.Cpu.UtilizationPercent:F1}%");
}
var summary = await capture.CompleteAsync();
The sample stream is backed by a bounded channel. A slow consumer applies
backpressure instead of allowing an unbounded in-memory capture. Use
SystemMetricsMarker values to identify workload phases and selected
resources.
CPU, process, memory, network, GPU, and screen values can be unavailable on a
particular operating system or under a restricted account. Check each
SystemMetricStatus and read SystemMetricDiagnostic values instead of
treating missing values as zero.
GPU utilization and memory counters are driver-dependent. The default provider reports adapter inventory wherever the operating system exposes it and returns an explicit unavailable or unsupported status when a driver does not expose usage counters.
Screens describe topology: identity, bounds, DPI, refresh rate, primary status, and adapter association when the platform exposes them. Display output usage is intentionally outside this package's first capture model.
| 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
- 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.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.1.1.70 | 39 | 10/25/2026 |
| 2026.1.1.69 | 84 | 10/19/2026 |
| 2026.1.1.68 | 85 | 10/19/2026 |
| 2026.1.1.67 | 84 | 10/19/2026 |
| 2026.1.1.66 | 88 | 10/18/2026 |
| 2026.1.1.64 | 88 | 10/18/2026 |
| 2026.1.1.63 | 85 | 10/18/2026 |
| 2026.1.1.62 | 91 | 10/18/2026 |
| 2026.1.1.61 | 84 | 10/18/2026 |
| 2026.1.1.60 | 80 | 10/18/2026 |
| 2026.1.1.58 | 89 | 10/18/2026 |
| 2026.1.1.57 | 83 | 10/18/2026 |
| 2026.1.1.56 | 82 | 10/18/2026 |