Table of Contents

Class ProfileAnalysis

Namespace
DotCompute.Core.Telemetry.Analysis
Assembly
DotCompute.Core.dll

Contains comprehensive analysis results for a performance profile. Provides insights into execution patterns, bottlenecks, and optimization opportunities.

public sealed class ProfileAnalysis
Inheritance
ProfileAnalysis
Inherited Members

Properties

AnalysisTimestamp

Gets or sets the timestamp when this analysis was performed. Used for tracking when the analysis was generated and its freshness.

public DateTimeOffset AnalysisTimestamp { get; set; }

Property Value

DateTimeOffset

The analysis timestamp as a DateTimeOffset.

AverageCacheHitRate

Gets or sets the average cache hit rate across all operations. Measures the effectiveness of caching mechanisms during profiling.

public double AverageCacheHitRate { get; set; }

Property Value

double

The average cache hit rate as a decimal (0.0 to 1.0).

AverageKernelExecutionTime

Gets or sets the average kernel execution time across all kernels. Provides insight into the typical duration of compute operations.

public double AverageKernelExecutionTime { get; set; }

Property Value

double

The average kernel execution time in milliseconds.

AverageMemoryBandwidth

Gets or sets the average memory bandwidth across all memory operations. Provides insight into memory subsystem performance.

public double AverageMemoryBandwidth { get; set; }

Property Value

double

The average memory bandwidth in GB/s.

AverageOccupancy

Gets or sets the average occupancy percentage across all kernel executions. Indicates how effectively compute resources were utilized overall.

public double AverageOccupancy { get; set; }

Property Value

double

The average occupancy as a decimal (0.0 to 1.0).

DeviceUtilizationEfficiency

Gets or sets the device utilization efficiency score. Indicates how effectively the available device resources were used.

public double DeviceUtilizationEfficiency { get; set; }

Property Value

double

The device utilization efficiency as a decimal (0.0 to 1.0).

IdentifiedBottlenecks

Gets or sets the list of identified performance bottlenecks. Each bottleneck includes location, severity, and impact information.

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

Property Value

IList<string>

A list of bottleneck description strings.

OptimizationRecommendations

Gets or sets the list of optimization recommendations based on the analysis. Provides actionable suggestions for improving performance.

public IList<string> OptimizationRecommendations { get; }

Property Value

IList<string>

A list of optimization recommendation strings.

OverallThroughput

Gets or sets the overall throughput in operations per second. Measures the aggregate processing rate across all operations.

public double OverallThroughput { get; set; }

Property Value

double

The overall throughput in operations per second.

ParallelismEfficiency

Gets or sets the parallelism efficiency score. Indicates how effectively parallel processing capabilities were utilized.

public double ParallelismEfficiency { get; set; }

Property Value

double

The parallelism efficiency as a decimal (0.0 to 1.0).

TotalExecutionTime

Gets or sets the total execution time for all operations in the profile. Represents the sum of all operation durations, including parallel operations.

public double TotalExecutionTime { get; set; }

Property Value

double

The total execution time in milliseconds.

TotalMemoryTransferred

Gets or sets the total amount of memory transferred during profiling. Indicates the scale of memory operations captured in the profile.

public long TotalMemoryTransferred { get; set; }

Property Value

long

The total memory transferred in bytes.