Table of Contents

Namespace WorkflowForge.Extensions.Observability.Performance

Classes

FoundryPerformanceStatistics

Thread-safe aggregate of foundry performance statistics, collected across all operations executed while performance monitoring is enabled. Populated by PerformanceStatisticsMiddleware and retrieved via GetPerformanceStatistics(IWorkflowFoundry).

OperationStatistics

Thread-safe accumulator of performance statistics for a single named operation. Populated by PerformanceStatisticsMiddleware.

PerformanceLogMessages

Performance-specific log messages for the Performance extension. These messages complement the core WorkflowLogMessages with performance monitoring concerns.

PerformancePropertyNames

Property names specific to performance monitoring for structured logging. These properties extend the core PropertyNames with performance-specific metrics.

PerformanceStatisticsMiddleware

Operation middleware that records timing, success/failure, and approximate memory allocation for each operation into a FoundryPerformanceStatistics instance.

Added automatically by EnablePerformanceMonitoring(IWorkflowFoundry). In that mode the middleware resolves the active statistics from the foundry services on each call, so enabling/disabling monitoring is a matter of setting/removing that service — the middleware simply no-ops while no statistics object is present.

For standalone use, construct it with an explicit FoundryPerformanceStatistics and add it via foundry.AddMiddleware(...); it will always record into that instance.

WorkflowFoundryPerformanceExtensions

Extension methods that add performance monitoring capabilities to WorkflowFoundry. These extensions are available when the WorkflowForge.Extensions.Observability.Performance package is installed.

Interfaces

IPerformanceMonitoredFoundry

Interface for foundries that support performance monitoring. Implementations should extend this interface when WorkflowForge.Extensions.Observability.Performance is available.