Table of Contents

Class MemoryOperationMetrics

Namespace
DotCompute.Core.Telemetry.Metrics
Assembly
DotCompute.Core.dll

Contains detailed performance metrics for memory operations. Provides comprehensive data about memory transfer efficiency and access patterns.

public sealed class MemoryOperationMetrics
Inheritance
MemoryOperationMetrics
Inherited Members

Properties

AccessPattern

Gets or sets the memory access pattern observed during the operation. Describes how memory was accessed (e.g., "Sequential", "Random", "Strided").

public string AccessPattern { get; set; }

Property Value

string

The access pattern as a string.

BandwidthGBPerSecond

Gets or sets the memory bandwidth achieved in gigabytes per second. Measures the effective data transfer rate for this operation.

public double BandwidthGBPerSecond { get; set; }

Property Value

double

The bandwidth in GB/s.

BytesTransferred

Gets or sets the number of bytes transferred during the operation. Indicates the size of the memory operation.

public long BytesTransferred { get; set; }

Property Value

long

The bytes transferred as a long integer.

CacheHitRate

Gets or sets the cache hit rate during the memory operation. Measures the percentage of memory accesses that hit the cache.

public double CacheHitRate { get; set; }

Property Value

double

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

CoalescingEfficiency

Gets or sets the memory coalescing efficiency. Measures how well memory accesses were combined for optimal bandwidth utilization.

public double CoalescingEfficiency { get; set; }

Property Value

double

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

Duration

Gets or sets the duration of the memory operation. Represents the total time taken to complete the operation.

public TimeSpan Duration { get; set; }

Property Value

TimeSpan

The operation duration as a TimeSpan.

MemorySegment

Gets or sets the memory segment where the operation occurred. Identifies the type of memory involved (e.g., "Global", "Local", "Shared").

public string MemorySegment { get; set; }

Property Value

string

The memory segment as a string.

QueueDepth

Gets or sets the queue depth during the memory operation. Indicates the number of outstanding memory operations at the time.

public int QueueDepth { get; set; }

Property Value

int

The queue depth as an integer.

StartTime

Gets or sets the timestamp when the memory operation started. Marks the beginning of the memory operation.

public DateTimeOffset StartTime { get; set; }

Property Value

DateTimeOffset

The start time as a DateTimeOffset.

TransferDirection

Gets or sets the direction of the memory transfer. Indicates the flow of data (e.g., "HostToDevice", "DeviceToHost", "DeviceToDevice").

public string TransferDirection { get; set; }

Property Value

string

The transfer direction as a string.