Class SystemPerformanceSnapshot
- Namespace
- DotCompute.Core.Telemetry.System
- Assembly
- DotCompute.Core.dll
Represents a comprehensive snapshot of system performance metrics at a specific point in time. Captures detailed system-wide resource utilization including hardware counters and garbage collection statistics.
public sealed class SystemPerformanceSnapshot
- Inheritance
-
SystemPerformanceSnapshot
- Inherited Members
Properties
ActiveProfiles
Gets or sets the number of active profiling sessions at the time of the snapshot. Indicates the current profiling workload on the system.
public int ActiveProfiles { get; set; }
Property Value
- int
The active profile count as an integer.
ActiveThreads
Gets or sets the number of active threads.
public int ActiveThreads { get; set; }
Property Value
CpuUsage
Gets or sets the CPU usage percentage (alias for ProcessorUsage).
public double CpuUsage { get; set; }
Property Value
Gen0Collections
Gets or sets the number of Generation 0 garbage collections that have occurred. Provides insight into short-lived object allocation patterns.
public int Gen0Collections { get; set; }
Property Value
- int
The Generation 0 collection count as an integer.
Gen1Collections
Gets or sets the number of Generation 1 garbage collections that have occurred. Provides insight into medium-lived object allocation patterns.
public int Gen1Collections { get; set; }
Property Value
- int
The Generation 1 collection count as an integer.
Gen2Collections
Gets or sets the number of Generation 2 garbage collections that have occurred. Provides insight into long-lived object allocation patterns and potential memory pressure.
public int Gen2Collections { get; set; }
Property Value
- int
The Generation 2 collection count as an integer.
GpuUsage
Gets or sets the GPU usage percentage.
public double GpuUsage { get; set; }
Property Value
HardwareCounters
Gets or sets the hardware performance counters captured at the time of the snapshot. Maps counter names to their values for detailed hardware performance analysis.
public Dictionary<string, double> HardwareCounters { get; init; }
Property Value
- Dictionary<string, double>
A dictionary mapping hardware counter names to their values.
MemoryAvailable
Gets or sets the available memory in bytes.
public long MemoryAvailable { get; set; }
Property Value
MemoryUsage
Gets or sets the memory usage in bytes at the time of the snapshot. Indicates how much system memory was being consumed.
public long MemoryUsage { get; set; }
Property Value
- long
The memory usage in bytes.
ProcessorUsage
Gets or sets the CPU usage percentage at the time of the snapshot. Indicates how much of the system's CPU capacity was being utilized.
public double ProcessorUsage { get; set; }
Property Value
- double
The CPU usage as a decimal (0.0 to 1.0).
ThreadCount
Gets or sets the number of active threads at the time of the snapshot. Provides insight into the system's concurrency level.
public int ThreadCount { get; set; }
Property Value
- int
The thread count as an integer.
ThreadPoolWorkItems
Gets or sets the number of work items queued in the thread pool. Indicates the current workload and potential threading bottlenecks.
public int ThreadPoolWorkItems { get; set; }
Property Value
- int
The thread pool work item count as an integer.
Timestamp
Gets or sets the timestamp when this snapshot was captured. Provides the exact moment when these system metrics were recorded.
public DateTimeOffset Timestamp { get; set; }
Property Value
- DateTimeOffset
The timestamp as a DateTimeOffset.