mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-11 18:51:29 +00:00
Mark reclient build metrics with the tool that started reclient
This will allow us to segment siso and ninja metrics for analysis Bug: b/281504726 Change-Id: If45b272004b236d634c717ea9e28e38e49c6231a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4568610 Commit-Queue: Ben Segall <bentekkie@google.com> Auto-Submit: Ben Segall <bentekkie@google.com> Reviewed-by: Junji Watanabe <jwata@google.com>
This commit is contained in:
@@ -45,7 +45,7 @@ def main(argv):
|
|||||||
file=sys.stderr)
|
file=sys.stderr)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
with reclient_helper.build_context(argv) as ret_code:
|
with reclient_helper.build_context(argv, 'autosiso') as ret_code:
|
||||||
if ret_code:
|
if ret_code:
|
||||||
return ret_code
|
return ret_code
|
||||||
argv = [
|
argv = [
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import reclient_helper
|
|||||||
|
|
||||||
|
|
||||||
def main(argv):
|
def main(argv):
|
||||||
with reclient_helper.build_context(argv) as ret_code:
|
with reclient_helper.build_context(argv, 'ninja_reclient') as ret_code:
|
||||||
if ret_code:
|
if ret_code:
|
||||||
return ret_code
|
return ret_code
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -91,14 +91,14 @@ def find_cache_dir(tmp_dir):
|
|||||||
return os.path.join(tmp_dir, 'cache')
|
return os.path.join(tmp_dir, 'cache')
|
||||||
|
|
||||||
|
|
||||||
def set_reproxy_metrics_flags():
|
def set_reproxy_metrics_flags(tool):
|
||||||
"""Helper to setup metrics collection flags for reproxy.
|
"""Helper to setup metrics collection flags for reproxy.
|
||||||
|
|
||||||
The following env vars are set if not already set:
|
The following env vars are set if not already set:
|
||||||
RBE_metrics_project=chromium-reclient-metrics
|
RBE_metrics_project=chromium-reclient-metrics
|
||||||
RBE_invocation_id=$AUTONINJA_BUILD_ID
|
RBE_invocation_id=$AUTONINJA_BUILD_ID
|
||||||
RBE_metrics_table=rbe_metrics.builds
|
RBE_metrics_table=rbe_metrics.builds
|
||||||
RBE_metrics_labels=source=developer
|
RBE_metrics_labels=source=developer,tool={tool}
|
||||||
RBE_metrics_prefix=go.chromium.org
|
RBE_metrics_prefix=go.chromium.org
|
||||||
"""
|
"""
|
||||||
autoninja_id = os.environ.get("AUTONINJA_BUILD_ID")
|
autoninja_id = os.environ.get("AUTONINJA_BUILD_ID")
|
||||||
@@ -106,7 +106,7 @@ def set_reproxy_metrics_flags():
|
|||||||
os.environ.setdefault("RBE_invocation_id", autoninja_id)
|
os.environ.setdefault("RBE_invocation_id", autoninja_id)
|
||||||
os.environ.setdefault("RBE_metrics_project", "chromium-reclient-metrics")
|
os.environ.setdefault("RBE_metrics_project", "chromium-reclient-metrics")
|
||||||
os.environ.setdefault("RBE_metrics_table", "rbe_metrics.builds")
|
os.environ.setdefault("RBE_metrics_table", "rbe_metrics.builds")
|
||||||
os.environ.setdefault("RBE_metrics_labels", "source=developer")
|
os.environ.setdefault("RBE_metrics_labels", "source=developer,tool=" + tool)
|
||||||
os.environ.setdefault("RBE_metrics_prefix", "go.chromium.org")
|
os.environ.setdefault("RBE_metrics_prefix", "go.chromium.org")
|
||||||
|
|
||||||
|
|
||||||
@@ -162,7 +162,7 @@ def set_reproxy_path_flags(out_dir, make_dirs=True):
|
|||||||
|
|
||||||
|
|
||||||
@contextlib.contextmanager
|
@contextlib.contextmanager
|
||||||
def build_context(argv):
|
def build_context(argv, tool):
|
||||||
# If use_remoteexec is set, but the reclient binaries or configs don't
|
# If use_remoteexec is set, but the reclient binaries or configs don't
|
||||||
# exist, display an error message and stop. Otherwise, the build will
|
# exist, display an error message and stop. Otherwise, the build will
|
||||||
# attempt to run with rewrapper wrapping actions, but will fail with
|
# attempt to run with rewrapper wrapping actions, but will fail with
|
||||||
@@ -188,7 +188,7 @@ def build_context(argv):
|
|||||||
return
|
return
|
||||||
|
|
||||||
if reclient_metrics.check_status(ninja_out):
|
if reclient_metrics.check_status(ninja_out):
|
||||||
set_reproxy_metrics_flags()
|
set_reproxy_metrics_flags(tool)
|
||||||
|
|
||||||
reproxy_ret_code = start_reproxy(reclient_cfg, reclient_bin_dir)
|
reproxy_ret_code = start_reproxy(reclient_cfg, reclient_bin_dir)
|
||||||
if reproxy_ret_code != 0:
|
if reproxy_ret_code != 0:
|
||||||
|
|||||||
@@ -96,7 +96,8 @@ class NinjaReclientTest(trial_dir.TestCase):
|
|||||||
self.assertEqual(os.environ.get('RBE_metrics_project'),
|
self.assertEqual(os.environ.get('RBE_metrics_project'),
|
||||||
"chromium-reclient-metrics")
|
"chromium-reclient-metrics")
|
||||||
self.assertEqual(os.environ.get('RBE_metrics_table'), "rbe_metrics.builds")
|
self.assertEqual(os.environ.get('RBE_metrics_table'), "rbe_metrics.builds")
|
||||||
self.assertEqual(os.environ.get('RBE_metrics_labels'), "source=developer")
|
self.assertEqual(os.environ.get('RBE_metrics_labels'),
|
||||||
|
"source=developer,tool=ninja_reclient")
|
||||||
self.assertEqual(os.environ.get('RBE_metrics_prefix'), "go.chromium.org")
|
self.assertEqual(os.environ.get('RBE_metrics_prefix'), "go.chromium.org")
|
||||||
|
|
||||||
mock_metrics_status.assert_called_once_with("out/a")
|
mock_metrics_status.assert_called_once_with("out/a")
|
||||||
|
|||||||
Reference in New Issue
Block a user