Skip to content

Commit 4cca6fc

Browse files
authored
centipede: fix average_exec_per_sec stat (#4603)
1 parent 1b4efb5 commit 4cca6fc

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

src/clusterfuzz/_internal/bot/fuzzers/centipede/engine.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,11 @@ def fuzz(self, target_path, options, reproducers_dir, max_time): # pylint: disa
313313
'actual_duration': actual_duration,
314314
'fuzzing_time_percent': fuzzing_time_percent,
315315
})
316+
fuzz_time_secs_avg = stats.get('FuzzTimeSec_Avg', 1.0)
317+
if fuzz_time_secs_avg == 0.0:
318+
fuzz_time_secs_avg = 1.0
319+
num_execs_avg = stats.get('NumExecs_Avg', 0.0)
320+
stats['average_exec_per_sec'] = num_execs_avg / fuzz_time_secs_avg
316321
stats.update(_parse_centipede_logs(log_lines))
317322
return engine.FuzzResult(fuzz_result.output, fuzz_result.command, crashes,
318323
stats, fuzz_result.time_executed)

src/clusterfuzz/_internal/metrics/fuzzer_stats_schema.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -851,6 +851,10 @@
851851
'mode': 'NULLABLE',
852852
'name': 'fuzzing_time_percent',
853853
'type': 'FLOAT'
854+
}, {
855+
'mode': 'NULLABLE',
856+
'name': 'average_exec_per_sec',
857+
'type': 'FLOAT'
854858
}] + _COMMON_COLUMNS
855859

856860
_SCHEMA = {

src/local/butler/scripts/setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,12 +300,12 @@ def __init__(self):
300300
logs: "Link to fuzzing logs"
301301
corpus_backup: "Backup copy of the minimized corpus generated based on code coverage"'''
302302

303-
self.stats_columns = """sum(t.number_of_executed_units) as tests_executed,
303+
self.stats_columns = """sum(t.NumExecs_Max) as tests_executed,
304304
custom(j.new_crashes) as new_crashes,
305305
_EDGE_COV as edge_coverage,
306306
_COV_REPORT as cov_report,
307307
_CORPUS_SIZE as corpus_size,
308-
avg(t.FuzzTimeSec_Avg / t.NumExecs_Avg) as avg_exec_per_sec,
308+
avg(t.average_exec_per_sec) as avg_exec_per_sec,
309309
avg(t.fuzzing_time_percent) as fuzzing_time_percent,
310310
avg(t.crash_count*100) as regular_crash_percent,
311311
avg(t.oom_count*100) as oom_percent,

0 commit comments

Comments
 (0)