reframe-hpc / reframe

A powerful Python framework for writing and running portable regression tests and benchmarks for HPC systems.
https://reframe-hpc.readthedocs.org
BSD 3-Clause "New" or "Revised" License
217 stars 103 forks source link

Problematic formatting of perflog headers when using `perflog_compat` #3163

Closed teojgo closed 4 months ago

teojgo commented 5 months ago

For example for the perflog header based on format: https://github.com/eth-cscs/cscs-reframe-tests/blob/dea38f67cd1c5ff9d80f7dbd785854733433d86d/config/common.py#L54

A final header looks as follows: job_completion_time|version|info|jobid|num_tasks|perf_var=perf_value|perf_ref perf_lower_thres,perf_upper_thres)perf_unit

vkarak commented 5 months ago

Oh yeah, I've come across it and have noted it down to open an issue about.

vkarak commented 5 months ago

This happens when you use the perflog_compat only.

vkarak commented 4 months ago

I think the header generator gets confused from the spaces and the parenthesis in the format. Here is the regex used:

https://github.com/reframe-hpc/reframe/blob/09ae0293001696656ec548dc0fcc1378a20bc7cf/reframe/core/logging.py#L172

And here the groups extracted:

https://github.com/reframe-hpc/reframe/blob/09ae0293001696656ec548dc0fcc1378a20bc7cf/reframe/core/logging.py#L191-L193