Skip to content

v4.5.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 15:34
· 76 commits to main since this release

Added

  • /payload?mb= answers with mb MB of data, streamed and announced with its Content-Length, and POST /payload takes an upload, throws it away and reports its bytes, time and speed (413 over the limit). MAX_PAYLOAD_MB (1024 by default) limits both, and TOKEN protects it. It is for testing the limits on the size of a body and the timeouts of proxies, ingresses and load balancers.
  • /scenario runs a list of steps one after the other, so a test can be repeated without calling the endpoints by hand: POST a JSON list like [{"cpu": 80, "seconds": 60}, {"memory": 500, "seconds": 30}, {"ready": "off", "seconds": 20}], GET to see where it is and DELETE to stop it. The steps are cpu (with workers), memory, disk, fd, connections, ready, block and a pause, with the limits of their endpoints. The whole scenario is checked before it starts, and a wrong step is a 400 that says which. One runs at a time (409), a step that does not fit the budget at its turn stops it with the reason, and TOKEN protects it. /info (scenario), watch and the control panel show it, and the documentation has a page about it.
  • torchio scenario <file|-> [--wait] starts a scenario from a file or stdin and, with --wait, follows it and exits with 0 only if it finished, so a pipeline can run it and go on; torchio scenario status and stop do the other two requests. torchio payload get [mb] downloads and throws the data away, reporting the speed and failing on a body that is cut short, and torchio payload post <file|-> uploads a file or stdin and reports what the server counted. They are in the shell completions, in the reference of the endpoints and in the page Starting a test.
  • The control panel has a card for /payload (download and upload, from the page, with the speed and a body cut short reported), one for /flaky (sends 20 requests and counts the failures) and one for /status/:code. /info reports limits.maxPayloadMb for the sliders. /oom has no card.

Documentation

  • The reference of the endpoints names the command that does the same (torchio cpu [percent] [hold] [workers]), in a column of the table and in the section of each endpoint. It comes from the list of commands the program itself uses, and a test checks that every command calls an endpoint of the catalog.