зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
f66d2d1e91
Коммит
7ef39a5fd8
|
@ -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():
|
||||
|
|
Загрузка…
Ссылка в новой задаче