sec_interp.core.performance_metrics module¶
Performance metrics module for SecInterp plugin.
This module provides tools for tracking performance and resource usage across the plugin’s operations.
- class sec_interp.core.performance_metrics.MetricsCollector¶
Bases:
objectCollects and aggregates performance metrics.
- record_timing(operation: str, duration: float) None¶
Record duration of an operation.
- Parameters:
operation – Name of the operation
duration – Duration in seconds
- record_count(metric: str, count: int) None¶
Record a count metric (e.g. number of points).
- Parameters:
metric – Name of the metric
count – Count value
- add_metadata(key: str, value: Any) None¶
Add metadata to the metrics collection.
- Parameters:
key – Metadata key
value – Metadata value
- get_summary() dict[str, Any]¶
Get summary of collected metrics.
- Returns:
Dictionary with all collected metrics
- clear() None¶
Clear all collected metrics.
- class sec_interp.core.performance_metrics.PerformanceTimer(operation_name: str, collector: MetricsCollector | None = None, logger_func: Any | None = None)¶
Bases:
objectContext manager for timing operations.
Initialize timer.
- Parameters:
operation_name – Name of operation to measure
collector – Optional metrics collector to record into
logger_func – Optional logger function for immediate logging
- __init__(operation_name: str, collector: MetricsCollector | None = None, logger_func: Any | None = None)¶
Initialize timer.
- Parameters:
operation_name – Name of operation to measure
collector – Optional metrics collector to record into
logger_func – Optional logger function for immediate logging
- __enter__()¶
Start the timer.
- Returns:
The timer instance
- Return type:
self
- __exit__(exc_type, exc_val, exc_tb)¶
Stop the timer and record/log validity.
- Parameters:
exc_type – Exception type if raised
exc_val – Exception value if raised
exc_tb – Exception traceback if raised
- sec_interp.core.performance_metrics.format_duration(seconds: float) str¶
Format duration in human readable format.
- Parameters:
seconds – Duration in seconds
- Returns:
Formatted string (e.g. “1.2s”, “150ms”)
- class sec_interp.core.performance_metrics.PerformanceMonitor(log_file='performance.log')¶
Bases:
objectPerformance monitoring using only Python standard library.
- measure_operation(operation_name, **metadata)¶
Context manager to measure operation performance.
- get_operation_stats(operation_name)¶
Get statistics for an operation.
- sec_interp.core.performance_metrics.performance_monitor(func)¶
Decorator to automatically monitor function performance.