Table of Contents

Class PerformanceReport

Namespace
DotCompute.Abstractions.Debugging.Types
Assembly
DotCompute.Abstractions.dll

Comprehensive performance report for kernel execution analysis. Aggregates performance metrics, trends, and recommendations over a time window.

public sealed class PerformanceReport
Inheritance
PerformanceReport
Inherited Members

Properties

AnalysisTimeWindow

Gets or sets the time window covered by this report.

public TimeSpan AnalysisTimeWindow { get; set; }

Property Value

TimeSpan

Anomalies

Gets or sets detected performance anomalies.

public IList<PerformanceAnomaly> Anomalies { get; init; }

Property Value

IList<PerformanceAnomaly>

AverageExecutionTime

Gets or sets the average execution time across all runs.

public TimeSpan AverageExecutionTime { get; set; }

Property Value

TimeSpan

AverageMemoryUsage

Gets or sets the average memory usage in bytes.

public long AverageMemoryUsage { get; set; }

Property Value

long

AverageThroughput

Gets or sets the average throughput in operations per second.

public double AverageThroughput { get; set; }

Property Value

double

BackendMetrics

Gets or sets backend-specific performance metrics.

public Dictionary<string, PerformanceMetrics> BackendMetrics { get; init; }

Property Value

Dictionary<string, PerformanceMetrics>

Bottlenecks

Gets or sets identified bottlenecks.

public IList<string> Bottlenecks { get; init; }

Property Value

IList<string>

ExecutionCount

Gets or sets the total number of executions analyzed.

public int ExecutionCount { get; set; }

Property Value

int

ExecutionTimeStdDev

Gets or sets the standard deviation of execution times.

public TimeSpan ExecutionTimeStdDev { get; set; }

Property Value

TimeSpan

FailedExecutions

Gets or sets the number of failed executions.

public int FailedExecutions { get; set; }

Property Value

int

GeneratedAt

Gets or sets when this report was generated.

public DateTime GeneratedAt { get; set; }

Property Value

DateTime

KernelName

Gets or sets the kernel name.

public string KernelName { get; set; }

Property Value

string

MaxExecutionTime

Gets or sets the maximum execution time observed.

public TimeSpan MaxExecutionTime { get; set; }

Property Value

TimeSpan

MedianExecutionTime

Gets or sets the median execution time.

public TimeSpan MedianExecutionTime { get; set; }

Property Value

TimeSpan

Metadata

Gets or sets additional report metadata.

public Dictionary<string, object> Metadata { get; init; }

Property Value

Dictionary<string, object>

MinExecutionTime

Gets or sets the minimum execution time observed.

public TimeSpan MinExecutionTime { get; set; }

Property Value

TimeSpan

PeakMemoryUsage

Gets or sets the peak memory usage in bytes.

public long PeakMemoryUsage { get; set; }

Property Value

long

PeakThroughput

Gets or sets the peak throughput observed.

public double PeakThroughput { get; set; }

Property Value

double

Percentile95

Gets or sets the 95th percentile execution time.

public TimeSpan Percentile95 { get; set; }

Property Value

TimeSpan

Percentile99

Gets or sets the 99th percentile execution time.

public TimeSpan Percentile99 { get; set; }

Property Value

TimeSpan

PerformanceScore

Gets or sets the overall performance score (0-100).

public double PerformanceScore { get; set; }

Property Value

double

PerformanceTrend

Gets or sets the performance trend direction.

public TrendDirection PerformanceTrend { get; set; }

Property Value

TrendDirection

Recommendations

Gets or sets performance recommendations.

public IList<string> Recommendations { get; init; }

Property Value

IList<string>

SuccessRate

Gets or sets the success rate (0-1).

public double SuccessRate { get; set; }

Property Value

double

SuccessfulExecutions

Gets or sets the number of successful executions.

public int SuccessfulExecutions { get; set; }

Property Value

int

Gets or sets performance trends over time.

public IList<PerformanceTrend> Trends { get; init; }

Property Value

IList<PerformanceTrend>