diff --git a/python/mozbuild/mozbuild/artifact_commands.py b/python/mozbuild/mozbuild/artifact_commands.py index 797194a412b1..78936354192f 100644 --- a/python/mozbuild/mozbuild/artifact_commands.py +++ b/python/mozbuild/mozbuild/artifact_commands.py @@ -190,11 +190,13 @@ class PackageFrontend(MachCommandBase): ) import redo import requests + import time from taskgraph.util.taskcluster import ( get_artifact_url, ) + start = time.time() self._set_log_level(verbose) # Normally, we'd use self.log_manager.enable_unstructured(), # but that enables all logging, while we only really want tooltool's @@ -430,4 +432,20 @@ class PackageFrontend(MachCommandBase): with open(artifact_manifest, 'w') as fh: json.dump(artifacts, fh, indent=4, sort_keys=True) + if 'MOZ_AUTOMATION' in os.environ: + end = time.time() + + perfherder_data = { + 'framework': {'name': 'build_metrics'}, + 'suites': [{ + 'name': 'mach_artifact_toolchain', + 'value': end - start, + 'lowerIsBetter': True, + 'shouldAlert': False, + 'subtests': [], + }], + } + self.log(logging.INFO, 'perfherder', {'data': json.dumps(perfherder_data)}, + 'PERFHERDER_DATA: {data}') + return 0 diff --git a/taskcluster/scripts/misc/fetch-content b/taskcluster/scripts/misc/fetch-content index 412c5b288a98..f142608864c5 100755 --- a/taskcluster/scripts/misc/fetch-content +++ b/taskcluster/scripts/misc/fetch-content @@ -584,6 +584,7 @@ def api(root_url, service, version, path): def command_task_artifacts(args): + start = time.monotonic() fetches = json.loads(os.environ['MOZ_FETCHES']) downloads = [] for fetch in fetches: @@ -604,6 +605,19 @@ def command_task_artifacts(args): downloads.append((url, extdir, fetch['extract'])) fetch_urls(downloads) + end = time.monotonic() + + perfherder_data = { + 'framework': {'name': 'build_metrics'}, + 'suites': [{ + 'name': 'fetch_content', + 'value': end - start, + 'lowerIsBetter': True, + 'shouldAlert': False, + 'subtests': [], + }], + } + print('PERFHERDER_DATA: {}'.format(json.dumps(perfherder_data)), file=sys.stderr) def main():