From df6d5ba592799e2e819c8b3447b9a08e7e8d1986 Mon Sep 17 00:00:00 2001 From: Taras Madan Date: Mon, 9 Sep 2024 11:58:14 +0200 Subject: dashboard/app: use day long aggregations not week long Current coverage is a week long data merge for every day. The goal is to show a monthly data by default and make daily data available for &period=day requests. This commit makes the first two steps: 1. Make the day a day long, not a week long aggregation. 2. Enable the month long merges available for &period=month. --- tools/syz-cover/syz-cover.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'tools') diff --git a/tools/syz-cover/syz-cover.go b/tools/syz-cover/syz-cover.go index dc10a14a9..bfab129da 100644 --- a/tools/syz-cover/syz-cover.go +++ b/tools/syz-cover/syz-cover.go @@ -37,6 +37,7 @@ import ( "cloud.google.com/go/civil" "github.com/google/syzkaller/pkg/cover" "github.com/google/syzkaller/pkg/cover/backend" + "github.com/google/syzkaller/pkg/coveragedb" "github.com/google/syzkaller/pkg/log" "github.com/google/syzkaller/pkg/mgrconfig" "github.com/google/syzkaller/pkg/osutil" @@ -81,17 +82,28 @@ func parseDates() (civil.Date, civil.Date) { return dateFrom, dateTo } +func periodsFromDays(from, to civil.Date) []coveragedb.TimePeriod { + if to.Before(from) { + panic("toDay can't be less than fromDay") + } + res := []coveragedb.TimePeriod{{DateTo: from, Days: 1}} + for ; from.Before(to); from = from.AddDays(1) { + res = append(res, coveragedb.TimePeriod{DateTo: from, Days: 1}) + } + return res +} + func toolBuildNsHeatmap() { buf := new(bytes.Buffer) - dateFrom, dateTo := parseDates() + periods := periodsFromDays(parseDates()) var err error switch *flagNsHeatmapGroupBy { case "dir": - if err = cover.DoDirHeatMap(buf, *flagProjectID, *flagNsHeatmap, dateFrom, dateTo); err != nil { + if err = cover.DoDirHeatMap(buf, *flagProjectID, *flagNsHeatmap, periods); err != nil { tool.Fail(err) } case "subsystem": - if err = cover.DoSubsystemsHeatMap(buf, *flagProjectID, *flagNsHeatmap, dateFrom, dateTo); err != nil { + if err = cover.DoSubsystemsHeatMap(buf, *flagProjectID, *flagNsHeatmap, periods); err != nil { tool.Fail(err) } default: -- cgit mrf-deployment