Repository Analysis

locustio/locust

Write scalable load tests in plain Python 🚗💨

15.6 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of locustio/locust, a Python project with 28,112 GitHub stars. SynthScan v2.0 examined 46,454 lines of code across 348 source files, recording 682 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 15.6 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

15.6
Adjusted Score
15.6
Raw Score
100%
Time Factor
2026-08-26
Last Push
28.1K
Stars
Python
Language
46.5K
Lines of Code
348
Files
682
Pattern Hits
2026-08-29
Scan Date
0.03
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 3HIGH 7MEDIUM 34LOW 638

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 682 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers458 hits · 384 pts
SeverityFileLineSnippetContext
LOWlocust/web.py393 def _download_csv_suggest_file_name(suggest_filename_prefix: str) -> str:CODE
LOWlocust/web.py431 def request_stats_full_history_csv() -> Response:CODE
LOWlocust/env.py255 def _remove_user_classes_with_weight_zero(self) -> None:CODE
LOWlocust/env.py290 def _validate_user_class_name_uniqueness(self):CODE
LOWlocust/env.py299 def _validate_shape_class_instance(self):CODE
LOWlocust/log.py88def greenlet_exception_logger(logger, level=logging.CRITICAL):CODE
LOWlocust/dispatch.py129 def dispatch_iteration_durations(self) -> list[float]:CODE
LOWlocust/dispatch.py271 def _wait_between_dispatch_iteration_context(self) -> Generator[None]:CODE
LOWlocust/dispatch.py313 def _remove_users_from_workers(self) -> dict[str, dict[str, int]]:CODE
LOWlocust/dispatch.py391 def _fast_users_on_workers_copy(users_on_workers: dict[str, dict[str, int]]) -> dict[str, dict[str, int]]:CODE
LOWlocust/opentelemetry.py246def _setup_auto_instrumentation():CODE
LOWlocust/stats.py161def calculate_response_time_percentile(response_times: dict[int, int], num_requests: int, percent: float) -> int:CODE
LOWlocust/stats.py600 def get_response_time_percentile(self, percent: float) -> int:CODE
LOWlocust/stats.py613 def get_current_response_time_percentile(self, percent: float) -> int | None:CODE
LOWlocust/stats.py829def setup_distributed_stats_event_listeners(events: Events, stats: RequestStats) -> None:CODE
LOWlocust/stats.py906def get_percentile_stats_summary(stats: RequestStats) -> list[str]:CODE
LOWlocust/stats.py1273def validate_stats_configuration() -> None:CODE
LOWlocust/clients.py528 def build_connection_pool_key_attributes(self, request, verify, cert=None):CODE
LOWlocust/runners.py852 def _wait_for_workers_report_after_ramp_up(self) -> float:CODE
LOWlocust/runners.py1193 def reported_user_classes_count(self) -> dict[str, int]:CODE
LOWlocust/runners.py1342 def heartbeat_timeout_checker(self) -> NoReturn:CODE
LOWlocust/runners.py1521def _format_user_classes_count_for_log(user_classes_count: dict[str, int]) -> str:CODE
LOWlocust/runners.py1528def _aggregate_dispatched_users(d: dict[str, dict[str, int]]) -> dict[str, int]:CODE
LOWlocust/main.py86def merge_locustfiles_content(CODE
LOWlocust/main.py519 def spawn_run_time_quit_greenlet():CODE
LOWlocust/argument_parser.py92 def secret_args_included_in_web_ui(self) -> dict[str, configargparse.Action]:CODE
LOWlocust/argument_parser.py100 def required_args_included_in_web_ui(self) -> dict[str, configargparse.Action]:CODE
LOWlocust/argument_parser.py108 def multiple_args_included_in_web_ui(self) -> dict[str, configargparse.Action]:CODE
LOWlocust/argument_parser.py188def download_locustfile_from_url(url: str) -> str:CODE
LOWlocust/argument_parser.py215def get_empty_argument_parser(add_help=True, default_config_files=DEFAULT_CONFIG_FILES) -> LocustArgumentParser:CODE
LOWlocust/argument_parser.py259def download_locustfile_from_master(master_host: str, master_port: int) -> str:CODE
LOWlocust/argument_parser.py366def parse_locustfiles_from_master(locustfile_sources) -> list[str]:CODE
LOWlocust/argument_parser.py384def retrieve_locustfiles_from_master(options) -> list[str]:CODE
LOWlocust/argument_parser.py399def raise_argument_type_error(err_msg):CODE
LOWlocust/test/test_parser.py38 def test_parse_options_from_conf_file(self):CODE
LOWlocust/test/test_parser.py433 def test_find_locustfiles_with_multiple_locustfiles(self):STRING
LOWlocust/test/test_parser.py443 def test_find_locustfiles_error_for_invalid_file_extension(self):STRING
LOWlocust/test/test_parser.py450 def test_find_locustfiles_error_if_multiple_values_for_directory(self):STRING
LOWlocust/test/test_parser.py60 def test_parse_two_line_conf_file(self): # there was an issue with conf files identified as tomlSTRING
LOWlocust/test/test_parser.py70 def test_parse_options_from_toml_file(self):STRING
LOWlocust/test/test_parser.py135 def test_parse_options_from_env(self):STRING
LOWlocust/test/test_parser.py194 def test_parse_locustfile_multiple_files(self):STRING
LOWlocust/test/test_parser.py208 def test_parse_locustfile_with_directory(self):STRING
LOWlocust/test/test_parser.py219 def test_parse_locustfile_with_nested_directory(self):STRING
LOWlocust/test/test_parser.py243 def test_parse_locustfile_with_directory_ignores_invalid_filenames(self):STRING
LOWlocust/test/test_parser.py258 def test_parse_locustfile_empty_directory_error(self):STRING
LOWlocust/test/test_parser.py268 def test_parse_locustfile_and_directory(self):STRING
LOWlocust/test/test_parser.py282 def test_parse_multiple_directories(self):STRING
LOWlocust/test/test_parser.py295 def test_parse_locustfile_invalid_directory_error(self):STRING
LOWlocust/test/test_parser.py305 def test_unknown_command_line_arg(self):STRING
LOWlocust/test/test_parser.py352 def test_custom_argument_help_message(self):STRING
LOWlocust/test/test_parser.py371 def test_custom_argument_included_in_web_ui(self):STRING
LOWlocust/test/test_parser.py406 def test_find_locustfiles_with_is_directory(self):STRING
LOWlocust/test/test_parser.py417 def test_find_locustfiles_error_if_directory_doesnt_exist(self):STRING
LOWlocust/test/test_parser.py422 def test_find_locustfiles_ignores_invalid_files_in_directory(self):STRING
LOWlocust/test/test_dispatch.py1083 # def test_ramp_down_users_on_workers_respecting_weight(self):COMMENT
LOWlocust/test/test_dispatch.py787 def test_users_are_distributed_evenly_across_hosts(self):CODE
LOWlocust/test/test_dispatch.py851 def test_implementation_of_dispatch_distribution_with_gcd(self):CODE
LOWlocust/test/test_dispatch.py883 def test_implementation_of_dispatch_distribution_with_gcd_float_weight(self):CODE
LOWlocust/test/test_dispatch.py922 def test_wait_between_dispatch(self):CODE
398 more matches not shown…
Decorative Section Separators17 hits · 58 pts
SeverityFileLineSnippetContext
MEDIUMlocust/test/test_csv_request_logger.py65 # ------------------------------------------------------------------COMMENT
MEDIUMlocust/contrib/milvus.py269# ----------------------------------COMMENT
MEDIUMlocust/contrib/milvus.py271# ----------------------------------COMMENT
MEDIUMlocust/contrib/qdrant.py133# ----------------------------------COMMENT
MEDIUMlocust/contrib/qdrant.py135# ----------------------------------COMMENT
MEDIUMlocust/contrib/csv_request_logger.py108 # ------------------------------------------------------------------COMMENT
MEDIUMlocust/contrib/csv_request_logger.py110 # ------------------------------------------------------------------COMMENT
MEDIUMlocust/contrib/csv_request_logger.py135 # ------------------------------------------------------------------COMMENT
MEDIUMlocust/contrib/csv_request_logger.py137 # ------------------------------------------------------------------COMMENT
MEDIUMdocs/conf.py90# ---------------------COMMENT
MEDIUMdocs/conf.py167# -----------------------COMMENT
MEDIUM.github/workflows/tests.yml23 #-------------------------COMMENT
MEDIUM.github/workflows/tests.yml25 #-------------------------COMMENT
MEDIUM.github/workflows/tests.yml129 #-------------------------COMMENT
MEDIUM.github/workflows/tests.yml131 #-------------------------COMMENT
MEDIUM.github/workflows/tests.yml387 # -------------------------COMMENT
MEDIUM.github/workflows/tests.yml389 # -------------------------COMMENT
Unused Imports60 hits · 58 pts
SeverityFileLineSnippetContext
LOWpytest_locust/plugin.py7CODE
LOWlocust/event.py1CODE
LOWlocust/web.py1CODE
LOWlocust/env.py1CODE
LOWlocust/input_events.py1CODE
LOWlocust/dispatch.py1CODE
LOWlocust/__init__.py24CODE
LOWlocust/__init__.py25CODE
LOWlocust/__init__.py26CODE
LOWlocust/__init__.py28CODE
LOWlocust/__init__.py29CODE
LOWlocust/__init__.py30CODE
LOWlocust/__init__.py30CODE
LOWlocust/__init__.py30CODE
LOWlocust/__init__.py31CODE
LOWlocust/__init__.py32CODE
LOWlocust/__init__.py32CODE
LOWlocust/__init__.py32CODE
LOWlocust/__init__.py33CODE
LOWlocust/__init__.py33CODE
LOWlocust/__init__.py34CODE
LOWlocust/__init__.py34CODE
LOWlocust/__init__.py34CODE
LOWlocust/__init__.py34CODE
LOWlocust/__init__.py63CODE
LOWlocust/__init__.py64CODE
LOWlocust/__init__.py8CODE
LOWlocust/debug.py1CODE
LOWlocust/stats.py1CODE
LOWlocust/clients.py1CODE
LOWlocust/runners.py1CODE
LOWlocust/shape.py1CODE
LOWlocust/main.py1CODE
LOWlocust/main.py37CODE
LOWlocust/argument_parser.py1CODE
LOWlocust/test/test_dispatch.py1CODE
LOWlocust/test/mock_logging.py1CODE
LOWlocust/test/test_web.py1CODE
LOWlocust/test/test_runners.py1CODE
LOWlocust/test/test_main.py1CODE
LOWlocust/util/load_locustfile.py1CODE
LOWlocust/user/task.py1CODE
LOWlocust/user/users.py1CODE
LOWlocust/user/__init__.py8CODE
LOWlocust/user/__init__.py8CODE
LOWlocust/user/__init__.py8CODE
LOWlocust/user/__init__.py9CODE
LOWlocust/user/__init__.py9CODE
LOWlocust/user/inspectuser.py1CODE
LOWlocust/user/wait_time.py7CODE
LOWlocust/contrib/mqtt.py1CODE
LOWlocust/contrib/fasthttp.py1CODE
LOWlocust/contrib/fasthttp.py5CODE
LOWlocust/contrib/csv_request_logger.py54CODE
LOWlocust/rpc/protocol.py1CODE
LOWlocust/rpc/__init__.py6CODE
LOWlocust/rpc/__init__.py7CODE
LOWdocs/_ext/llms_txt.py36CODE
LOWexamples/testdata_management.py23CODE
LOWexamples/web_ui_auth/custom_form.py11CODE
Excessive Try-Catch Wrapping47 hits · 56 pts
SeverityFileLineSnippetContext
LOWlocust/event.py52 except Exception:CODE
LOWlocust/event.py85 except Exception as e:CODE
LOWlocust/web.py671 except Exception as e:CODE
LOWlocust/input_events.py114 except Exception as e:CODE
MEDIUMlocust/input_events.py99def input_listener_func():CODE
LOWlocust/runners.py387 except Exception:CODE
LOWlocust/runners.py986 except Exception as error:CODE
LOWlocust/runners.py1083 except Exception as e:CODE
LOWlocust/runners.py1179 except Exception:CODE
LOWlocust/main.py243 except Exception:CODE
LOWlocust/main.py340 except Exception:CODE
LOWlocust/main.py372 except Exception as e:CODE
LOWlocust/main.py693 except Exception:CODE
LOWlocust/argument_parser.py120 except Exception as e:CODE
MEDIUMlocust/argument_parser.py117def parse(self, stream):CODE
MEDIUMlocust/test/test_web.py205def test_reset_stats(self):CODE
MEDIUMlocust/test/test_web.py228def test_exceptions(self):CODE
MEDIUMlocust/test/test_web.py243def test_exceptions_csv(self):CODE
MEDIUMlocust/test/test_web.py1082def test_report_exceptions(self):CODE
LOWlocust/test/test_web.py208 except Exception as e:CODE
LOWlocust/test/test_web.py231 except Exception as e:CODE
LOWlocust/test/test_web.py246 except Exception as e:CODE
LOWlocust/test/test_web.py1085 except Exception as e:CODE
LOWlocust/test/__init__.py14except Exception:CODE
LOWlocust/user/task.py375 except Exception:CODE
LOWlocust/user/task.py384 except Exception:CODE
LOWlocust/user/task.py387 except Exception as e:CODE
LOWlocust/user/users.py162 except Exception as e:CODE
LOWlocust/contrib/milvus.py97 except Exception as e:CODE
LOWlocust/contrib/milvus.py110 except Exception as e:CODE
LOWlocust/contrib/milvus.py159 except Exception as e:CODE
LOWlocust/contrib/milvus.py192 except Exception as e:CODE
LOWlocust/contrib/milvus.py226 except Exception:CODE
LOWlocust/contrib/milvus.py248 except Exception as e:CODE
LOWlocust/contrib/milvus.py261 except Exception as e:CODE
LOWlocust/contrib/qdrant.py46 except Exception as e:CODE
LOWlocust/contrib/qdrant.py79 except Exception as e:CODE
LOWlocust/contrib/qdrant.py109 except Exception as e:CODE
LOWlocust/contrib/qdrant.py125 except Exception as e:CODE
LOWlocust/contrib/mqtt.py381 except Exception:CODE
LOWlocust/contrib/fasthttp.py485 except Exception as e:CODE
LOWlocust/contrib/postgres.py23 except Exception as e:CODE
LOWlocust/contrib/socketio.py29 except Exception as e:CODE
LOWlocust/contrib/socketio.py47 except Exception as e:CODE
MEDIUMlocust/rpc/zmqrpc.py72 print(f"Error resolving address: {e}")CODE
LOWdocs/_ext/llms_txt.py199 except Exception as e:CODE
LOWexamples/manual_stats_reporting.py32 except Exception as e:CODE
Deep Nesting42 hits · 36 pts
SeverityFileLineSnippetContext
LOWlocust/web.py121CODE
LOWlocust/web.py214CODE
LOWlocust/env.py270CODE
LOWlocust/input_events.py98CODE
LOWlocust/input_events.py67CODE
LOWlocust/input_events.py99CODE
LOWlocust/opentelemetry.py92CODE
LOWlocust/opentelemetry.py137CODE
LOWlocust/opentelemetry.py188CODE
LOWlocust/runners.py247CODE
LOWlocust/runners.py339CODE
LOWlocust/runners.py466CODE
LOWlocust/runners.py875CODE
LOWlocust/runners.py927CODE
LOWlocust/runners.py975CODE
LOWlocust/runners.py1017CODE
LOWlocust/main.py148CODE
LOWlocust/main.py260CODE
LOWlocust/argument_parser.py117CODE
LOWlocust/test/test_dispatch.py1775CODE
LOWlocust/test/test_dispatch.py2148CODE
LOWlocust/test/test_dispatch.py3623CODE
LOWlocust/test/test_runners.py1313CODE
LOWlocust/test/test_runners.py1838CODE
LOWlocust/test/test_runners.py4157CODE
LOWlocust/test/test_main.py289CODE
LOWlocust/test/test_main.py298CODE
LOWlocust/test/test_main.py373CODE
LOWlocust/test/test_main.py512CODE
LOWlocust/test/test_main.py762CODE
LOWlocust/test/test_main.py807CODE
LOWlocust/test/test_main.py1479CODE
LOWlocust/util/load_locustfile.py88CODE
LOWlocust/user/task.py144CODE
LOWlocust/user/task.py346CODE
LOWlocust/user/users.py297CODE
LOWlocust/user/sequential_taskset.py17CODE
LOWlocust/contrib/milvus.py200CODE
LOWlocust/contrib/fasthttp.py447CODE
LOWlocust/contrib/fasthttp.py577CODE
LOWdocs/_ext/llms_txt.py110CODE
LOWexamples/response_validations.py21CODE
Hallucination Indicators3 hits · 35 pts
SeverityFileLineSnippetContext
CRITICALlocust/test/test_runners.py374 self.user.environment.events.request.fire(CODE
CRITICALlocust/test/test_runners.py400 self.user.environment.events.request.fire(CODE
CRITICALlocust/user/task.py388 self.user.environment.events.user_error.fire(user_instance=self, exception=e, tb=e.__traceback__)CODE
Cross-File Repetition6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHlocust/shape.py0meta class for the main user class. it's used to allow user classes to specify task execution ratio using an {task:int} STRING
HIGHlocust/user/task.py0meta class for the main user class. it's used to allow user classes to specify task execution ratio using an {task:int} STRING
HIGHlocust/user/users.py0meta class for the main user class. it's used to allow user classes to specify task execution ratio using an {task:int} STRING
HIGHexamples/custom_wait_function.py0user class that does requests to the locust web server running on localhostSTRING
HIGHexamples/basic.py0user class that does requests to the locust web server running on localhostSTRING
HIGHexamples/multiple_hosts.py0user class that does requests to the locust web server running on localhostSTRING
Self-Referential Comments7 hits · 21 pts
SeverityFileLineSnippetContext
MEDIUMlocust/env.py159 # Create a new RequestStats with use_response_times_cache set to False to save some memoryCOMMENT
MEDIUMlocust/test/test_markov_taskset.py223 # Define a class with abstract=True explicitlyCOMMENT
MEDIUMlocust/test/test_main.py857 # Define the input filename as well as the resulting filename within the temp directoryCOMMENT
MEDIUMdocs/conf.py2# This file is execfile()d with the current directory set to its containing dir.COMMENT
MEDIUMdocs/conf.py22# Define the canonical URL if you are using a custom domain on Read the DocsCOMMENT
MEDIUMexamples/grpc/hello_pb2_grpc.py46# This class is part of an EXPERIMENTAL API.COMMENT
MEDIUMexamples/socketio/echo_server.py12# Create a Socket.IO serverCOMMENT
Modern Structural Boilerplate12 hits · 12 pts
SeverityFileLineSnippetContext
LOWlocust/web.py49logger = logging.getLogger(__name__)CODE
LOWlocust/opentelemetry.py10logger = logging.getLogger(__name__)CODE
LOWlocust/stats.py33logger = logging.getLogger(__name__)CODE
LOWlocust/stats.py964def update_stats_history(runner: Runner, timestamp: str | None = None) -> None:CODE
LOWlocust/runners.py42logger = logging.getLogger(__name__)CODE
LOWlocust/runners.py197 def update_state(self, new_state: str) -> None:CODE
LOWlocust/util/exception_handler.py4logger = logging.getLogger(__name__)CODE
LOWlocust/user/task.py34logger = logging.getLogger(__name__)CODE
LOWlocust/user/users.py37logger = logging.getLogger(__name__)CODE
LOWlocust/contrib/csv_request_logger.py57logger = logging.getLogger(__name__)CODE
LOWdocs/_ext/llms_txt.py48logger = logging.getLogger(__name__)CODE
LOWexamples/grpc/hello_server.py9logger = logging.getLogger(__name__)CODE
Over-Commented Block13 hits · 12 pts
SeverityFileLineSnippetContext
LOWlocust/runners.py361 # to unexpected behaviours such as the one in the following example:COMMENT
LOWlocust/test/test_dispatch.py1081 self.assertTrue(0 <= delta <= _TOLERANCE, delta)COMMENT
LOWlocust/test/test_dispatch.py1101 # {COMMENT
LOWdocs/conf.py1#COMMENT
LOWdocs/conf.py141# There are two options for replacing |today|: either, you set today to someCOMMENT
LOWdocs/conf.py181# HTML themeCOMMENT
LOWexamples/testdata_management.py1# This example shows the various ways to run things before/outside of the normal task execution flow,COMMENT
LOWexamples/open_closed_workload.py21# so if response times increase to the point where one task execution takes more than 10s,COMMENT
LOWexamples/browse_docs_test.py41COMMENT
LOWexamples/socketio/socketio_ex.py21 # resp = self.client.post("/login", json={"username": "foo", "password": "bar"})COMMENT
LOWbenchmarks/dispatch.py21USER_CLASSES: list[type[User]] = []COMMENT
LOW.github/workflows/tests.yml541 dir: locust/webuiCOMMENT
LOW.github/workflows/tests.yml561 # with:COMMENT
Slop Phrases3 hits · 7 pts
SeverityFileLineSnippetContext
LOWlocust/contrib/oai.py11from openai import OpenAI # dont forget to install openaiCODE
MEDIUMexamples/testdata_management.py43# If you want to get something over HTTP at this time you can use `requests` directly:COMMENT
MEDIUMexamples/testdata_management.py122 # If you do not want the request logged, you can replace self.client.<method> with requests.<method>COMMENT
Synthetic Comment Markers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHAGENTS.md3Locust is a developer-friendly, open-source load testing framework. This guide helps AI agents understand Locust's strucCODE
AI Structural Patterns5 hits · 5 pts
SeverityFileLineSnippetContext
LOWlocust/web.py121CODE
LOWlocust/env.py23CODE
LOWlocust/env.py168CODE
LOWlocust/contrib/fasthttp.py184CODE
LOWexamples/grpc/hello_pb2_grpc.py51CODE
Overly Generic Function Names3 hits · 3 pts
SeverityFileLineSnippetContext
LOWlocust/test/test_web.py1151 def do_something(self):CODE
LOWlocust/user/task.py398 def execute_task(self, task):CODE
LOWlocust/user/task.py507 def execute_task(self, task):CODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWlocust/argument_parser.py200 # Check if response is valid python codeCOMMENT
Fake / Example Data3 hits · 2 pts
SeverityFileLineSnippetContext
LOWlocust/test/test_runners.py3330 server.mocked_send(Message("test_custom_msg", {"test_data": 123}, "dummy_id"))CODE
LOWlocust/test/test_runners.py3352 server.mocked_send(Message("unregistered_custom_msg", {}, "dummy_id"))CODE
LOWlocust/test/test_runners.py3971 client.mocked_send(Message("unregistered_custom_msg", {}, "dummy_id"))CODE
AI Slop Vocabulary1 hit · 1 pts
SeverityFileLineSnippetContext
MEDIUMlocust/contrib/fasthttp.py680 """Override _urlopen() in order to make it use the response_type attribute"""STRING