File tree Expand file tree Collapse file tree 1 file changed +12
-6
lines changed
src/vivarium_profiling/tools Expand file tree Collapse file tree 1 file changed +12
-6
lines changed Original file line number Diff line number Diff line change @@ -44,21 +44,27 @@ def summarize(
4444 if config is None :
4545 config = ExtractionConfig ()
4646
47- bottleneck_names = [p .name for p in config .patterns if p .extract_cumtime ]
47+ # Only bottlenecks (patterns with default cumtime template) get fraction calculations
48+ bottleneck_patterns = [
49+ p
50+ for p in config .patterns
51+ if p .extract_cumtime and p .cumtime_col == f"{ p .name } _cumtime"
52+ ]
4853
4954 summary = raw .copy ()
5055 summary ["rt_non_run_s" ] = summary ["rt_s" ] - summary ["rt_run_s" ]
5156
5257 # Calculate bottleneck fractions of run() time
53- for bottleneck in bottleneck_names :
54- cumtime_col = f"{ bottleneck } _cumtime"
55- if cumtime_col in summary .columns :
56- summary [f"{ bottleneck } _fraction" ] = summary [cumtime_col ] / summary ["rt_run_s" ]
58+ for pattern in bottleneck_patterns :
59+ if pattern .cumtime_col in summary .columns :
60+ summary [f"{ pattern .name } _fraction" ] = (
61+ summary [pattern .cumtime_col ] / summary ["rt_run_s" ]
62+ )
5763
5864 agg_dict = {}
5965
6066 metric_columns = BASE_SUMMARIZE_COLUMNS + config .metric_columns
61- fraction_columns = [f"{ bn } _fraction" for bn in bottleneck_names ]
67+ fraction_columns = [f"{ p . name } _fraction" for p in bottleneck_patterns ]
6268
6369 for col in metric_columns + fraction_columns :
6470 if col in summary .columns :
You can’t perform that action at this time.
0 commit comments