locust-plugins 4.4.3__tar.gz → 4.4.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. locust_plugins-4.4.4/CONTRIBUTING.md +12 -0
  2. {locust_plugins-4.4.3/locust_plugins.egg-info → locust_plugins-4.4.4}/PKG-INFO +3 -3
  3. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/_version.py +2 -2
  4. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/listeners/timescale.py +11 -11
  5. {locust_plugins-4.4.3 → locust_plugins-4.4.4/locust_plugins.egg-info}/PKG-INFO +3 -3
  6. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins.egg-info/requires.txt +2 -2
  7. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/setup.py +1 -1
  8. locust_plugins-4.4.3/CONTRIBUTING.md +0 -30
  9. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/.github/workflows/stale.yml +0 -0
  10. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/.github/workflows/tests.yml +0 -0
  11. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/.gitignore +0 -0
  12. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/.pylintrc +0 -0
  13. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/.vscode/launch.json +0 -0
  14. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/.vscode/settings.json +0 -0
  15. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/LICENSE +0 -0
  16. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/MANIFEST.in +0 -0
  17. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/Makefile +0 -0
  18. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/README.md +0 -0
  19. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/bin/locust-compose +0 -0
  20. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/appinsights_listener_ex.py +0 -0
  21. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/cloudwatch_listener_ex.py +0 -0
  22. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/cmd_line_examples.sh +0 -0
  23. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/connection_pool_ex.py +0 -0
  24. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/constant_total_ips_ex.py +0 -0
  25. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/csvreader_ex.py +0 -0
  26. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/distributor_ex.py +0 -0
  27. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/embedded_resource_manager_ex.py +0 -0
  28. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/jmeter_listener_example.py +0 -0
  29. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/kafka_ex.py +0 -0
  30. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/mongoreader_ex.py +0 -0
  31. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/mqtt_custom_client_ex.py +0 -0
  32. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/mqtt_ex.py +0 -0
  33. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/playwright-recording.py +0 -0
  34. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/playwright_ex.py +0 -0
  35. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/products.csv +0 -0
  36. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/reschedule_on_fail_ex.py +0 -0
  37. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/rest_ex.py +0 -0
  38. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/socketio_ex.py +0 -0
  39. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/ssn.csv +0 -0
  40. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/ssn.tsv +0 -0
  41. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/transaction_example.py +0 -0
  42. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/transaction_example_as_library_local.py +0 -0
  43. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/transaction_example_as_library_master.py +0 -0
  44. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/transaction_example_as_library_worker.py +0 -0
  45. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/tsvreader_ex.py +0 -0
  46. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/examples/webdriver_ex.py +0 -0
  47. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/__init__.py +0 -0
  48. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/connection_pools.py +0 -0
  49. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/csvreader.py +0 -0
  50. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/dashboards/Makefile +0 -0
  51. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/dashboards/README.md +0 -0
  52. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/dashboards/docker-compose.yml +0 -0
  53. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/dashboards/locust-grafana/Dockerfile +0 -0
  54. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/dashboards/locust-grafana/Makefile +0 -0
  55. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/dashboards/locust-grafana/create_datasource.sh +0 -0
  56. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/dashboards/locust-grafana/grafana_setup.sh +0 -0
  57. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/dashboards/locust-grafana/import_dashboards.sh +0 -0
  58. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/dashboards/locust-timescale/Dockerfile +0 -0
  59. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/dashboards/locust-timescale/Makefile +0 -0
  60. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/dashboards/locust-timescale/timescale_schema.sql +0 -0
  61. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/dashboards/locust-timescale/zz_hypertable.sql +0 -0
  62. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/dashboards/screenshots/main_dashboard.png +0 -0
  63. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/dashboards/screenshots/main_dashboard_by_request_graphs.png +0 -0
  64. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/dashboards/screenshots/requests_table.png +0 -0
  65. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/dashboards/screenshots/scatter_plot.png +0 -0
  66. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/dashboards/screenshots/testruns.png +0 -0
  67. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/distributor.py +0 -0
  68. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/listeners/__init__.py +0 -0
  69. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/listeners/appinsights.py +0 -0
  70. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/listeners/cloudwatch.py +0 -0
  71. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/listeners/jmeter.py +0 -0
  72. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/mongoreader.py +0 -0
  73. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/py.typed +0 -0
  74. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/transaction_manager.py +0 -0
  75. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/users/__init__.py +0 -0
  76. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/users/kafka.py +0 -0
  77. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/users/mqtt.py +0 -0
  78. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/users/playwright.py +0 -0
  79. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/users/resource.py +0 -0
  80. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/users/rest.py +0 -0
  81. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/users/socketio.py +0 -0
  82. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/users/webdriver.py +0 -0
  83. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/utils.py +0 -0
  84. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins/wait_time.py +0 -0
  85. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins.egg-info/SOURCES.txt +0 -0
  86. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins.egg-info/dependency_links.txt +0 -0
  87. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins.egg-info/not-zip-safe +0 -0
  88. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/locust_plugins.egg-info/top_level.txt +0 -0
  89. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/mypy.ini +0 -0
  90. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/pyproject.toml +0 -0
  91. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/setup.cfg +0 -0
  92. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/test/test.csv +0 -0
  93. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/test/test_all.py +0 -0
  94. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/test/test_cloudwatch_plugin.py +0 -0
  95. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/test/test_missing_extras.py +0 -0
  96. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/tox.ini +0 -0
  97. {locust_plugins-4.4.3 → locust_plugins-4.4.4}/tusk.yaml +0 -0
