CI Performance Monitoring and Regression Detection
This module tracks CI execution times and detects performance regressions to ensure Windows CI tests complete within acceptable time limits (Issue #188).
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=256), | public | :: | test_name | = | "" | ||
| real(kind=real64), | public | :: | execution_time | = | 0.0_real64 | ||
| real(kind=real64), | public | :: | baseline_time | = | 0.0_real64 | ||
| logical, | public | :: | regression_detected | = | .false. | ||
| real(kind=real64), | public | :: | timestamp | = | 0.0_real64 | 
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(performance_metric_t), | public, | dimension(:), allocatable | :: | metrics | |||
| integer, | public | :: | metric_count | = | 0 | ||
| integer, | public | :: | max_metrics | = | 1000 | ||
| real(kind=real64), | public | :: | total_execution_time | = | 0.0_real64 | ||
| real(kind=real64), | public | :: | performance_threshold | = | 1.5_real64 | ||
| logical, | public | :: | monitoring_enabled | = | .false. | ||
| character(len=256), | public | :: | baseline_file | = | "ci_performance_baseline.dat" | 
| procedure, public :: initialize => monitor_initialize | |
| procedure, public :: start_test => monitor_start_test | |
| procedure, public :: end_test => monitor_end_test | |
| procedure, public :: check_performance_regression => monitor_check_regression | |
| procedure, public :: generate_performance_report => monitor_generate_report | |
| procedure, public :: save_baseline => monitor_save_baseline | |
| procedure, public :: load_baseline => monitor_load_baseline | |
| procedure, public :: get_test_time => monitor_get_test_time | |
| procedure, public :: get_total_time => monitor_get_total_time | 
Get global CI performance monitor