locust

Write scalable load tests in plain Python 🚗💨

MIT License

Downloads
3.6K
Stars
24K

Bot releases are hidden (Show)

locust - 0.13.5

Published by cyberw almost 5 years ago

Various minor fixes, mainly regarding FastHttpLocust.

locust - 0.13.4

Published by cyberw almost 5 years ago

Same code as 0.13.3, but now automatically deployed to Pypi using Travis!

locust - 0.13.2

Published by mbeacom almost 5 years ago

Full Changelog

Fixed bugs:

  • Response Times graph broken (drops to 0 after a while) #1157
  • TaskSet min_wait and max_wait are ignored #891

Closed issues:

  • Add charts for number of failures in the Web UI #952
locust - 0.13.3

Published by mbeacom almost 5 years ago

Full Changelog

Fixed bugs:

  • Unable to properly connect multiple slaves, master #1176
  • Zero exit code on exception #1172
  • --stop-timeout is not respected when changing number of running Users in distributed mode #1162

Closed issues:

  • "Percentage of the requests.." table has missing column headers #1180
  • Set locust parameters via env vars & config file #1166

Merged pull requests:

  • Use ConfigArgParse instead of argparse, to support getting parameters from config file and/or env vars. #1167 (cyberw)
  • Add toolbox control for for downloading chart as png #1165 (skivis)
  • Allow locust to get SIGTERM(aka Ctrl+C) messages. #1159 (turgayozgur)
  • Stats: New argument "--csv-full-history" appends stats entries every interval in a new "_stats_history.csv" File #1146 (mehta-ankit)
locust - 0.13.1

Published by heyman almost 5 years ago

Fixed bugs:

  • Web UI doesn't start on Python 3.8.0 #1154
  • When locust exits the current RPS is outputted instead of the total RPS #1152
  • Missing headline columns in response time percentile stats printed to console #1151

Closed issues:

  • Be able to install pip packages using the docker image #1149

Merged pull requests:

locust - 0.12.2

Published by mbeacom almost 5 years ago

0.12.2 (2019-10-26)

Full Changelog

Fixed bugs:

  • Installing 0.12.1 requires "pipenv lock --pre" #1116
  • Strange behavior of "Total Requests per Second" chart #889
  • Response time graph seems to be an average of all data #667
  • Totals Clarity in Web Results #629
  • on_request_xxx checks exiting condition against the wrong number #399
  • [0.7.3] Total fails percentage calculated wrong on console #384
  • URL names in dashboard are not HTML escaped #374
  • Percentage of fails in Total line is greater than 100% #357
  • Exceptions tab not working for on_start method #269
  • Percentile response time anomalies at 100% #254
  • log.py's StdErrWrapper swallows fatal stacktraces #163
  • Slave count doesn't get updated in the UI if no more slaves are alive #62
  • Exit with code 1 on greenlet exceptions #665 (jnschulze)

Closed issues:

  • Samples with response_time None crashes stats.py #1087
  • Requests Per Second Plot Breaks When There are too Many Unique URLs #1059
  • UI 'stop' button does not stop test #1047
  • Performance degradation for constant wait time #1042
  • Failure percentage being reported incorrectly #1006
  • Start on_stop not before on_start has finished #969
  • Possible typo in docs #946
  • Control time window for RPS calculation #792
  • 500 URL limit #786
  • custom client from locust documentation doesn't work at all #771
  • separate charts for requests per second and average response time #688
  • schedule_task and data driven load test methodology #633
  • locust's statistic collect N/A records #626
  • how to make all locust users wait after executing on_start method ? #611
  • EventHook() fired when locust user has stopped #604
  • Is there a way to de-register slave with master on a slave node shutdown? #603
  • Unable to Stop locust from Web interface occasionally #602
  • no-web performance data saved #601
  • Can you add or can I create a Pull Request to accept a command line option that would enable ALL events (http requests) to be logged to a file/location? #576
  • Median response times off #565
  • Dedicated Vuser for each API #564
  • running-locust-distributed missing information on worker model #492
  • locust executes more number of times than I expected #455
  • Some uncertain for RPS #367
  • Support for distributing arbitrary arguments to Locust [Proposal] #345
  • Error running distributed mode on Fedora and CentOS #271
  • RPS for Total shows the instant RPS #262
  • grouping requests after redirect #251
  • Locust can not run distributed with the web interface disabled #189
  • Documentation on how to best configure a (linux) machine to run locust #128
  • See what request generated a failure #103
  • Support for plugins #34

