Bug 1617043 - Track the time spent in fetch-content and mach artifact toolchain. r=rstewart

Note: while we can use time.monotonic in fetch-content, we can't in
mach artifact toolchain yet because it's still python2.

Differential Revision: https://phabricator.services.mozilla.com/D65690

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Mike Hommey 2020-03-07 10:46:14 +00:00
Родитель f66d2d1e91
Коммит 7ef39a5fd8
2 изменённых файлов: 32 добавлений и 0 удалений

Просмотреть файл

@ -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

Просмотреть файл

@ -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():