Can we make the webserver used in quibble CI jobs log the time it has taken to execute calls to the API?
Currently we have various outputs such as:
23:15:31 INFO:backend.PhpWebserver:[Thu Feb 25 23:15:31 2021] 127.0.0.1:39412 [200]: //api.php?format=json 23:15:31 INFO:backend.PhpWebserver:[Thu Feb 25 23:15:31 2021] 127.0.0.1:39414 [200]: //index.php?title=Talk%3AData-bridge-test-page-0.5750508401188479-I%C3%B1t%C3%ABrn%C3%A2ti%C3%B4n%C3%A0liz%C3%A6ti%C3%B8n 23:15:32 INFO:backend.PhpWebserver:[Thu Feb 25 23:15:32 2021] 127.0.0.1:39428 [200]: /load.php?lang=en&modules=jquery%2Coojs-ui-core%2Coojs-ui-widgets%7Cjquery.ui&skin=vector&version=1e40s 23:15:33 INFO:backend.PhpWebserver:[Thu Feb 25 23:15:33 2021] 127.0.0.1:39438 [200]: /api.php?action=query&format=json&titles=Talk%3AData-bridge-test-page-0.5750508401188479-I%C3%B1t%C3%ABrn%C3%A2ti%C3%B4n%C3%A0liz%C3%A6ti%C3%B8n&prop=info&meta=siteinfo&intestactions=edit&intestactionsdetail=full&siprop=restrictions&errorformat=raw&formatversion=2 23:15:33 INFO:backend.PhpWebserver:[Thu Feb 25 23:15:33 2021] 127.0.0.1:39440 [200]: /api.php?action=wbgetentities&format=json&props=labels%7Cdatatype%7Cinfo%7Cclaims&ids=P8%7CQ25&languages=en&languagefallback=true&formatversion=2 23:15:33 INFO:backend.PhpWebserver:[Thu Feb 25 23:15:33 2021] 127.0.0.1:39442 [200]: /api.php?action=query&format=json&meta=wbdatabridgeconfig%7Csiteinfo&formatversion=2&errorformat=raw&titles=Item%3AQ25&prop=info&intestactions=edit&intestactionsdetail=full&siprop=restrictions 23:15:37 INFO:backend.PhpWebserver:[Thu Feb 25 23:15:37 2021] 127.0.0.1:39490 [200]: //api.php?format=json
Seemingly sometimes such API calls take a long amount of time and cause tests to fail. (I created this after needing a deep dive into T273327)
It would be good to be able to identify which of the API calls actually cause the issues so we could look for trends and tackle issues if spotted.
I did some searching and couldn't find out if this was possible, so opening this ticket to see if anyone else knows / has ideas.
Another alternative would be to make the JS log and output timing of network requests somehow?
Another alternative would be to use apache, which allows more flexible logging options