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