Merged pull requests:

  • fix self.client call in code examples #1123 (cyberw)
  • Escape HTML entities in endpoint names #374 #1119 (peterdemin)
  • Revert "Exit with code 1 on greenlet exceptions" #1115 (heyman)
  • Table layout fix to use available space better #1114 (heyman)
  • Fix rounding error when spawning users from multiple locust classes #1113 (heyman)
  • Add __main__.py file #1112 (jdufresne)
  • Remove 'dist: xenial' from Travis configuration #1111 (jdufresne)
  • Add Python 3.8 to the test matrix #1110 (jdufresne)
  • Fix empty bytearray(b'') returned when using catch_response=True #1105 (skivis)
  • Add an option (--stop-timeout) to allow tasks to finish running their iteration before exiting #1099 (cyberw)
  • Allow None response time for requests #1088 (cyberw)
  • Fixed issue with Total Requests Per Second plot #1060 (williamlhunter)
  • Tox: Add flake8 tests to find Python syntax errors and undefined names #1039 (cclauss)
  • Fix frontend bugs. #822 (omittones)
  • Switch from using optparse to argparse for command line arguments #769 (jdufresne)
  • Allow skipping the logging setup #738 (Exide)
  • Added link to an Ansible role as a 3rd party tool. #704 (tinx)
locust - 0.12.1

Published by mbeacom almost 5 years ago

0.12.1 (2019-10-18)

Full Changelog

Fixed bugs:

  • AttributeError: 'module' object has no attribute 'sleep' #1023

Closed issues:

Merged pull requests:

  • Remove concurrency from coverage #1102 (mbeacom)
  • Adding TCP Keep Alive to guarantee master-slave communication after i… #1101 (albertowar)
  • Resolve time import error in exception_handler #1095 (ajt89)
locust - 0.13.0

Published by mbeacom almost 5 years ago

0.13.0 (2019-11-14)

Full Changelog


Fixed bugs:

  • autoscaling slaves resets users #1143
  • Repeated secure requests with FastHttpLocust crashes in cookie management #1138
  • FastHttpLocust gives ssl error with let's encrypt certs #1137
  • stop_timeout defined in Locust class takes precedence over --run-time option #1117
  • Test metrics are not preserved on Stop click in the UI #883
  • locust stuck in hatching state #146

Closed issues:

  • To improve build_url method in Locust HttpSession #1133
  • Duplicate API section in navigation of document #1132
  • Locust with custom clients only displays maximum response time #1084
  • Stop locusts graceful #1062
  • could we report 99.9% percentile in CSV file? #1040
  • Provide an official Docker image #849
  • Number of Users Dependent on Number of slaves ? #724
  • Allow a fixed RPS rate #646
  • nitpick: "# requests" should be "# successful requests"? #145
  • Display percentiles in the UI instead of just min, max and average #140

Merged pull requests:

  • Add response_length to request_failure event #1144 (cyberw)
  • Add failure per seconds as a series in the chart #1140 (alercunha)
  • Fix AttributeError: 'CompatRequest' object has no attribute 'type' in Cookiejar #1139 (cyberw)
  • update build_url function in Locust HttpSession #1134 (vstepanov-lohika-tix)
  • Fix and add test for when locusts fail to exit at end of iteration during stop timeout. #1127 (cyberw)
  • Let's stop calling the package beta! #1126 (cyberw)
  • Add p99.9 and p99.99 to request stats distribution csv #1125 (cyberw)
  • New API for specifying wait time #1118 (heyman)
  • Add errors grouping for dynamic endpoint #993 (dduleba)
  • add 90th %ile to the stats page #945 (myzhan)
  • Make stdout/stderr wrappers identify themselves as not being a tty #929 (michaelboulton)
  • Specify host in web ui #523 (PayscaleNateW)
  • make sure the current working dir is in the sys.path #484 (pwnage101)
