Skip to content

Extend the types of data the profiling parsers can handle#56

Merged
micaeljtoliveira merged 3 commits into
mainfrom
extend_profiling_data
May 6, 2026
Merged

Extend the types of data the profiling parsers can handle#56
micaeljtoliveira merged 3 commits into
mainfrom
extend_profiling_data

Conversation

@micaeljtoliveira

Copy link
Copy Markdown
Member
  • now hierarchical data is properly handled
  • data per processing element (PE) is also taken into account Several changes to make this work:
  • new metrics are introduced and the meaning of existing metrics is clarified
  • added function to aggregate data over PEs
  • added function to convert from hierarchical to flat

This PR was prepared with the help of Claude Opus 4.6.

@micaeljtoliveira micaeljtoliveira added the enhancement New feature or request label Mar 25, 2026
@codecov

codecov Bot commented Mar 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (99836f7) to head (99e3eb7).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #56   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           16        16           
  Lines          906       948   +42     
=========================================
+ Hits           906       948   +42     

☔ 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.

@micaeljtoliveira

Copy link
Copy Markdown
Member Author

@edoyango @manodeep Would one of you be available to review this PR? It should not be too complicated, but there's a lot of new documentation that needs a second pair of eyes.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Extends the profiling pipeline to support additional parser output shapes (hierarchical/nested region trees and per-processing-element “pe” data) and to transform those into usable xarray.Dataset forms within ProfilingLog.parse().

Changes:

  • Add flatten_hierarchical() and aggregate_pe_data() utilities in access.profiling.parser.
  • Update ProfilingLog.parse() to automatically flatten hierarchical parser outputs and to build 2D datasets for per-PE outputs.
  • Expand tests to cover hierarchical parsing, per-PE datasets, and PE aggregation statistics; clarify metric descriptions/documentation.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/test_parser.py Adds unit tests for aggregate_pe_data() output variables and error handling.
tests/test_experiment.py Adds coverage for ProfilingLog.parse() with hierarchical and per-PE parser outputs.
src/access/profiling/parser.py Documents supported parser output shapes; adds hierarchical flattening + PE aggregation helpers.
src/access/profiling/metrics.py Clarifies metric semantics and naming conventions around aggregation dimensions.
src/access/profiling/experiment.py Enhances ProfilingLog.parse() to accept hierarchical and per-PE parser outputs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tests/test_parser.py Outdated
Comment thread src/access/profiling/parser.py Outdated

@edoyango edoyango left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

micaeljtoliveira and others added 3 commits May 7, 2026 01:08
- now hierarchical data is properly handled
- data per processing element (PE) is also taken into account
Several changes to make this work:
- new metrics are introduced and the meaning of existing metrics is clarified
- added function to aggregate data over PEs
- added function to convert from hierarchical to flat
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@micaeljtoliveira micaeljtoliveira force-pushed the extend_profiling_data branch from 0f2e3c9 to 99e3eb7 Compare May 6, 2026 15:09
@micaeljtoliveira micaeljtoliveira merged commit 0e45847 into main May 6, 2026
8 checks passed
@micaeljtoliveira micaeljtoliveira deleted the extend_profiling_data branch May 6, 2026 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants