Commit c788cce
Align all reporters: consistent fields, Config params, historical comparison
Reporter consistency fixes:
- All reporters now have access to the same data through ProfileResult
- Config parameters (I, E, M, device) added to every JSONL entry via
SciProfiler::stop() — essential for reproducibility
- Extract ReadsJsonlHistory trait: shared ring-buffer JSONL reader
replaces duplicated 35-line readEntries() in Html/TrendReporter
LogReporter improvements:
- Now includes script_filename (basename) when it differs from URI
- Now shows HTTP response code as [404] badge for non-CLI requests
- CLI requests skip response code display
HtmlReporter rebuild:
- New "Measurement Parameters" section showing E, I, M, lifetime
- Per-script grouping table with run count, avg SCI, avg time, peak memory
- Historical comparison: first-half vs second-half SCI delta with trend indicator
- Detail table with response code badges (color-coded ok/redir/err)
- Delta markers (▲▼) between consecutive requests
- Empty state handling when no JSONL data exists
TrendReporter alignment:
- Uses shared ReadsJsonlHistory trait
- Now shows Config parameters and machine description in header
- Memory stats (avg/peak MB) added to per-script section
- Memory column added to recent history table
Test coverage (43 tests, 152 assertions):
- New: testJsonReporterIncludesAllFields (config.*, script_filename)
- New: testLogReporterIncludesScriptFilenameAndStatus
- New: testLogReporterSkipsStatusForCli
- New: testHtmlReporterShowsConfigParameters
- New: testHtmlReporterShowsPerScriptGrouping
- New: testHtmlReporterHandlesEmptyData
- New: testTrendReporterShowsConfigAndMemory
- New: testTrendReporterSkipsWithLessThanTwoEntries
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent 29dee7e commit c788cce
7 files changed
Lines changed: 670 additions & 243 deletions
Binary file not shown.
0 commit comments