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
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
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.