locust - v0.8.1

Published by mbeacom about 5 years ago

Full Changelog

Closed issues:

  • Release new Locust version #657
  • make test is failing on 0.7 tags due to Flask 0.12 #637
  • num-requests bug #512
  • Run the tests for the specified time #196
  • Remove support for plain sockets for master/slave communication #14

Merged pull requests:

  • Refactored stats code and display median as well as 95% percentile response times in web UI's charts #549 (heyman)
locust - 0.10.0

Published by mbeacom about 5 years ago

Full Changelog

Fixed bugs:

  • filenames with several dots fails #940
  • Percentiles rounding error #331

Closed issues:

  • Installed in virtualenv but locust command not found (macOS Mojave 10.14) #976
  • how can I send https request with locust when I already have been authentication.. #966
  • How to understand -c when I run locust with no-web mode? #965
  • FunctionNotFound('random_uuid is not found.',) #964
  • HttpLocust class instance variable not set for all users during setup #957
  • locust.runners.MasterLocustRunner failed with ExtraData #956
  • Use pytest tests as locust tasks #955
  • Time limit reached,but test does not stop,throw GreenletExit exception #953
  • Bug: Locust master doesn't remove killed slave #951
  • How to pass multiple request under same @task. Eg: If I need to pass diferrent key for same get, how to do that? Is parameterization exist? #948
  • multiple user behaviour #947
  • seq_task does not work #937
  • locust no-web mode #933
  • reqs/sec is much lower than expected #931
  • --only-summary does not show the summary results #922
  • locust http request size #921
  • Retrieving/saving current number of users #920
  • OpenVAS - ERROR: ('Connection aborted.', BadStatusLine("''",)) #918
  • git changelog page on v0.9.0 return 404 #913
  • locust: error: no such option: -n #912
  • Next version plans #907
  • Need a way for "Device" Locust class to pass a value to the TaskSet #906
  • --only-summary does not show the summary results #905
  • Locust Report Ui Last column is not displaying #903
  • mogul,help me,when i use “sudo pip install locustio”to install, after i use“locust --help”,What should I do if I give an error #902
  • Unable to Get Statistics with --csv or Web Mode when running distributed. #901
  • Locust slave will not start when attempting to start via Node.js SSH2 connection. #900
  • Changelog page in github referenced from docs.locust.io returns a 404 #898
  • slave client_id collisions in large environments #894
  • Put a big sign "you must reload this page before any stats are displayed" somewhere on the web interface #893
  • Wrong statistic of total request count with 0.9.0 #892
  • Questions: #890
  • Strange behavior of "Total Requests per Second" chart #888
  • Locust 0.9.0 slave TypeError: __init__() takes exactly 1 argument (2 given) #887
  • KeyError on weighted tasks #886
  • How do I view the maximum concurrency in 1 second during runtime? #880
  • locust command is not found on parrot security, even when it is successfully installed #878
  • use the FastHttpLocust,how to get cookies ? #861
  • Immediate crash under python 3.7 #852
  • Release 0.9.0 and document release steps #842
  • Extended socket protocol #776
  • Feature request: on_quit() #248

Merged pull requests:

locust - 0.11.0

Published by mbeacom about 5 years ago

locust - 0.11.1

Published by mbeacom about 5 years ago

Full Changelog

Closed issues:

  • locust master crashes on Python 3.7: AttributeError: 'bytes' object has no attribute 'encode' #980
  • Locust can not run in distributed mode in v0.10.0 #978

Merged pull requests:

locust - 0.12.0

Published by mbeacom about 5 years ago

0.12.0 (2019-10-01)

Full Changelog

Fixed bugs:

  • response time has too many decimal places in the web statistics page #1081
  • Fail ratio calculation for individual requests is incorrect #991

