Skip to content

Commit 708d155

Browse files
committed
make bottleneck patterns more strict
1 parent ac6e2c2 commit 708d155

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

src/vivarium_profiling/tools/summarize.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff 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:

0 commit comments

Comments
 (0)