Table of Contents

Interface ITelemetryProvider

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

Unified telemetry interface for consistent metrics and monitoring across the solution. Addresses the issue of 1,320+ logger usage sites and multiple telemetry providers.

public interface ITelemetryProvider : IDisposable
Inherited Members
Extension Methods

Methods

GetMeter(string, string?)

Gets or creates a meter for custom metrics.

Meter GetMeter(string name, string? version = null)

Parameters

name string
version string

Returns

Meter

IncrementCounter(string, long, IDictionary<string, object?>?)

Increments a counter metric.

void IncrementCounter(string name, long increment = 1, IDictionary<string, object?>? tags = null)

Parameters

name string
increment long
tags IDictionary<string, object>

RecordAcceleratorUtilization(string, double, long)

Records accelerator utilization metrics.

void RecordAcceleratorUtilization(string acceleratorType, double utilization, long memoryUsed)

Parameters

acceleratorType string
utilization double
memoryUsed long

RecordEvent(string, IDictionary<string, object?>?)

Records an event with optional attributes.

void RecordEvent(string name, IDictionary<string, object?>? attributes = null)

Parameters

name string
attributes IDictionary<string, object>

RecordGarbageCollection(int, TimeSpan, long, long)

Records garbage collection metrics.

void RecordGarbageCollection(int generation, TimeSpan duration, long memoryBefore, long memoryAfter)

Parameters

generation int
duration TimeSpan
memoryBefore long
memoryAfter long

RecordHistogram(string, double, IDictionary<string, object?>?)

Records a histogram value for distribution analysis.

void RecordHistogram(string name, double value, IDictionary<string, object?>? tags = null)

Parameters

name string
value double
tags IDictionary<string, object>

RecordKernelExecution(string, TimeSpan, long)

Records kernel execution metrics.

void RecordKernelExecution(string kernelName, TimeSpan duration, long operationCount)

Parameters

kernelName string
duration TimeSpan
operationCount long

RecordMemoryAllocation(long, string?)

Records memory allocation metrics.

void RecordMemoryAllocation(long bytes, string? allocationType = null)

Parameters

bytes long
allocationType string

RecordMemoryTransfer(string, long, TimeSpan)

Records memory transfer metrics.

void RecordMemoryTransfer(string direction, long bytes, TimeSpan duration)

Parameters

direction string
bytes long
duration TimeSpan

RecordMetric(string, double, IDictionary<string, object?>?)

Records a metric value.

void RecordMetric(string name, double value, IDictionary<string, object?>? tags = null)

Parameters

name string
value double
tags IDictionary<string, object>

StartActivity(string, ActivityKind)

Starts a new activity span for distributed tracing.

Activity? StartActivity(string name, ActivityKind kind = ActivityKind.Internal)

Parameters

name string
kind ActivityKind

Returns

Activity

StartTimer(string, IDictionary<string, object?>?)

Creates a timer for measuring operation duration.

IOperationTimer StartTimer(string operationName, IDictionary<string, object?>? tags = null)

Parameters

operationName string
tags IDictionary<string, object>

Returns

IOperationTimer