Skip to content

Revamp overall report UI and improve report navigation #1102

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 33 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
353f00f
Add layout and web.py changes
myanvoos Jun 8, 2025
b404116
Modify total run time handling in base layout
myanvoos Jun 8, 2025
0a1cc6b
Move prettify logic to base.html for shared utility
myanvoos Jun 8, 2025
36819f7
Add benchmark prototype
myanvoos Jun 8, 2025
c6e85c9
Add prototype sample page
myanvoos Jun 8, 2025
7227933
Add TOC for the index page
myanvoos Jun 8, 2025
21b40d2
Move ToC to base layout
myanvoos Jun 8, 2025
132f5c2
Dark mode improvements
myanvoos Jun 8, 2025
720dbe9
Lint
myanvoos Jun 8, 2025
0058949
Small CSS fix for hljs in dark mode
myanvoos Jun 8, 2025
21190be
Merge branch 'main' into prototype-integration-and-toc
myanvoos Jun 12, 2025
b5f724f
Rename summary table to project summary for better clarity
myanvoos Jun 12, 2025
e5b004c
Add benchmark table back in
myanvoos Jun 12, 2025
015cd7f
Lint fix
myanvoos Jun 12, 2025
9c7a6e7
Merge branch 'main' into prototype-integration-and-toc
myanvoos Jun 13, 2025
a5c7087
Add total accumulated results row for project summary table
myanvoos Jun 13, 2025
ddfc5c1
Add total crash row for crashes table
myanvoos Jun 13, 2025
a7e268b
Group stack traces and crash functions into one collapsible section t…
myanvoos Jun 13, 2025
5b0bc55
Revert timings change
myanvoos Jun 13, 2025
8af9834
Refactor function to get semantic analyzer log to use FileSystem
myanvoos Jun 13, 2025
6bbcdc4
Merge branch 'main' into prototype-integration-and-toc
myanvoos Jun 18, 2025
a95c253
Fix get macro insights handling of one benchmark case
myanvoos Jun 18, 2025
cc9b6c1
Refactor web.py to avoid incomplete accumulated results
myanvoos Jun 18, 2025
ab20b1f
Merge branch 'main' into prototype-report
myanvoos Jun 19, 2025
3d3f945
Remove semantic analyzer
myanvoos Jun 19, 2025
d8cbbdf
Remove unified JSON
myanvoos Jun 19, 2025
48d58ab
Roll back get macro insights logic
myanvoos Jun 19, 2025
ce903ae
Fix division by zero bug in base.html
myanvoos Jun 20, 2025
3c301e1
Add more conditional rendering
myanvoos Jun 20, 2025
b62b987
Fix navigation with breadcrumbs, add text wrap, and improve auto-scro…
myanvoos Jun 20, 2025
8a9bdad
Add semantic analyzer logging and unified JSON back in
myanvoos Jun 20, 2025
3e85108
Merge branch 'main' into prototype-integration-and-toc
myanvoos Jun 20, 2025
1d8db8f
Merge branch 'main' into prototype-integration-and-toc
myanvoos Jun 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 23 additions & 8 deletions report/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -485,14 +485,29 @@ def get_macro_insights(self,
benchmarks: list[Benchmark]) -> AccumulatedResult:
"""Returns macro insights from the aggregated benchmark results."""
accumulated_results = AccumulatedResult()
for benchmark in benchmarks:
accumulated_results.compiles += int(
benchmark.result.build_success_rate > 0.0)
accumulated_results.crashes += int(benchmark.result.found_bug > 0)
accumulated_results.total_coverage += benchmark.result.max_coverage
accumulated_results.total_runs += 1
accumulated_results.total_line_coverage_diff += (
benchmark.result.max_line_coverage_diff)
if len(benchmarks) == 1:
benchmark = benchmarks[0]
results, targets = self.get_results(benchmark.id)
samples = self.get_samples(results, targets)

for sample in samples:
if sample.result and sample.result.finished:
accumulated_results.compiles += int(sample.result.compiles)
accumulated_results.crashes += int(sample.result.crashes)
accumulated_results.crash_cases += int(sample.result.crashes)
accumulated_results.total_coverage += sample.result.coverage
accumulated_results.total_runs += 1
accumulated_results.total_line_coverage_diff += (
sample.result.line_coverage_diff)
else:
for benchmark in benchmarks:
accumulated_results.compiles += int(
benchmark.result.build_success_rate > 0.0)
accumulated_results.crashes += int(benchmark.result.found_bug > 0)
accumulated_results.total_coverage += benchmark.result.max_coverage
accumulated_results.total_runs += 1
accumulated_results.total_line_coverage_diff += (
benchmark.result.max_line_coverage_diff)
return accumulated_results

def get_coverage_language_gains(self):
Expand Down
Loading