Table of Contents

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

KernelId string

Unique identifier for the kernel instance.

ExecutionCount long

Total number of executions (successful + failed).

SuccessfulExecutions long

Number of successful executions.

FailedExecutions long

Number of failed executions.

TotalExecutionTimeNanos long

Total execution time in nanoseconds.

AverageLatencyNanos long

Average execution latency in nanoseconds.

MinLatencyNanos long

Minimum observed latency in nanoseconds.

MaxLatencyNanos long

Maximum observed latency in nanoseconds.

ThroughputMessagesPerSecond double

Throughput in messages per second (Ring Kernels only).

TotalMemoryAllocatedBytes long

Total memory allocated in bytes.

TotalMemoryDeallocatedBytes long

Total memory deallocated in bytes.

CurrentMemoryUsageBytes long

Current active memory usage in bytes.

PeakMemoryUsageBytes long

Peak memory usage observed in bytes.

TotalMessagesProcessed long

Total number of messages processed (Ring Kernels only).

CollectionTimestamp DateTime

UTC timestamp when metrics were collected.

Properties

AverageLatencyNanos

Average execution latency in nanoseconds.

public long AverageLatencyNanos { get; init; }

Property Value

long

AverageMemoryPerExecution

Gets the average memory usage per execution in bytes.

public long AverageMemoryPerExecution { get; }

Property Value

long

CollectionTimestamp

UTC timestamp when metrics were collected.

public DateTime CollectionTimestamp { get; init; }

Property Value

DateTime

CurrentMemoryUsageBytes

Current active memory usage in bytes.

public long CurrentMemoryUsageBytes { get; init; }

Property Value

long

ExecutionCount

Total number of executions (successful + failed).

public long ExecutionCount { get; init; }

Property Value

long

FailedExecutions

Number of failed executions.

public long FailedExecutions { get; init; }

Property Value

long

FailureRate

Gets the failure rate as a percentage (0-100).

public double FailureRate { get; }

Property Value

double

KernelId

Unique identifier for the kernel instance.

public string KernelId { get; init; }

Property Value

string

MaxLatencyNanos

Maximum observed latency in nanoseconds.

public long MaxLatencyNanos { get; init; }

Property Value

long

MemoryUtilization

Gets the memory utilization efficiency (deallocated / allocated).

public double MemoryUtilization { get; }

Property Value

double

MinLatencyNanos

Minimum observed latency in nanoseconds.

public long MinLatencyNanos { get; init; }

Property Value

long

PeakMemoryUsageBytes

Peak memory usage observed in bytes.

public long PeakMemoryUsageBytes { get; init; }

Property Value

long

SuccessRate

Gets the success rate as a percentage (0-100).

public double SuccessRate { get; }

Property Value

double

SuccessfulExecutions

Number of successful executions.

public long SuccessfulExecutions { get; init; }

Property Value

long

ThroughputMessagesPerSecond

Throughput in messages per second (Ring Kernels only).

public double ThroughputMessagesPerSecond { get; init; }

Property Value

double

TotalExecutionTimeNanos

Total execution time in nanoseconds.

public long TotalExecutionTimeNanos { get; init; }

Property Value

long

TotalMemoryAllocatedBytes

Total memory allocated in bytes.

public long TotalMemoryAllocatedBytes { get; init; }

Property Value

long

TotalMemoryDeallocatedBytes

Total memory deallocated in bytes.

public long TotalMemoryDeallocatedBytes { get; init; }

Property Value

long

TotalMessagesProcessed

Total number of messages processed (Ring Kernels only).

public long TotalMessagesProcessed { get; init; }

Property Value

long

Methods

Empty(string)

Creates an empty metrics instance.

public static TelemetryMetrics Empty(string kernelId)

Parameters

kernelId string

Returns

TelemetryMetrics

ToString()

Formats the metrics as a human-readable string.

public override string ToString()

Returns

string