From 935776547ffa3f56f230ee518491db1c8436052c Mon Sep 17 00:00:00 2001 From: brun0-matheus Date: Fri, 30 Oct 2026 18:00:03 +0000 Subject: [PATCH] Revert "Remove bad_build check duration metric" This reverts commit cfa5f2ebdd0d75772b756ef5a03162a28f62e32f. --- .../_internal/bot/tasks/utasks/fuzz_task.py | 5 +++-- src/clusterfuzz/_internal/metrics/fuzzer_stats.py | 5 +++++ .../tests/core/bot/tasks/utasks/fuzz_task_test.py | 14 ++++++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/clusterfuzz/_internal/bot/tasks/utasks/fuzz_task.py b/src/clusterfuzz/_internal/bot/tasks/utasks/fuzz_task.py index aa6f6ee47b..25c3ef45b1 100644 --- a/src/clusterfuzz/_internal/bot/tasks/utasks/fuzz_task.py +++ b/src/clusterfuzz/_internal/bot/tasks/utasks/fuzz_task.py @@ -2205,8 +2205,9 @@ def run(self): logs.info('Checking for bad build.') crash_revision = environment.get_value('APP_REVISION') - build_data = testcase_manager.check_for_bad_build(self.job_type, - crash_revision) + with self.steps_time_tracker.track('bad_build_check'): + build_data = testcase_manager.check_for_bad_build(self.job_type, + crash_revision) self.fuzz_task_output.build_data.CopyFrom(build_data) _track_build_run_result(self.job_type, crash_revision, build_data.is_bad_build) diff --git a/src/clusterfuzz/_internal/metrics/fuzzer_stats.py b/src/clusterfuzz/_internal/metrics/fuzzer_stats.py index 308d49d6be..463447aa49 100644 --- a/src/clusterfuzz/_internal/metrics/fuzzer_stats.py +++ b/src/clusterfuzz/_internal/metrics/fuzzer_stats.py @@ -71,6 +71,11 @@ 'type': 'INTERVAL', 'mode': 'NULLABLE', }, + { + 'name': 'bad_build_check', + 'type': 'INTERVAL', + 'mode': 'NULLABLE', + }, ] JOB_RUN_SCHEMA = { 'fields': [ diff --git a/src/clusterfuzz/_internal/tests/core/bot/tasks/utasks/fuzz_task_test.py b/src/clusterfuzz/_internal/tests/core/bot/tasks/utasks/fuzz_task_test.py index 0fd23b6d78..9ec22bfa0e 100644 --- a/src/clusterfuzz/_internal/tests/core/bot/tasks/utasks/fuzz_task_test.py +++ b/src/clusterfuzz/_internal/tests/core/bot/tasks/utasks/fuzz_task_test.py @@ -1599,6 +1599,9 @@ def test_utask_main_blackbox_fuzzer(self, mock_generate_blackbox_testcases): self.assertGreater( actual.fuzz_task_output.steps_duration['fuzzer_setup'] .ToTimedelta().total_seconds(), 0) + self.assertGreater( + actual.fuzz_task_output.steps_duration['bad_build_check'] + .ToTimedelta().total_seconds(), 0) self.assertGreater( actual.fuzz_task_output.testcase_generation_duration.ToTimedelta() .total_seconds(), 0) @@ -1648,6 +1651,17 @@ def test_utask_main_blackbox_fuzzer(self, mock_generate_blackbox_testcases): self.assertEqual(1, dist.count) self.assertGreater(dist.sum, 0) + dist = monitoring_metrics.FUZZ_TASK_STEPS_DURATION.get({ + 'fuzzer': fuzzer.name, + 'job': 'asan_test', + 'platform': environment.platform(), + 'runtime': environment.get_runtime().value, + 'step': 'bad_build_check', + 'success': True, + }) + self.assertEqual(1, dist.count) + self.assertGreater(dist.sum, 0) + # Blackbox crashes are parsed once, after all testcases have run. self.assertGreater( actual.fuzz_task_output.steps_duration['parse_crash']