Skip to content

Collect in-flight requests on Thread Group duration end - #167

Merged
3dgiordano merged 1 commit into
developmentfrom
ASYNC-CONTROLLER-SCHEDULED-END
Aug 25, 2026
Merged

Collect in-flight requests on Thread Group duration end#167
3dgiordano merged 1 commit into
developmentfrom
ASYNC-CONTROLLER-SCHEDULED-END

Conversation

@3dgiordano

Copy link
Copy Markdown
Collaborator

This pull request introduces a new feature to the BlazeMeter HTTP Async Controller: it now ensures that when a thread group is configured to run for a fixed duration, any HTTP requests already dispatched by the controller are allowed to complete and be reported before the thread ends. This prevents losing in-flight results at the scheduled end of the run, improving result accuracy and consistency. The grace period for this behavior is configurable via a new property. The pull request also adds comprehensive documentation for this feature and for low-level logging and debugging options.

Enhancements to request completion and scheduling:

  • Added support for holding off the thread's scheduled end while the controller has HTTP requests in flight, ensuring all dispatched requests are collected and reported before the thread stops. This is controlled by the new blazemeter.http.schedulerHoldMillis property, which can be tuned or disabled as needed. The property is documented in both the code and the README.md. [1] [2] [3] [4] [5]
  • Implemented logic to renew the scheduler hold both after each controller turn and during the completion polling loop, so the grace period is dynamically extended as long as requests are pending. [1] [2]

Documentation improvements:

  • Expanded the README.md to explain the new request completion behavior, the blazemeter.http.schedulerHoldMillis property, and its effect on test runs with a scheduled duration. [1] [2]
  • Added a new section on logging and low-level debugging, including how to enable detailed plugin and Jetty logs, and how to avoid excessive Jetty verbosity for clearer diagnostics. [1] [2]

Code quality and maintainability:

  • Refactored transaction sample measurement to ensure accurate timing and robust handling when a run is cut short, preventing negative or zero-duration samples from skewing results. [1] [2]
  • Replaced some LOG.debug calls with the plugin's internal lowLevelDebug method for more consistent and configurable low-level tracing. [1] [2] [3]

These changes make the plugin more robust in scheduled runs, improve the accuracy of reported results, and provide better tools for diagnosing and debugging HTTP request execution.

@3dgiordano
3dgiordano merged commit fe8d5a8 into development Aug 25, 2026
2 checks passed
@3dgiordano
3dgiordano deleted the ASYNC-CONTROLLER-SCHEDULED-END branch August 25, 2026 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant