summaryrefslogtreecommitdiff
path: root/buildscripts/metrics/scons_tooling_metrics.py
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/metrics/scons_tooling_metrics.py')
-rw-r--r--buildscripts/metrics/scons_tooling_metrics.py71
1 files changed, 0 insertions, 71 deletions
diff --git a/buildscripts/metrics/scons_tooling_metrics.py b/buildscripts/metrics/scons_tooling_metrics.py
deleted file mode 100644
index cdece084631..00000000000
--- a/buildscripts/metrics/scons_tooling_metrics.py
+++ /dev/null
@@ -1,71 +0,0 @@
-import atexit
-import datetime
-import logging
-import sys
-from typing import List
-
-from buildscripts.metrics.metrics_datatypes import ToolingMetrics
-from buildscripts.metrics.tooling_metrics_utils import save_tooling_metrics, should_collect_metrics
-
-logger = logging.getLogger('scons_tooling_metrics')
-
-
-class SConsExitHook(object):
- """Plumb all sys.exit through this object so that we can access the exit code in atexit."""
-
- def __init__(self):
- self.exit_code = None
- self._orig_exit = sys.exit
-
- def __del__(self):
- sys.exit = self._orig_exit
-
- def initialize(self):
- sys.exit = self.exit
-
- def exit(self, code=0):
- self.exit_code = code
- self._orig_exit(code)
-
-
-# This method should only be used when registered on atexit
-def _save_scons_tooling_metrics(
- utc_starttime: datetime,
- env_vars: "SCons.Variables.Variables",
- env: "SCons.Script.SConscript.SConsEnvironment",
- parser: "SCons.Script.SConsOptions.SConsOptionParser",
- args: List[str],
- exit_hook: SConsExitHook,
-):
- """Save SCons tooling metrics to atlas cluster."""
- try:
- if not should_collect_metrics():
- return
- tooling_metrics = ToolingMetrics.get_scons_metrics(utc_starttime, env_vars, env, parser,
- args, exit_hook.exit_code)
- save_tooling_metrics(tooling_metrics)
- except Exception as exc: # pylint: disable=broad-except
- logger.warning(
- "%sSCons Metrics Collection Failed -- this is a non-issue.\nIf this message persists, feel free to reach out to #server-development-platform",
- exc)
-
-
-def setup_scons_metrics_collection_atexit(
- utc_starttime: datetime,
- env_vars: "SCons.Variables.Variables",
- env: "SCons.Script.SConscript.SConsEnvironment",
- parser: "SCons.Script.SConsOptions.SConsOptionParser",
- args: List[str],
-) -> None:
- """Register an atexit method for scons metrics collection."""
- scons_exit_hook = SConsExitHook()
- scons_exit_hook.initialize()
- atexit.register(
- _save_scons_tooling_metrics,
- utc_starttime,
- env_vars,
- env,
- parser,
- args,
- scons_exit_hook,
- )