Skip to content

Commit 83d4fac

Browse files
mi-acV8-internal LUCI CQ
authored andcommitted
Print corpus import durations
Bug: 442444727 Change-Id: I2b829da00393a63f40ac2791091ff73bd288aa24 Reviewed-on: https://chrome-internal-review.googlesource.com/c/v8/fuzzilli/+/8935636 Reviewed-by: Matthias Liedtke <mliedtke@google.com> Commit-Queue: Michael Achenbach <machenbach@google.com>
1 parent 8674444 commit 83d4fac

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

Sources/FuzzilliCli/main.swift

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -641,6 +641,7 @@ fuzzer.sync {
641641

642642
// Resume a previous fuzzing session ...
643643
if resume, let path = storagePath {
644+
let start = Date()
644645
var corpus = loadCorpus(from: path + "/old_corpus")
645646
logger.info("Scheduling import of \(corpus.count) programs from previous fuzzing run.")
646647

@@ -650,6 +651,10 @@ fuzzer.sync {
650651
fuzzer.registerEventListener(for: fuzzer.events.CorpusImportComplete) {
651652
// Delete the old corpus directory as soon as the corpus import is complete.
652653
try? FileManager.default.removeItem(atPath: path + "/old_corpus")
654+
655+
let duration = Date().timeIntervalSince(start)
656+
let humanReadableDuration = Duration.seconds(duration).formatted(.time(pattern: .hourMinuteSecond))
657+
logger.info("Corpus import after resume took \((String(format: "%.0f", duration)))s (\(humanReadableDuration)).")
653658
}
654659

655660
fuzzer.scheduleCorpusImport(corpus, importMode: .interestingOnly(shouldMinimize: false)) // We assume that the programs are already minimized
@@ -658,11 +663,19 @@ fuzzer.sync {
658663
// ... or import an existing corpus.
659664
if let path = corpusImportPath {
660665
assert(!resume)
666+
let start = Date()
661667
let corpus = loadCorpus(from: path)
662668
guard !corpus.isEmpty else {
663669
logger.fatal("Cannot import an empty corpus.")
664670
}
665671
logger.info("Scheduling corpus import of \(corpus.count) programs with mode \(corpusImportModeName).")
672+
673+
fuzzer.registerEventListener(for: fuzzer.events.CorpusImportComplete) {
674+
let duration = Date().timeIntervalSince(start)
675+
let humanReadableDuration = Duration.seconds(duration).formatted(.time(pattern: .hourMinuteSecond))
676+
logger.info("Existing corpus import took \((String(format: "%.0f", duration)))s (\(humanReadableDuration)).")
677+
}
678+
666679
fuzzer.scheduleCorpusImport(corpus, importMode: corpusImportMode)
667680
}
668681

0 commit comments

Comments
 (0)