aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2024-08-12 16:15:13 +0200
committerTaras Madan <tarasmadan@google.com>2024-08-13 16:01:47 +0000
commitbde81f6f54f0b2fa4440884eeffa7db36b70f837 (patch)
tree25ef99c49caea6bf937781168b3ceb7a817e4d97 /tools
parent068ad4fdb4cc546e45708cc40115e2baf3c49830 (diff)
tools/syz-bq.sh: rewrite logic in golang
Diffstat (limited to 'tools')
-rwxr-xr-xtools/syz-bq.sh29
-rw-r--r--tools/syz-covermerger/syz_covermerger.go31
2 files changed, 24 insertions, 36 deletions
diff --git a/tools/syz-bq.sh b/tools/syz-bq.sh
index f15de82cf..7d070a3b7 100755
--- a/tools/syz-bq.sh
+++ b/tools/syz-bq.sh
@@ -95,35 +95,6 @@ else
echo $total_rows rows are available for processing
fi
-sessionID=$(cat /proc/sys/kernel/random/uuid)
-gsURI=$(echo gs://syzbot-temp/bq-exports/${sessionID}/*.csv.gz)
-echo fetching data from bigquery
-query=$( echo -n '
-EXPORT DATA
- OPTIONS (
- uri = "'$gsURI'",
- format = "CSV",
- overwrite = true,
- header = true,
- compression = "GZIP")
-AS (
- SELECT
- kernel_repo, kernel_branch, kernel_commit, file_path, sl, SUM(hit_count) as hit_count
- FROM syzkaller.syzbot_coverage.`'$namespace'`
- WHERE
- TIMESTAMP_TRUNC(timestamp, DAY) >= "'$from_date'" AND
- TIMESTAMP_TRUNC(timestamp, DAY) <= "'$to_date'" AND
- version = 1
- GROUP BY file_path, kernel_commit, kernel_repo, kernel_branch, sl
- ORDER BY file_path
-);
-')
-
-bq query --format=csv --use_legacy_sql=false "$query"
-sessionDir="$workdir/sessions/$sessionID"
-mkdir -p $sessionDir
-gsutil -m cp $gsURI $sessionDir
-cat $sessionDir/*.csv.gz | gunzip | \
go run ./tools/syz-covermerger/ -workdir $workdir \
-repo $repo \
-branch $branch \
diff --git a/tools/syz-covermerger/syz_covermerger.go b/tools/syz-covermerger/syz_covermerger.go
index d3b9de2ae..05bd9f4d2 100644
--- a/tools/syz-covermerger/syz_covermerger.go
+++ b/tools/syz-covermerger/syz_covermerger.go
@@ -4,10 +4,10 @@
package main
import (
+ "context"
"flag"
"fmt"
"log"
- "os"
"runtime"
"sort"
@@ -57,15 +57,32 @@ func main() {
},
FileVersProvider: makeProvider(),
}
- mergeResult, err := covermerger.MergeCSVData(config, os.Stdin)
- if err != nil {
- panic(err)
- }
- printMergeResult(mergeResult)
- var dateTo civil.Date
+ var dateFrom, dateTo civil.Date
+ var err error
if dateTo, err = civil.ParseDate(*flagDateTo); err != nil {
panic(fmt.Sprintf("failed to parse time_to: %s", err.Error()))
}
+ dateFrom = dateTo.AddDays(-int(*flagDuration))
+ dbReader := covermerger.MakeBQCSVReader()
+ if err = dbReader.InitNsRecords(context.Background(),
+ *flagNamespace,
+ "",
+ dateFrom,
+ dateTo,
+ ); err != nil {
+ panic(fmt.Sprintf("failed to dbReader.InitNsRecords: %v", err.Error()))
+ }
+ defer dbReader.Close()
+ csvReader, errReader := dbReader.Reader()
+ if errReader != nil {
+ panic(fmt.Sprintf("failed to dbReader.Reader: %v", errReader.Error()))
+ }
+ mergeResult, errMerge := covermerger.MergeCSVData(config, csvReader)
+ if errMerge != nil {
+ panic(errMerge)
+ }
+ printMergeResult(mergeResult)
+
coverage, _, _ := mergeResultsToCoverage(mergeResult)
if *flagToDashAPI != "" {
if err := saveCoverage(*flagToDashAPI, *flagDashboardClientName, &dashapi.MergedCoverage{