MetOffice / MetOffice/Vernier

[Custom Issue]: Generate a peformance timeline of the top routines

Open
#206 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
6
Forks
11
Avg merge
18h 7m
Merged PRs (30d)
1

Description

### Contact Details

michele.guidolin@metoffice.gov.uk

### Are there any linked Issues or Pull Requests?

_No response_

### Brief description

It would be useful if Vernier had the possibility to generate a timeline of the top routines to understand if there is a sudden slowdown.

For example, if there is model that have the following routines structure:

* init
* read_netcdf
* write_netcdf
* iterate_day
* physics1
* physics2
* physics3
* finilize

If would be nice to have a report that show:
```
When(s) What How Long (s)
10.2 init 50.3
60.5 read_netcdf 10.1
70.5 read_netcdf 105.1
175.5 iterate_day 205.0
- 178 physics1 3.1
- 181 physics2 100.1
- 281 physics3 90.0
380.5 iterate_day 200.0
580.5 iterate_day 205.0
....
```

Extra feature would be to crate histogram of for example `iterate_day` to see if there are differen "mode" on the ieration.
Or have some metadata API that tell which file is being open that take longer.

### Further details of the issue.

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by reviewing Vernier's existing profiler and report-generation entry points; the issue does not name specific files or tests. Clarify whether the timeline, routine histogram, and file metadata are all required, then define an output format and tests that demonstrate the completed reporting behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
devtools, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.