Quibble wraps commands with a chronometer which outputs the time it took for the command upon completion:
INFO:quibble.commands:>>> Start: npm install in /workspace/src <<< Finish: npm install in /workspace/src, in 20.659 s
Those sections are parsed by the Jenkins collapsible section to show a sidebar:
It would be nice to have all those durations collected and reported at the end of the execution.
I have built a proof of concept emitting:
[ REPORT FOR COMMAND DURATIONS ]
╒══════════╤═════════════════════════════════════════════════════════════════╕
│ 0.000s │ Save success cache │
│ 0.573s │ Versions │
│ 0.001s │ Run phpbench │
│ 32.388s │ Zuul clone {"branch": "master", "cache_dir": "/srv/git", │
│ │ "projects": ["mediawiki/core", "mediawiki/skins/Vector", │
│ │ "mediawiki/vendor"], "workers": 4, "workspace": │
│ │ "/workspace/src", "zuul_branch": "master", "zuul_project": │
│ │ "mediawiki/core", "zuul_ref": │
│ │ "refs/zuul/master/Z9ddd61a6894b451ea4e6058c9fdda679", │
│ │ "zuul_url": "git://contint1002.wikimedia.org"} │
│ 0.086s │ Check success cache │
│ 10.412s │ Install composer dev-requires for vendor.git │
│ 2.166s │ Start backends: <MySQL (no socket)> │
│ 16.243s │ Run Post-dependency install, pre-database dependent steps in │
│ │ parallel (concurrency=2): * Install MediaWiki, db=<MySQL │
│ │ /workspace/db/quibble-mysql-ifwx2ix0/socket> * npm install in │
│ │ /workspace/src │
│ 15.171s │ PHPUnit unit tests │
│ 68.271s │ PHPUnit default suite (without database or standalone) │
│ 98.161s │ Run 'composer test' and 'npm test' in parallel (concurrency=2): │
│ │ * composer test for mediawiki/core * npm test in /workspace/src │
│ 0.010s │ Start backends: <ExternalWebserver http://127.0.0.1:9413 │
│ │ /workspace/src> <Xvfb :94> <ChromeWebDriver :94> │
│ 14.920s │ Run QUnit tests │
│ 157.602s │ Browser tests: mediawiki/core, mediawiki/skins/Vector, │
│ │ mediawiki/vendor │
│ 29.741s │ Run API-Testing │
│ 408.583s │ PHPUnit default suite (with database) │
╘══════════╧═════════════════════════════════════════════════════════════════╛Thoughts?

