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
Returns
IncrementCounter(string, long, IDictionary<string, object?>?)
Increments a counter metric.
void IncrementCounter(string name, long increment = 1, IDictionary<string, object?>? tags = null)
Parameters
namestringincrementlongtagsIDictionary<string, object>
RecordAcceleratorUtilization(string, double, long)
Records accelerator utilization metrics.
void RecordAcceleratorUtilization(string acceleratorType, double utilization, long memoryUsed)
Parameters
RecordEvent(string, IDictionary<string, object?>?)
Records an event with optional attributes.
void RecordEvent(string name, IDictionary<string, object?>? attributes = null)
Parameters
namestringattributesIDictionary<string, object>
RecordGarbageCollection(int, TimeSpan, long, long)
Records garbage collection metrics.
void RecordGarbageCollection(int generation, TimeSpan duration, long memoryBefore, long memoryAfter)
Parameters
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
namestringvaluedoubletagsIDictionary<string, object>
RecordKernelExecution(string, TimeSpan, long)
Records kernel execution metrics.
void RecordKernelExecution(string kernelName, TimeSpan duration, long operationCount)
Parameters
RecordMemoryAllocation(long, string?)
Records memory allocation metrics.
void RecordMemoryAllocation(long bytes, string? allocationType = null)
Parameters
RecordMemoryTransfer(string, long, TimeSpan)
Records memory transfer metrics.
void RecordMemoryTransfer(string direction, long bytes, TimeSpan duration)
Parameters
RecordMetric(string, double, IDictionary<string, object?>?)
Records a metric value.
void RecordMetric(string name, double value, IDictionary<string, object?>? tags = null)
Parameters
namestringvaluedoubletagsIDictionary<string, object>
StartActivity(string, ActivityKind)
Starts a new activity span for distributed tracing.
Activity? StartActivity(string name, ActivityKind kind = ActivityKind.Internal)
Parameters
namestringkindActivityKind
Returns
StartTimer(string, IDictionary<string, object?>?)
Creates a timer for measuring operation duration.
IOperationTimer StartTimer(string operationName, IDictionary<string, object?>? tags = null)
Parameters
operationNamestringtagsIDictionary<string, object>