Struct TelemetryMetrics
- Namespace
- DotCompute.Abstractions.Telemetry
- Assembly
- DotCompute.Abstractions.dll
Immutable record containing telemetry metrics for kernel execution.
public readonly record struct TelemetryMetrics : IEquatable<TelemetryMetrics>
- Implements
- Inherited Members
Constructors
TelemetryMetrics(string, long, long, long, long, long, long, long, double, long, long, long, long, long, DateTime)
Immutable record containing telemetry metrics for kernel execution.
public TelemetryMetrics(string KernelId, long ExecutionCount, long SuccessfulExecutions, long FailedExecutions, long TotalExecutionTimeNanos, long AverageLatencyNanos, long MinLatencyNanos, long MaxLatencyNanos, double ThroughputMessagesPerSecond, long TotalMemoryAllocatedBytes, long TotalMemoryDeallocatedBytes, long CurrentMemoryUsageBytes, long PeakMemoryUsageBytes, long TotalMessagesProcessed, DateTime CollectionTimestamp)
Parameters
KernelIdstringUnique identifier for the kernel instance.
ExecutionCountlongTotal number of executions (successful + failed).
SuccessfulExecutionslongNumber of successful executions.
FailedExecutionslongNumber of failed executions.
TotalExecutionTimeNanoslongTotal execution time in nanoseconds.
AverageLatencyNanoslongAverage execution latency in nanoseconds.
MinLatencyNanoslongMinimum observed latency in nanoseconds.
MaxLatencyNanoslongMaximum observed latency in nanoseconds.
ThroughputMessagesPerSeconddoubleThroughput in messages per second (Ring Kernels only).
TotalMemoryAllocatedByteslongTotal memory allocated in bytes.
TotalMemoryDeallocatedByteslongTotal memory deallocated in bytes.
CurrentMemoryUsageByteslongCurrent active memory usage in bytes.
PeakMemoryUsageByteslongPeak memory usage observed in bytes.
TotalMessagesProcessedlongTotal number of messages processed (Ring Kernels only).
CollectionTimestampDateTimeUTC timestamp when metrics were collected.
Properties
AverageLatencyNanos
Average execution latency in nanoseconds.
public long AverageLatencyNanos { get; init; }
Property Value
AverageMemoryPerExecution
Gets the average memory usage per execution in bytes.
public long AverageMemoryPerExecution { get; }
Property Value
CollectionTimestamp
UTC timestamp when metrics were collected.
public DateTime CollectionTimestamp { get; init; }
Property Value
CurrentMemoryUsageBytes
Current active memory usage in bytes.
public long CurrentMemoryUsageBytes { get; init; }
Property Value
ExecutionCount
Total number of executions (successful + failed).
public long ExecutionCount { get; init; }
Property Value
FailedExecutions
Number of failed executions.
public long FailedExecutions { get; init; }
Property Value
FailureRate
Gets the failure rate as a percentage (0-100).
public double FailureRate { get; }
Property Value
KernelId
Unique identifier for the kernel instance.
public string KernelId { get; init; }
Property Value
MaxLatencyNanos
Maximum observed latency in nanoseconds.
public long MaxLatencyNanos { get; init; }
Property Value
MemoryUtilization
Gets the memory utilization efficiency (deallocated / allocated).
public double MemoryUtilization { get; }
Property Value
MinLatencyNanos
Minimum observed latency in nanoseconds.
public long MinLatencyNanos { get; init; }
Property Value
PeakMemoryUsageBytes
Peak memory usage observed in bytes.
public long PeakMemoryUsageBytes { get; init; }
Property Value
SuccessRate
Gets the success rate as a percentage (0-100).
public double SuccessRate { get; }
Property Value
SuccessfulExecutions
Number of successful executions.
public long SuccessfulExecutions { get; init; }
Property Value
ThroughputMessagesPerSecond
Throughput in messages per second (Ring Kernels only).
public double ThroughputMessagesPerSecond { get; init; }
Property Value
TotalExecutionTimeNanos
Total execution time in nanoseconds.
public long TotalExecutionTimeNanos { get; init; }
Property Value
TotalMemoryAllocatedBytes
Total memory allocated in bytes.
public long TotalMemoryAllocatedBytes { get; init; }
Property Value
TotalMemoryDeallocatedBytes
Total memory deallocated in bytes.
public long TotalMemoryDeallocatedBytes { get; init; }
Property Value
TotalMessagesProcessed
Total number of messages processed (Ring Kernels only).
public long TotalMessagesProcessed { get; init; }
Property Value
Methods
Empty(string)
Creates an empty metrics instance.
public static TelemetryMetrics Empty(string kernelId)
Parameters
kernelIdstring
Returns
ToString()
Formats the metrics as a human-readable string.
public override string ToString()