@@ -0,0 +1,12 @@
1
+ Contributing Guidelines
2
+ =======================
3
+
4
+ If you want to talk about a contribution before you start writing code & making a pull request, please [file an issue](https://github.com/SvenskaSpel/locust-plugins/issues/new). You can also find me (cyberwiz) semi-regularly on the official locust [slack](https://locustio.slack.com) [(signup)](https://communityinviter.com/apps/locustio/locust)
5
+
6
+ In order to maintain a good level of quality, please ensure that your code:
7
+
8
+ * Is formatted using black (https://github.com/psf/black)
9
+
10
+ * Passes linting with pylint (https://www.pylint.org/)
11
+
12
+ * Has relevant examples [here](examples/)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: locust-plugins
3
- Version: 4.4.3
3
+ Version: 4.4.4
4
4
  Summary: Useful plugins/extensions for Locust
5
5
  Home-page: https://github.com/SvenskaSpel/locust-plugins
6
6
  Author: Lars Holmberg
@@ -35,7 +35,7 @@ Requires-Dist: confluent-kafka; extra == "kafka"
35
35
  Provides-Extra: mongo
36
36
  Requires-Dist: pymongo; extra == "mongo"
37
37
  Provides-Extra: mqtt
38
- Requires-Dist: paho-mqtt>=1.5.0; extra == "mqtt"
38
+ Requires-Dist: paho-mqtt>=2.1.0; extra == "mqtt"
39
39
  Provides-Extra: appinsights
40
40
  Requires-Dist: opencensus-ext-azure; extra == "appinsights"
41
41
  Provides-Extra: resource
@@ -49,7 +49,7 @@ Requires-Dist: psycogreen; extra == "all"
49
49
  Requires-Dist: psycopg2-binary; extra == "all"
50
50
  Requires-Dist: confluent-kafka; extra == "all"
51
51
  Requires-Dist: pymongo; extra == "all"
52
- Requires-Dist: paho-mqtt>=1.5.0; extra == "all"
52
+ Requires-Dist: paho-mqtt>=2.1.0; extra == "all"
53
53
  Requires-Dist: opencensus-ext-azure; extra == "all"
54
54
  Requires-Dist: lxml; extra == "all"
55
55
  Requires-Dist: boto3; extra == "all"
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '4.4.3'
16
- __version_tuple__ = version_tuple = (4, 4, 3)
15
+ __version__ = version = '4.4.4'
16
+ __version_tuple__ = version_tuple = (4, 4, 4)
@@ -74,7 +74,7 @@ class Timescale: # pylint: disable=R0902
74
74
 
75
75
  def set_run_id(self, environment, msg, **kwargs):
76
76
  logging.debug(f"run id from master: {msg.data}")
77
- self._run_id = datetime.strptime(msg.data, "%Y-%m-%d, %H:%M:%S.%f").replace(tzinfo=timezone.utc)
77
+ environment._run_id = datetime.strptime(msg.data, "%Y-%m-%d, %H:%M:%S.%f").replace(tzinfo=timezone.utc)
78
78
 
79
79
  @contextmanager
80
80
  def dbcursor(self):
@@ -130,11 +130,11 @@ class Timescale: # pylint: disable=R0902
130
130
  self.set_gitrepo()
131
131
 
132
132
  if not self.env.parsed_options.worker:
133
- self._run_id = datetime.now(timezone.utc)
133
+ environment._run_id = datetime.now(timezone.utc)
134
134
  logging.info(
135
- f"Follow test run here: {self.env.parsed_options.grafana_url}&var-testplan={self._testplan}&from={int(self._run_id.timestamp()*1000)}&to=now"
135
+ f"Follow test run here: {self.env.parsed_options.grafana_url}&var-testplan={self._testplan}&from={int(environment._run_id.timestamp()*1000)}&to=now"
136
136
  )
137
- msg = self._run_id.strftime("%Y-%m-%d, %H:%M:%S.%f")
137
+ msg = environment._run_id.strftime("%Y-%m-%d, %H:%M:%S.%f")
138
138
  if environment.runner is not None:
139
139
  logging.debug(f"about to send run_id to workers: {msg}")
140
140
  environment.runner.send_message("run_id", msg)
@@ -173,7 +173,7 @@ class Timescale: # pylint: disable=R0902
173
173
  with self.dbcursor() as cur:
174
174
  cur.execute(
175
175
  """INSERT INTO user_count(time, run_id, testplan, user_count) VALUES (%s, %s, %s, %s)""",
176
- (datetime.now(timezone.utc), self._run_id, self._testplan, self.env.runner.user_count),
176
+ (datetime.now(timezone.utc), self.env._run_id, self._testplan, self.env.runner.user_count),
177
177
  )
178
178
  except psycopg2.Error as error:
179
179
  logging.error("Failed to write user count to Postgresql: " + repr(error))
@@ -241,7 +241,7 @@ class Timescale: # pylint: disable=R0902
241
241
  greenlet_id = getattr(greenlet.getcurrent(), "minimal_ident", 0) # if we're debugging there is no greenlet
242
242
  sample = {
243
243
  "time": time,
244
- "run_id": self._run_id,
244
+ "run_id": self.env._run_id,
245
245
  "greenlet_id": greenlet_id,
246
246
  "loadgen": self._hostname,
247
247
  "name": name,
@@ -278,7 +278,7 @@ class Timescale: # pylint: disable=R0902
278
278
  cur.execute(
279
279
  "INSERT INTO testrun (id, testplan, num_clients, rps, description, env, profile_name, username, gitrepo, changeset_guid, arguments) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)",
280
280
  (
281
- self._run_id,
281
+ self.env._run_id,
282
282
  self._testplan,
283
283
  self.env.parsed_options.num_users or 1,
284
284
  self.env.parsed_options.ips, # this field is incorrectly called "rps" in db, it should be called something like "target_ips"
@@ -311,7 +311,7 @@ class Timescale: # pylint: disable=R0902
311
311
  )
312
312
 
313
313
  def log_stop_test_run(self, exit_code=None):
314
- logging.debug(f"Test run id {self._run_id} stopping")
314
+ logging.debug(f"Test run id {self.env._run_id} stopping")
315
315
  if self.env.parsed_options.worker:
316
316
  return # only run on master or standalone
317
317
  if getattr(self, "dbconn", None) is None:
@@ -321,7 +321,7 @@ class Timescale: # pylint: disable=R0902
321
321
  with self.dbcursor() as cur:
322
322
  cur.execute(
323
323
  "UPDATE testrun SET end_time = %s, exit_code = %s where id = %s",
324
- (end_time, exit_code, self._run_id),
324
+ (end_time, exit_code, self.env._run_id),
325
325
  )
326
326
  cur.execute(
327
327
  "INSERT INTO events (time, text) VALUES (%s, %s)",
@@ -346,7 +346,7 @@ SET (requests, resp_time_avg, rps_avg, fail_ratio) =
346
346
  COUNT(*)::numeric AS fails
347
347
  FROM request WHERE run_id = %s AND time > %s AND success = 0) AS ___
348
348
  WHERE id = %s""",
349
- [self._run_id] * 7,
349
+ [self.env._run_id] * 7,
350
350
  )
351
351
  except psycopg2.errors.DivisionByZero: # pylint: disable=no-member
352
352
  logging.info(
@@ -358,5 +358,5 @@ WHERE id = %s""",
358
358
  + repr(error)
359
359
  )
360
360
  logging.info(
361
- f"Report: {self.env.parsed_options.grafana_url}&var-testplan={self._testplan}&from={int(self._run_id.timestamp()*1000)}&to={int((end_time.timestamp()+1)*1000)}\n"
361
+ f"Report: {self.env.parsed_options.grafana_url}&var-testplan={self._testplan}&from={int(self.env._run_id.timestamp()*1000)}&to={int((end_time.timestamp()+1)*1000)}\n"
362
362
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: locust-plugins
3
- Version: 4.4.3
3
+ Version: 4.4.4
4
4
  Summary: Useful plugins/extensions for Locust
5
5
  Home-page: https://github.com/SvenskaSpel/locust-plugins
6
6
  Author: Lars Holmberg
@@ -35,7 +35,7 @@ Requires-Dist: confluent-kafka; extra == "kafka"
35
35
  Provides-Extra: mongo
36
36
  Requires-Dist: pymongo; extra == "mongo"
37
37
  Provides-Extra: mqtt
38
- Requires-Dist: paho-mqtt>=1.5.0; extra == "mqtt"
38
+ Requires-Dist: paho-mqtt>=2.1.0; extra == "mqtt"
39
39
  Provides-Extra: appinsights
40
40
  Requires-Dist: opencensus-ext-azure; extra == "appinsights"
41
41
  Provides-Extra: resource
@@ -49,7 +49,7 @@ Requires-Dist: psycogreen; extra == "all"
49
49
  Requires-Dist: psycopg2-binary; extra == "all"
50
50
  Requires-Dist: confluent-kafka; extra == "all"
51
51
  Requires-Dist: pymongo; extra == "all"
52
- Requires-Dist: paho-mqtt>=1.5.0; extra == "all"
52
+ Requires-Dist: paho-mqtt>=2.1.0; extra == "all"
53
53
  Requires-Dist: opencensus-ext-azure; extra == "all"
54
54
  Requires-Dist: lxml; extra == "all"
55
55
  Requires-Dist: boto3; extra == "all"
@@ -8,7 +8,7 @@ psycogreen
8
8
  psycopg2-binary
9
9
  confluent-kafka
10
10
  pymongo
11
- paho-mqtt>=1.5.0
11
+ paho-mqtt>=2.1.0
12
12
  opencensus-ext-azure
13
13
  lxml
14
14
  boto3
@@ -30,7 +30,7 @@ confluent-kafka
30
30
  pymongo
31
31
 
32
32
  [mqtt]
33
- paho-mqtt>=1.5.0
33
+ paho-mqtt>=2.1.0
34
34
 
35
35
  [playwright]
36
36
  playwright>=1.40.0
@@ -10,7 +10,7 @@ extras = {
10
10
  "dashboards": ["psycogreen", "psycopg2-binary"],
11
11
  "kafka": ["confluent-kafka"],
12
12
  "mongo": ["pymongo"],
13
- "mqtt": ["paho-mqtt>=1.5.0"],
13
+ "mqtt": ["paho-mqtt>=2.1.0"],
14
14
  "appinsights": ["opencensus-ext-azure"],
15
15
  "resource": ["lxml"],
16
16
  "boto3": ["boto3"],
@@ -1,30 +0,0 @@
1
- Contributing Guidelines
2
- =======================
3
-
4
- If you want to talk about a contribution before you start writing code & making a pull request, please [file an issue](https://github.com/SvenskaSpel/locust-plugins/issues/new). You can also find me (cyberwiz) semi-regularly on the official locust [slack](https://locustio.slack.com).
5
-
6
- In order to maintain a good level of quality, please ensure that your code:
7
-
8
- * Is formatted using black (https://github.com/psf/black)
9
-
10
- * Passes linting with pylint (https://www.pylint.org/)
11
-
12
- * Has relevant examples [here](examples/)
13
-
14
- ---
15
- ## environment setup
16
-
17
- This project has a dev container definition - https://code.visualstudio.com/docs/remote/containers#
18
-
19
- If you have Docker and visual studio code installed all you need to do is open the repository in vs code and select "re-open in container" in the popup that appears in the bottom right. Dependencies and plugins will be automatically handled.
20
-
21
-
22
- ### Tusk runner
23
-
24
- The development image has some quality of life scripts baked into it
25
-
26
- 1. running `tusk format` Will run the black formatter on examples/ and locust_plugins/
27
-
28
- 2. `tusk pylint` will run pylint against on examples/ and locust_plugins/
29
-
30
- 3. `tusk test` will run the tox test suite in the 3.9 environment
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes