-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
new events for heartbeat and usage monitor #2777
Conversation
Looks very useful, but needs tests and an example (https://github.com/locustio/locust/blob/master/examples/test_data_management.py is where we dump all event examples I right now I guess :) Have you considered using separate events (heartbeat_sent and heartbeat_received). To me that kind of makes more sense. |
ah, i was looking through i'll fix something! |
faf839a
to
6c230b9
Compare
added event examples in `test_data_management.py`. splitted `heartbeat` event into `heartbeat_sent` and `heartbeat_received`, renamed `time` argument to `timestamp`. corrected type of `Runner.current_cpu_usage` which is a `float`. some additional formatting changed by `ruff format .`.
6c230b9
to
68408c7
Compare
...in vscode and terminal+venv and tox env (and hence github workflow). formatting should be fixed now.
Lgtm. Can you update the PR description to match the final solution? |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [locust](https://locust.io/) ([source](https://togithub.com/locustio/locust)) | `==2.29.1` -> `==2.30.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/locust/2.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/locust/2.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/locust/2.29.1/2.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/locust/2.29.1/2.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>locustio/locust (locust)</summary> ### [`v2.30.0`](https://togithub.com/locustio/locust/releases/tag/2.30.0) [Compare Source](https://togithub.com/locustio/locust/compare/2.29.1...2.30.0) #### What's Changed - FastHttpSession: Enable passing json as a positional argument for post() and stop converting response times to int by [@​tdadela](https://togithub.com/tdadela) in [https://github.com/locustio/locust/pull/2772](https://togithub.com/locustio/locust/pull/2772) - Remove Line Chart Default Zoom by [@​andrewbaldwin44](https://togithub.com/andrewbaldwin44) in [https://github.com/locustio/locust/pull/2774](https://togithub.com/locustio/locust/pull/2774) - FastHttpSession requests typing by [@​tdadela](https://togithub.com/tdadela) in [https://github.com/locustio/locust/pull/2775](https://togithub.com/locustio/locust/pull/2775) - new events for heartbeat and usage monitor by [@​mgor](https://togithub.com/mgor) in [https://github.com/locustio/locust/pull/2777](https://togithub.com/locustio/locust/pull/2777) - dispatch benchmark test improvements by [@​tdadela](https://togithub.com/tdadela) in [https://github.com/locustio/locust/pull/2780](https://togithub.com/locustio/locust/pull/2780) - SequentialTaskSet: Allow weighted tasks and dict in .tasks by [@​bakhtos](https://togithub.com/bakhtos) in [https://github.com/locustio/locust/pull/2742](https://togithub.com/locustio/locust/pull/2742) - Fix StatsEntry docstring by [@​tdadela](https://togithub.com/tdadela) in [https://github.com/locustio/locust/pull/2784](https://togithub.com/locustio/locust/pull/2784) - Implement Poetry build system (mainly so we don't have to commit dynamically generated front end bundles to git) by [@​mquinnfd](https://togithub.com/mquinnfd) in [https://github.com/locustio/locust/pull/2725](https://togithub.com/locustio/locust/pull/2725) - Typing: strict optional in dispatch.py by [@​tdadela](https://togithub.com/tdadela) in [https://github.com/locustio/locust/pull/2779](https://togithub.com/locustio/locust/pull/2779) - Correctly set version from Poetry in published builds by [@​mquinnfd](https://togithub.com/mquinnfd) in [https://github.com/locustio/locust/pull/2791](https://togithub.com/locustio/locust/pull/2791) - Fix Extend Webui Example by [@​andrewbaldwin44](https://togithub.com/andrewbaldwin44) in [https://github.com/locustio/locust/pull/2800](https://togithub.com/locustio/locust/pull/2800) - Provide warning for local installs where yarn is not present by [@​mquinnfd](https://togithub.com/mquinnfd) in [https://github.com/locustio/locust/pull/2801](https://togithub.com/locustio/locust/pull/2801) - Fix tests on windows by [@​mquinnfd](https://togithub.com/mquinnfd) in [https://github.com/locustio/locust/pull/2803](https://togithub.com/locustio/locust/pull/2803) - Add example of a bottlenecked server and use that test to make a new graph for the docs by [@​cyberw](https://togithub.com/cyberw) in [https://github.com/locustio/locust/pull/2805](https://togithub.com/locustio/locust/pull/2805) - Replace total avg response time with 50 percentile (avg was broken) by [@​andrewbaldwin44](https://togithub.com/andrewbaldwin44) in [https://github.com/locustio/locust/pull/2806](https://togithub.com/locustio/locust/pull/2806) - Avoid deadlock in gevent/urllib3 connection pool (fixes occasional worker heartbeat timeouts) by [@​tdadela](https://togithub.com/tdadela) in [https://github.com/locustio/locust/pull/2813](https://togithub.com/locustio/locust/pull/2813) - Fix Dockerfile style warning by [@​mehrdadbn9](https://togithub.com/mehrdadbn9) in [https://github.com/locustio/locust/pull/2814](https://togithub.com/locustio/locust/pull/2814) - Fix pypy gc.freeze() AttributeError by [@​jimoleary](https://togithub.com/jimoleary) in [https://github.com/locustio/locust/pull/2819](https://togithub.com/locustio/locust/pull/2819) - Update poetry windows tests by [@​mquinnfd](https://togithub.com/mquinnfd) in [https://github.com/locustio/locust/pull/2821](https://togithub.com/locustio/locust/pull/2821) #### New Contributors - [@​bakhtos](https://togithub.com/bakhtos) made their first contribution in [https://github.com/locustio/locust/pull/2742](https://togithub.com/locustio/locust/pull/2742) - [@​mquinnfd](https://togithub.com/mquinnfd) made their first contribution in [https://github.com/locustio/locust/pull/2725](https://togithub.com/locustio/locust/pull/2725) - [@​mehrdadbn9](https://togithub.com/mehrdadbn9) made their first contribution in [https://github.com/locustio/locust/pull/2814](https://togithub.com/locustio/locust/pull/2814) - [@​jimoleary](https://togithub.com/jimoleary) made their first contribution in [https://github.com/locustio/locust/pull/2819](https://togithub.com/locustio/locust/pull/2819) **Full Changelog**: locustio/locust@2.29.1...2.30.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 10pm every weekday,before 6am every weekday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/apereo/cas). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbIkJvdCIsIlJlbm92YXRlIl19-->
when troubleshooting a problem where workers did not receive a heartbeat from master within
locust.runners.MASTER_HEARTBEAT_TIMEOUT
(not a locust problem) i created two new events which made it possible to easily update our statistics listener to send that information influxdb.heartbeat_sent
: fired when mastersent
heartbeat to a workerheartbeat_received
: fired when workerreceived
said heartbeatusage_monitor
: fired with information about current CPU and memory usage everylocust.runners.CPU_MONITOR_INTERVAL
i did considered creating a custom
on_master_report
to add worker CPU and memory usage there, but that would leave out master. i also considered using theheartbeat
event, since CPU and memory is part of the heartbeat RPC message sent, but that would also leave out master usage.changes regarding imports organization and format is due to
ruff check
and/orruff format
complaining and failing the tests (in my fork).