locust

Write scalable load tests in plain Python πŸš—πŸ’¨

MIT License

Downloads
3.6K
Stars
24K

Bot releases are hidden (Show)

locust - 1.3.2

Published by cyberw almost 4 years ago

  • List Python 3.9 as supported in the package/on PyPi
  • Fix XSS vulnerability in the web UI (sounds important but really isn't, as Locust UI is not meant to be exposed to outside users)

(side note: I have also fixed the docker build process, so any tagged commit will push to locustio/locust:latest, this was broken in the past)

locust - 1.3.1

Published by cyberw about 4 years ago

  • Bump minimum required gevent version to 20.9.0 (latest), as all the previous ones had sneaky binary incompatibilities with the latest version of greenlet ("RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject")
locust - 1.3.0

Published by cyberw about 4 years ago

  • Breaking change: Remove step-load feature (now that we have LoadTestShape it is no longer needed)
  • More type hints to enable better code completion and linting of locustfiles
  • Lots of documentation updates

Bug fixes:

locust - 1.2.3

Published by cyberw about 4 years ago

locust - 1.2.2

Published by cyberw about 4 years ago

locust - 1.2.1

Published by cyberw about 4 years ago

locust - 1.2

Published by cyberw about 4 years ago

  • Rename hatch rate to spawn rate (the –hatch-rate parameter is only deprecated, but the hatch_complete event has been renamed spawning_complete)
  • Ability to generate any custom load shape with LoadTestShape class
  • Allow ramping down of users
  • Ability to use save custom percentiles
  • Improve command line stats output
  • Bug fixes (excessive precision of metrics in losust csv stats, negative response time when system clock has changed, issue with non-string failure messages, some typos etc)
  • Documentation improvements
locust - 1.1.1

Published by cyberw over 4 years ago

  • Fix for run not ending if there is an exception in a test_stop listener
  • FastHttpUser: Handle stream ended at an unexpected time and UnicodeDecodeError. Show bad/error status codes on failures page.
  • Improve logging when locust master port is busy
locust - 1.1

Published by cyberw over 4 years ago

  • The official Docker image is now based on the python:3.8 image instead of python:3.8-alpine. This should
    make it easier to install other python packages when extending the locust docker image. #1435
  • Allow Users to stop the runner by calling self.environment.runner.quit() (without deadlocking sometimes) #1448
  • Cut to only 5% free space on the top of the graphs #1443
  • Use csv module to generate csv data (solves issues with sample names that need escaping in csv) #1428
  • Various documentation improvements
locust - 1.0.3

Published by cyberw over 4 years ago

  • Ability to control the exit code of the Locust process by setting environment.process_exit_code
  • FastHttpLocust: Change dependency to use original geventhttpclient (now that releases can be made there) instead of geventhttpclient-wheels
  • Fix search on readthedocs
  • Other minor fixes
locust - 1.0.2

Published by heyman over 4 years ago

Fixed bugs:

  • Update flask version #1394
  • 'Module' object is not callable #1387
  • Got "unknown user exception" when use --step-load and --step-clients #1385
  • SequentialTaskSet is broken when using local class members (headless mode) #1379
  • FastHttpLocust + SNI #1369

Closed issues:

  • We should check limits (ulimit) and warn if they are too low #1368
  • Run locust as a job but still have access to the API. #1305
  • error: argument --master-port: invalid int value bug #1226

Merged pull requests:

  • Update flask requirement. Fixes #1394 #1395 (cyberw)
  • Bump geventhttpclient and switch back to use its original repo + fix windows issue with resource module #1388 (cyberw)
  • Rework quickstart documentation and update some documentation for 1.0 #1384 (cyberw)
  • Make TaskSet .user and .parent read only properties, avoids / fixes #1379 #1380 (cyberw)
  • Fixed typo #1378 (rahulrai-in)
  • Try to increase open files limit and warn if it is still too low afterwards #1375 (cyberw)
locust - 1.0.1

Published by heyman over 4 years ago

Merged pull requests:

  • Add metadata for the locust PyPI package that marks the locustio package as obsolete #1377 (heyman)
locust - 1.0

Published by heyman over 4 years ago

Fixed bugs:

  • FastHttpUser doesn't use the SNI TLS extension #1360
  • DEBUG output in docker is not working #1337
  • Can't run Locust distributed with --csv-full-history #1315
  • [Nested TaskSet] Child TaskSet's on_stop method is not called when GreenletExit #1206

Closed issues:

  • Add @only decorator to TaskSets #1275
  • resp.failure() shouldnt immediately log a failed request, just mark it a such #1335
  • Change CSV column names #1317
  • Remove @seq_task and instead add a SequentialTaskSet class #1286
  • Change how logging is handled #1285
  • Remove the Locust.setup and Locust.teardown hooks in favour of adding test_start and test_stop events #1284
  • Rename Locust to User/LocustUser #1283
  • Clean up among the command line arguments #1282
  • Docker image should not require TARGET_URL #1247
  • Duplicate/confusing entry in pypi #817
  • How to run test programatically #222
  • Alternative terminology for "slave" #220

Merged pull requests:

locust - 1.0b2

Published by heyman over 4 years ago

Closed issues:

  • Add --config parameter #1334
  • clean up core.py & __init__.py #1328

Merged pull requests:

locust - 1.0b1

Published by heyman over 4 years ago

Fixed bugs:

  • DEBUG output in docker is not working #1337
  • Docker image: worker mode not starting correctly #1322
  • Can't run Locust distributed with --csv-full-history #1315
  • Exception throws on attempt to report request results to master #1293
  • Can't access web interface #1288
  • Web page is confused when I shutdown the only slave #1279
  • [Documentation] Bleeding Edge link is broken #1278
  • Locust Web Dashboard Charts, Slaves sections not working after certain time #1276
  • Connection pool is full, discarding connection | 'Connection aborted.', RemoteDisconnected('Remote end closed connection without response #1263
  • [Nested TaskSet] Child TaskSet's on_stop method is not called when GreenletExit #1206

Closed issues:

  • "Order of events" clarification #1349
  • resp.failure() shouldnt immediately log a failed request, just mark it a such #1335
  • Change CSV column names #1317
  • More information in csv reports #1292
  • Remove @seq_task and instead add a SequentialTaskSet class #1286
  • Change how logging is handled #1285
  • Remove the Locust.setup and Locust.teardown hooks in favour of adding test_start and test_stop events #1284
  • Rename Locust to User/LocustUser #1283
  • Clean up among the command line arguments #1282
  • Rename and restructure Locust/TaskSet #1264
  • Docker image should not require TARGET_URL #1247
  • Add allow\_redirects option to FastHttpSession.request #1238
  • Retrieve failures.csv in --no-web mode #1237
  • command line arguments for clients and spawn rate should populate ui in the same way as url #1186
  • How to run test programatically #222
  • Alternative terminology for "slave" #220

Merged pull requests:

  • Environment variable configuration changes #1355 (heyman)
  • Add CLI params for TLS cert and key - serves over HTTPS #1354 (mattdodge)
  • Add allow_redirects parameter to FastHttpLocust.client.request(). Fixes #1238 #1344 (cyberw)
  • Give better error message when kubernetes env vars collide with locust's #1343 (cyberw)
  • Fix web options #1340 (Trouv)
  • Populate UI fields with -c, -r, --step-clients, and --step-time options #1339 (Trouv)
  • Remove docker_start.sh and set locust as entrypoint for official Docker image #1338 (heyman)
  • Allow multiple calls to response.failure() or response.success() within the same with block #1336 (heyman)
  • Removed double consideration of same timestamp #1332 (Oribow)
  • Make all LocustRunners aware of their target_user_count, not just MasterLocustRunner #1331 (cyberw)
  • Import wait functions from locust instead of locust.wait_time #1330 (cyberw)
  • Stop exposing exceptions on locust module, remove old wait api (step 1 of fixing #1328) #1329 (cyberw)
  • Add Runners, WebUI and Environment to the public API #1327 (heyman)
  • Update main.py about gevent.signal() #1326 (YUFEIZED)
  • Improve how we do logging #1325 (heyman)
  • Worker quitting then stopping via web UI bug fix #1324 (Trouv)
  • Fixed some spelling/grammar on docstrings in core.py #1323 (Trouv)
  • Add User count to CSV history stats #1316 (heyman)
  • Rename locust to user #1314 (anuj-ssharma)
  • Add basic auth for webui #1313 (anuj-ssharma)
  • Group related command line options together #1311 (heyman)
  • Replace TaskSequence and @seq_task with SequentialTaskSet #1310 (heyman)
  • Replace locust setup teardown with events #1309 (heyman)
  • Decouple Runner and Locust code by introducing Locust.start and Locust.stop methods #1306 (heyman)
  • Allow tasks to be declared directly under Locust classes #1304 (heyman)
  • ensure the connection between master and slave in heartbeat #1280 (delulu)
locust - 0.14.6

Published by heyman over 4 years ago

Update to latest version of Gevent (20.4.0) and fix bug causing Locust to not work with latest Gevent version.

locust - 0.14.5

Published by heyman over 4 years ago

Fixed bugs:

  • Code blocks in docs not rendered #1258
  • Unable to install on windows #1254

Closed issues:

  • Remove support for Python 2.7 & 3.5 #1120

Merged pull requests:

  • add json() method to FastHttpLocust (to match regular HttpLocust) #1259 (cyberw)
  • docs: remove the description of port 5558 #1255 (orisano)
  • Remove six and other 2.7 compatibility code #1253 (cyberw)
locust - 0.14.4

Published by cyberw over 4 years ago

0.14.3 version was missing wheel build

locust - 0.14.3

Published by cyberw over 4 years ago

First Python 3 only version.

0.14.2 will give an error if installed on py2 (this was supposed to happen in 0.14.0, but post install steps dont work for wheels based packages, so I had to release a source-only package)

0.14.3 (and onwards) are pure py3 versions and will not be downloaded by pip2.

locust - 0.14.0

Published by cyberw over 4 years ago

  • Drop Python 2 and Python 3.5 support! #1120
  • Continuously measure CPU usage and emit a warning if we get a five second average above 90% #1161
  • Show CPU usage of slave nodes in the Web UI
  • Fixed issue: when running Locust distributed and new slave nodes connected during the hatching/ramp-up
    phase https://github.com/locustio/locust/issues/1168
  • Fixed issue: FastHttpLocust times out when HttpLocust does not #1246