Table of Contents

Interface ITelemetryService

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

Core telemetry service interface for DotCompute observability integration.

public interface ITelemetryService

Methods

CreatePerformanceProfileAsync(string, ProfileOptions?, CancellationToken)

Creates a performance profile for detailed analysis.

Task<PerformanceProfile> CreatePerformanceProfileAsync(string correlationId, ProfileOptions? options = null, CancellationToken cancellationToken = default)

Parameters

correlationId string
options ProfileOptions
cancellationToken CancellationToken

Returns

Task<PerformanceProfile>

ExportTelemetryAsync(TelemetryExportFormat, CancellationToken)

Exports telemetry data to configured monitoring systems.

Task ExportTelemetryAsync(TelemetryExportFormat format = TelemetryExportFormat.Prometheus, CancellationToken cancellationToken = default)

Parameters

format TelemetryExportFormat
cancellationToken CancellationToken

Returns

Task

FinishDistributedTraceAsync(string, TraceStatus)

Finishes a distributed trace and returns analysis results.

Task<TraceData?> FinishDistributedTraceAsync(string correlationId, TraceStatus status = TraceStatus.Ok)

Parameters

correlationId string
status TraceStatus

Returns

Task<TraceData>

GetSystemHealth()

Gets current system health metrics.

SystemHealthMetrics GetSystemHealth()

Returns

SystemHealthMetrics

RecordKernelExecution(string, string, TimeSpan, TelemetryKernelPerformanceMetrics, string?, Exception?)

Records a kernel execution event with performance metrics.

void RecordKernelExecution(string kernelName, string deviceId, TimeSpan executionTime, TelemetryKernelPerformanceMetrics metrics, string? correlationId = null, Exception? exception = null)

Parameters

kernelName string
deviceId string
executionTime TimeSpan
metrics TelemetryKernelPerformanceMetrics
correlationId string
exception Exception

RecordMemoryOperation(string, string, long, TimeSpan, MemoryAccessMetrics, string?, Exception?)

Records a memory operation with transfer metrics.

void RecordMemoryOperation(string operationType, string deviceId, long bytes, TimeSpan duration, MemoryAccessMetrics metrics, string? correlationId = null, Exception? exception = null)

Parameters

operationType string
deviceId string
bytes long
duration TimeSpan
metrics MemoryAccessMetrics
correlationId string
exception Exception

StartDistributedTrace(string, string?, Dictionary<string, object?>?)

Starts distributed tracing for cross-device operations.

TraceContext StartDistributedTrace(string operationName, string? correlationId = null, Dictionary<string, object?>? tags = null)

Parameters

operationName string
correlationId string
tags Dictionary<string, object>

Returns

TraceContext