Table of Contents

Interface IKernelTelemetryProvider

Namespace
DotCompute.Abstractions.Telemetry
Assembly
DotCompute.Abstractions.dll

Provides telemetry collection and reporting for kernel execution.

public interface IKernelTelemetryProvider

Remarks

Telemetry providers collect performance metrics such as throughput, latency, memory usage, and execution counts for Ring Kernels and standard kernels. Implementations must be thread-safe for concurrent metric collection.

Methods

GetAggregatedMetrics()

Gets aggregated metrics for all kernels.

TelemetryMetrics GetAggregatedMetrics()

Returns

TelemetryMetrics

Aggregated telemetry metrics across all kernels.

GetMetrics(string)

Gets the current metrics for a specific kernel.

TelemetryMetrics GetMetrics(string kernelId)

Parameters

kernelId string

Unique identifier for the kernel instance.

Returns

TelemetryMetrics

Current telemetry metrics for the kernel.

RecordExecutionEnd(string, long, bool)

Records the completion of a kernel execution.

void RecordExecutionEnd(string kernelId, long timestamp, bool success)

Parameters

kernelId string

Unique identifier for the kernel instance.

timestamp long

High-precision timestamp when execution completed.

success bool

True if execution succeeded, false if it failed.

RecordExecutionStart(string, long)

Records the start of a kernel execution.

void RecordExecutionStart(string kernelId, long timestamp)

Parameters

kernelId string

Unique identifier for the kernel instance.

timestamp long

High-precision timestamp when execution started.

RecordMemoryAllocation(string, long)

Records memory allocation for a kernel.

void RecordMemoryAllocation(string kernelId, long bytes)

Parameters

kernelId string

Unique identifier for the kernel instance.

bytes long

Number of bytes allocated.

RecordMemoryDeallocation(string, long)

Records memory deallocation for a kernel.

void RecordMemoryDeallocation(string kernelId, long bytes)

Parameters

kernelId string

Unique identifier for the kernel instance.

bytes long

Number of bytes deallocated.

RecordMessageProcessed(string, int)

Records a message processed by a Ring Kernel.

void RecordMessageProcessed(string kernelId, int messageSize)

Parameters

kernelId string

Unique identifier for the kernel instance.

messageSize int

Size of the message in bytes.

ResetAllMetrics()

Resets all telemetry data for all kernels.

void ResetAllMetrics()

ResetMetrics(string)

Resets all telemetry data for a specific kernel.

void ResetMetrics(string kernelId)

Parameters

kernelId string

Unique identifier for the kernel instance.