Closed issues:

  • Distributed load test k8s and openshift #1100
  • Official docker image does not actually exist #1092
  • Connection Refused for http://localhost:8089/stats/requests in Locust non web UI mode #1086
  • Sequence does not get past first nested sequence. #1080
  • Support for asynchronous requests #1079
  • Monitoring of server system information being tested #1076
  • Logged stats show incorrect failure percentage #1074
  • Identical exceptions are not aggregated and counted together #1073
  • --no-web -r 1 -c 10 -t 5s --expect-slaves=1 #1071
  • Is it possible to start all tests in locust immediately? #1070
  • UI stops updating stats/charts when connection is interupted #1068
  • When running distributed, stop the test if certain condition is met #1067
  • Is it possible to autoscale slaves? #1066
  • docs.locust.io out of date #1064
  • unable to load testing of webmethod (.asmx) #1061
  • Distributed master hangs #1058
  • locust swarm can not control the machine over internet #1056
  • Total Requests per Second not plotting #1055
  • No module named 'HTTPLocust' #1054
  • Call wait function in on_start #1053
  • The locust interface does not start #1050
  • why drop the "-n "prameter after version 0.8 #1048
  • Looking for proxy settings will slow down the default http client #1044
  • Does the statistic data use int type? #1043
  • simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0) #1041
  • Locust load testing for websites #1034
  • Failure Control #1033
  • Number of users reduce after running for 1min #1031
  • Even with min_wait and max_wait == 0, I cannot break 100 requests per second. Why is that? #1030
  • some Strongly expectation of Locust as a Senior performance test engineer #1029
  • The “FAILURES” show on Web UI is error #1028
  • Is there any approach to share a file among hatched users? #1022
  • Does the web UI has authentication? #1021
  • what dose total number means in distribution csv? #1019
  • What does hatch_rate mean? #1018
  • Multi tenancy? #1017
  • 500 RPS per client limit? #1015
  • locustfile as configmap -> Could not find any locustfile! Ensure file ends in '.py' #1012
  • Add easy way to use FastHttpLocust #1011
  • Allow custom options to be passed to locust test #1010
  • How to custom the Web UI #1009
  • Run results show tasks action ratio may be incomprehensible。 #1003
  • Start on stop bugged #998
  • RPS always lower than User counts #997
  • springboot restapi HTTPError 500 #996
  • help: I think my result is False? #995
  • Website: broken links to ESN and Younited #988
  • Request: automatic RPS \ max workers #986
  • Multi-threading Tasks? #985
  • When time to run (-t) timed out, pending requests seems to be aborted, and the (latest) responses get lost #984
  • error: no commands supplied ....!!!!! #983
  • Unable to stop load from web UI with 0.11.0 #981
  • Failure events not being recorded #979
  • RPS will become to 0 in distributed mode #971
  • Stddev and SEM #959
  • ERROR: manifest for locustio/locust:latest not found #958
  • support async tasks? #924
  • Web UI does not stop slave servers #911
  • Request template #879
  • Reset failures and/or exceptions #826
  • Add support for downloading all failures to a CSV #675
  • Locust exits with 1 on timeouts / errors #560
  • Why the "RPS" generated by locust is much fewer than other performance testing tools ? #277

Merged pull requests:

locust - v0.8

Published by heyman about 7 years ago

Full Changelog

Closed issues:

  • Infinite recursion error when testing https sites #655
  • website SSL #644
  • Using locust to query Cassandra #569

Merged pull requests:

General Notes

  • Python 3 support
  • Dropped support for Python 2.6
  • Added --no-reset-stats option for controling if the statistics should be reset once
    the hatching is complete
  • Added charts to the web UI for requests per second, average response time, and number of
    simulated users.
  • Updated the design of the web UI.
  • Added ability to write a CSV file for results via command line flag
  • Added the URL of the host that is currently being tested to the web UI.
  • We now also apply gevent's monkey patching of threads. This fixes an issue when
    using Locust to test Cassandra (https://github.com/locustio/locust/issues/569).
  • Various bug fixes and improvements
locust - v0.8a3

Published by aldenpeterson-wf about 7 years ago