Release 3.2.0 - #163
Merged
Merged
Conversation
… elapsed on parent sampler.
…_LOADTIME Fixed an issue when reaching timeout in subsample setting double time…
* Support Source address for outgoing connections
* Bring visibility to connection handshake
* Use HTTP/1.1 when no ALPN protocol
3dgiordano
marked this pull request as ready for review
August 24, 2026 23:29
Only when H2C not is supported
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces new features and documentation updates for the BlazeMeter HTTP plugin, focusing on improved control over timing and logging, along with dependency updates. The most significant changes are the addition of a new scheduler hold property for async controllers, expanded documentation on logging and debugging, and dependency upgrades for better stability and compatibility.
New features and configuration:
blazemeter.http.schedulerHoldMillis, which controls how long thebzm - HTTP Async Controllerwill hold a thread at the end of a timed run to collect responses from in-flight requests, matching JMeter's graceful shutdown behavior. This is now documented and implemented in the code. [1] [2] [3] [4]Documentation improvements:
README.mdwith a new section on Logging and low-level debugging, including detailed instructions on enabling internal plugin traces and controlling Jetty's logging verbosity. This helps users diagnose issues without overwhelming logs during load tests. [1] [2]Dependency and version updates:
3.2.0and updated thelog4jdependency from2.22.1to2.25.5inpom.xmlfor improved security and compatibility. [1] [2]Internal code enhancements:
HTTP2Controller.javato support the new scheduler hold property, improved state tracking for parent transactions, and prepared for more granular control over sample timing and logging. [1] [2] [3] [4]Connection Failure Tracking and Reporting
ConnectAttemptRecorderclass to record all connection failures for each address attempted, and attach them as suppressed exceptions to the main failure, improving visibility into all failed connection attempts, not just the final one. (ConnectAttemptRecorder.java)ConnectAttemptRecorder, ensuring all connection attempts are captured. (HTTP2JettyClient.java)HttpClientTransportDynamicwith a newRecordingHttpClientTransportDynamicto support connection attempt recording across all protocol variants. (HTTP2JettyClient.java) [1] [2] [3] [4]HTTP/2 Rejection Handling
onHttp2Rejectedcallback, which marks an origin as HTTP/1.1-only if it rejects the HTTP/2 preface, avoiding repeated failed attempts for future requests to that origin. (HTTP2JettyClient.java) [1] [2] [3]Infrastructure and Constructor Updates
HTTP2JettyClientconstructor to accept aDnsResolverand initialize theConnectAttemptRecorderand connector tracking, preparing the client for improved DNS and connection handling. (HTTP2JettyClient.java)These changes together provide much richer error reporting and smarter protocol fallback behavior, improving both developer diagnostics and end-user experience.