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.