Table of Contents

Class TraceAnalysis

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

Contains comprehensive analysis results for a distributed trace. Provides performance insights, bottleneck identification, and optimization recommendations.

public sealed class TraceAnalysis
Inheritance
TraceAnalysis
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.

Bottlenecks

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

public IList<PerformanceBottleneck> Bottlenecks { get; }

Property Value

IList<PerformanceBottleneck>

A list of performance bottleneck objects.

CriticalPath

Gets or sets the critical path spans that determine the minimum execution time. These spans represent the longest chain of dependencies in the trace.

public IList<SpanData> CriticalPath { get; }

Property Value

IList<SpanData>

A list of spans representing the critical path.

CriticalPathDuration

Gets or sets the duration of the critical path in milliseconds. Represents the theoretical minimum time needed to complete the trace.

public double CriticalPathDuration { get; set; }

Property Value

double

The critical path duration in milliseconds.

DeviceCount

Gets or sets the number of unique devices involved in the trace. Indicates the level of distributed computing utilization.

public int DeviceCount { get; set; }

Property Value

int

The device count as an integer.

DeviceEfficiency

Gets or sets the device efficiency score (0.0 to 1.0). Measures how effectively the available device resources were utilized.

public double DeviceEfficiency { get; set; }

Property Value

double

The device efficiency as a decimal between 0.0 and 1.0.

DeviceUtilization

Gets or sets the utilization percentage for each device involved in the trace. Maps device IDs to their utilization percentages (0.0 to 1.0).

public Dictionary<string, double> DeviceUtilization { get; }

Property Value

Dictionary<string, double>

A dictionary mapping device IDs to utilization percentages.

MemoryAccessPatterns

Gets or sets the memory access patterns observed during the trace. Provides insights into memory usage efficiency and potential optimizations.

public Dictionary<string, object> MemoryAccessPatterns { get; }

Property Value

Dictionary<string, object>

A dictionary of memory access pattern data.

OptimizationRecommendations

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

public IList<string> OptimizationRecommendations { get; }

Property Value

IList<string>

A list of optimization recommendation strings.

ParallelismEfficiency

Gets or sets the parallelism efficiency score (0.0 to 1.0). Indicates how effectively the trace utilized parallel computing capabilities.

public double ParallelismEfficiency { get; set; }

Property Value

double

The parallelism efficiency as a decimal between 0.0 and 1.0.

SpanCount

Gets or sets the total number of spans in the trace. Provides an indication of the trace complexity and granularity.

public int SpanCount { get; set; }

Property Value

int

The span count as an integer.

TotalOperationTime

Gets or sets the total time spent on operations within the trace. Represents the sum of all operation durations, including parallel operations.

public TimeSpan TotalOperationTime { get; set; }

Property Value

TimeSpan

The total operation time as a TimeSpan.

TraceId

Gets or sets the trace identifier this analysis belongs to. Links the analysis results to the specific trace that was analyzed.

public string TraceId { get; set; }

Property Value

string

The trace identifier as a string.