Skip to content

Conversation

@micaeljtoliveira
Copy link
Member

@micaeljtoliveira micaeljtoliveira commented Dec 22, 2025

Some refactoring of the manager code:

  • Replace the parse_profiling_data method with profiling_logs, a method that returns a dict of logs to be parsed
  • ProfilingLogs now have a "optional" property: when parsing optional logs, no error is returned if the file is missing or not data is parsed
  • Replace the parse_scaling_data with a more generic parse_profiling_data method. This new method parses all the logs from all experiments, then stores the profiling data per experiment, without concatenating the datasets.
  • The scaling data is now computed on-the-fly when calling plot_scaling_data.
  • When computing the scaling data on-the-fly when, plot_scaling_data now takes care of filtering the components and regions, and of relabeling the regions. This in turn allows to simplify the plot_scaling_metrics function.
  • Move __init__ and parse_ncpus methods from RAM3Profiling to CylcRoseManager. These seem generic enough to be move one level up.

@codecov
Copy link

codecov bot commented Dec 22, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (3798590) to head (43c59ff).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #44   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           16        16           
  Lines          782       791    +9     
=========================================
+ Hits           782       791    +9     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

 - replace the parse_profiling_data method with profiling_logs, a method that returns a dict of logs to be parsed
 - add a  _parse_profiling_data_directory helper method to parse all the logs from a given experiment path
 - ProfilingLogs now have a "optional" property: when parsing optional logs, no error is returned if the file is missing or not data is parsed

The PayuManager and CylcRoseManager are updated accordingly.
…nager. These seem generic enough to be move one level up.
@micaeljtoliveira micaeljtoliveira force-pushed the refactor_parse_profiling_data branch from f5d374c to 1460245 Compare December 22, 2025 04:33
…data method. This new method stores the profiling data per experiment, without concatenatng the datasets. The scaling data is then computed on-the-fly when calling plot_scaling_data.

- When computing the scaling data on-the-fly when, plot_scaling_data now takes care of filtering the components and regions, and of relabeling the regions. This in turn allows to simplify the plot_scaling_metrics function.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants