Table of Contents

Interface IFoundryPerformanceStatistics

Namespace
WorkflowForge.Extensions.Observability.Performance.Abstractions
Assembly
WorkflowForge.Extensions.Observability.Performance.dll

Represents performance statistics for a foundry execution. Provides insights into the foundry's operational efficiency and resource utilization. This is an extension interface available when the WorkflowForge.Extensions.Observability.Performance package is installed.

public interface IFoundryPerformanceStatistics

Properties

AverageDuration

Gets the average execution duration across all operations.

TimeSpan AverageDuration { get; }

Property Value

TimeSpan

AverageMemoryPerOperation

Gets the average memory allocated per operation.

long AverageMemoryPerOperation { get; }

Property Value

long

EndTime

Gets the timestamp when statistics collection ended or current time if still running.

DateTimeOffset EndTime { get; }

Property Value

DateTimeOffset

FailedOperations

Gets the number of failed operations.

int FailedOperations { get; }

Property Value

int

MaximumDuration

Gets the maximum execution duration recorded.

TimeSpan MaximumDuration { get; }

Property Value

TimeSpan

MinimumDuration

Gets the minimum execution duration recorded.

TimeSpan MinimumDuration { get; }

Property Value

TimeSpan

OperationsPerSecond

Gets the operations per second throughput.

double OperationsPerSecond { get; }

Property Value

double

StartTime

Gets the timestamp when statistics collection started.

DateTimeOffset StartTime { get; }

Property Value

DateTimeOffset

SuccessRate

Gets the overall success rate as a percentage (0.0 to 1.0).

double SuccessRate { get; }

Property Value

double

SuccessfulOperations

Gets the number of successfully completed operations.

int SuccessfulOperations { get; }

Property Value

int

TotalDuration

Gets the total duration of the foundry execution.

TimeSpan TotalDuration { get; }

Property Value

TimeSpan

TotalMemoryAllocated

Gets the total memory allocated during foundry operations.

long TotalMemoryAllocated { get; }

Property Value

long

TotalOperations

Gets the total number of operations executed in the foundry.

int TotalOperations { get; }

Property Value

int

Methods

GetAllOperationStatistics()

Gets performance statistics for all operations.

IReadOnlyList<IOperationStatistics> GetAllOperationStatistics()

Returns

IReadOnlyList<IOperationStatistics>

A collection of operation statistics.

GetOperationStatistics(string)

Gets detailed statistics for a specific operation by name.

IOperationStatistics? GetOperationStatistics(string operationName)

Parameters

operationName string

The name of the operation.

Returns

IOperationStatistics

Operation-specific statistics or null if not found.