You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is done via `line_profiler`. Ramble already supports `cProfile` via
`ramble -p`, but sometimes it's useful to get per-line information.
Example output (the output itself is boring, illustration only...)
```
$ ramble workspace analyze --profile-phase prepare_analysis
Timer unit: 1e-09 s
Total time: 5.34e-07 s
File: hpc-dev/ramble/lib/ramble/ramble/application.py
Function: _prepare_analysis at line 1682
Line # Hits Time Per Hit % Time Line Contents
==============================================================
1682 def _prepare_analysis(self, workspace, app_inst=None):
1683 """Prepapre experiment for analysis extraction
1684
1685 This function performs any actions that are necessary before the
1686 figures of merit, and success criteria can be properly extracted.
1687
1688 This function can be overridden at the application level to perform
1689 application specific processing of the output.
1690 """
1691 1 534.0 534.0 100.0 pass
Total time: 0.0016208 s
File: hpc-dev/ramble/var/ramble/repos/builtin/modifiers/gcp-metadata/modifier.py
Function: _prepare_analysis at line 233
Line # Hits Time Per Hit % Time Line Contents
==============================================================
233 def _prepare_analysis(self, workspace):
234 1 631403.0 631403.0 39.0 self._process_id_list()
235 1 497900.0 497900.0 30.7 self._process_id_map()
236 1 491493.0 491493.0 30.3 self._process_physical_hosts(workspace)
```
0 commit comments