MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / summarize

Function summarize

tools/provenance-eval/multi_session.py:171–193  ·  view source on GitHub ↗
(rows)

Source from the content-addressed store, hash-verified

169
170
171def summarize(rows):
172 grouped = {}
173 for row in rows:
174 grouped.setdefault(f"{row['scenario']}:{row['workers']}:{row['mode']}", []).append(row)
175 output = {}
176 for key, runs in grouped.items():
177 sessions = [s for r in runs for s in r["sessions"]]
178 reads = [x for s in sessions for x in s["reads"]]
179 stops = [x for s in sessions for x in s["stops"]]
180 writes = [x for s in sessions for x in s["writes_ms"]]
181 lat = lambda xs: base.summary(xs) if xs else None
182 output[key] = {"runs": len(runs), "wall_s_median": statistics.median(r["wall_s"] for r in runs),
183 "wall_s_range": [min(r["wall_s"] for r in runs), max(r["wall_s"] for r in runs)],
184 "read_ok": sum(x["ok"] for x in reads), "read_total": len(reads),
185 "read_ms": lat([x["ms"] for x in reads if x["ok"]]),
186 "write_ms": lat(writes), "stop_ms": lat([x["ms"] for x in stops if x["ok"]]),
187 "stop_ok": sum(x["ok"] for x in stops), "stop_total": len(stops),
188 "verified_sessions": sum(len(r["verified"]) for r in runs),
189 "expected_sessions": sum(r["workers"] for r in runs),
190 "verification_failures": sum(len(r["verification_errors"]) for r in runs),
191 "worker_failures": sum(len(s["failures"]) for s in sessions),
192 "turn_ms": lat([x for s in sessions for x in s["turn_ms"]])}
193 return output
194
195
196def main():

Callers 1

executeFunction · 0.70

Calls 2

appendMethod · 0.45
summaryMethod · 0.45

Tested by

no test coverage detected