Skip to content

Commit 827986a

Browse files
authored
Only run telemetry alerting once per day. (#8747)
Currently, Sherlock runs at the 40 minute mark every hour. This patch ensures that telemetry will only run once per day instead of every hour.
1 parent d18027a commit 827986a

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

treeherder/perf/auto_perf_sheriffing/sherlock.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import logging
22
import os
33
import traceback
4-
from datetime import datetime, timedelta, timezone
4+
from datetime import datetime, time, timedelta, timezone
55
from json import JSONDecodeError, loads
66
from logging import INFO, WARNING
77

@@ -241,6 +241,8 @@ def __get_data_points_to_backfill(context: list[dict]) -> list[dict]:
241241
return context[start:]
242242

243243
def telemetry_alert(self):
244+
if not self._can_run_telemetry():
245+
return
244246
if not settings.TELEMETRY_ENABLE_ALERTS:
245247
logger.info("Telemetry alerting is disabled. Enable it with TELEMETRY_ENABLE_ALERTS=1")
246248
return
@@ -305,6 +307,9 @@ def telemetry_alert(self):
305307
except Exception:
306308
logger.info(f"Failed: {traceback.format_exc()}")
307309

310+
def _can_run_telemetry(self):
311+
return time(23, 0) <= datetime.utcnow().time() < time(0, 0)
312+
308313
def _create_detection_alert(
309314
self,
310315
detection: object,

0 commit comments

Comments
 (0)