Commit Graph
14 Commits
Author SHA1 Message Date
Tomás Ortellado ed33660a80 fix(tools): include folded-only threads in trace digests 2026-10-15 10:17:22 -03:00
Adrià 598dd15954 Merge pull request #5763 from angleboyndn-stack/fix/trace-digest-gpu-mutex-waits
fix(tools): classify GPU mutex trace slices as waits
2026-10-15 14:48:45 +02:00
Adrià 92cdc7b622 Merge pull request #5768 from GalaxyGamingFR/fix/trace-digest-utf8-stdout
fix(trace_digest): print non-ASCII names on a legacy console
2026-10-15 14:46:44 +02:00
Adrià 705b32d919 Merge pull request #5719 from Ondra97/codex/fix-trace-uncompressed-summary
fix(tools): retain summaries for decompressed traces
2026-10-15 14:14:31 +02:00
Adrià 47d913be43 Merge pull request #5442 from ideabsassistenza/fix/trace-slice-boundaries
fix(tools): compare trace slice boundaries at nanosecond precision
2026-10-14 22:46:41 +02:00
Josip Parlov 99e5ef9803 feat(tools): trace_digest lists the largest GPU batches with the CPU slices that recorded them
With batch ids in the trace, the digest gains a Largest GPU batches
section: for the longest GPU batch slices, the GPU ranges inside each and
the CPU slices carrying the same batch id, inclusive. --json carries it as
largest_gpu_batches. Traces without batch ids are digested as before.
2026-10-14 14:08:52 +02:00
Adrià 2a99157640 Merge pull request #4812 from AlxcBTW/feat/trace-summary-interval
feat(agc): add APS5_TRACE_SUMMARY_EVERY for summary lines of a long session
2026-10-14 12:24:56 +02:00
GalaxyGamingFRandClaude Opus 5.5 c177bde316 fix(trace_digest): print non-ASCII names on a legacy console
On Windows, piped or redirected output uses the ANSI code page, so a
trace whose thread or slice names are not in cp1252 (a Japanese thread
name, for example) made the markdown digest stop with
UnicodeEncodeError after the work was done. stdout is now set to UTF-8
when the tool runs from the command line, as check_conventions.py does.
The --json output was not affected because json.dumps escapes non-ASCII.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012zyXkUzTZGh3nBwNMtrLaW
2026-10-14 02:52:39 -07:00
ShinMalphur 97bb32d516 fix(tools): classify GPU mutex trace slices as waits 2026-10-14 16:21:35 +06:30
Ondra97 f6b9938d73 fix(tools): retain summaries for decompressed traces 2026-10-14 09:58:57 +02:00
ideabsassistenza 5e4d5e64ca fix(tools): compare trace slice boundaries at nanosecond precision 2026-10-13 21:52:37 +02:00
AlxcBTWandClaude Opus 5.5 52c71b837c feat(agc): add APS5_TRACE_SUMMARY_EVERY for summary lines of a long session
APS5_TRACE_SUMMARY_EVERY=<seconds> appends one line to aps5-summary.jsonl
every <seconds> seconds, at a present, from the per-scope totals the trace
threads already keep. No event buffer is allocated unless a window switch is
set as well; then the window records its full trace on top of the intervals
and its own summary line holds only the time inside the window. Each line has
the fields of the window summary line for its interval plus interval_start_s
and interval_end_s.

tools/trace_digest.py prints a summary file with interval lines as one row
per interval with a text sparkline of the frame p99 and the GPU busy time.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 00:40:52 +02:00
ArjenS-LA 819c475266 fix(tools): match explicit trace summaries to their capture 2026-10-12 15:18:16 -07:00
AlxcBTWandClaude Opus 5.5 ca219d1b67 feat(tools): digest a performance trace for an issue or a pull request
tools/trace_digest.py reads an APS5_TRACE_FRAMES capture (aps5-trace-*.json.gz)
and prints a markdown report of a few KB, or the same data as JSON: the
summary line from aps5-summary.jsonl, the slowest frames with their largest
slices, the busy, wait and untraced time of each thread, the largest slices
per frame, the longest waits, and with --stacks the hottest frames of an
APS5_SAMPLE_WORKER collapsed-stack file. Python standard library only; a
unittest checks every section on a small synthetic trace.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 21:33:18 +02:00