Dynamic streamName
, following Gatling's change in WebSocket.
Adds sync
parameter for reconciliate
call for streams.
TimestampExtractor
and SessionCombiner
now both have their Kotlin wrapper versions.
Gatling 3.9.0
Fix delay logging bug in client stream.
Gatling 3.8.4.
Advanced API allowing multiple event types in a stream.
This is backward compatible except for a minor behaviour change.
Returning TimestampExtractor.IgnoreMessage
no longer skips over
the trace/debug logging and
the waiting for next message (i.e. .reconciliate(waitFor = NextMessage)
).
Adding preSendAction
for performing a side effect before sending a client/bidi stream message.
This is useful for storing the send time of the message.
Gatling 3.8.3.
Allows accessing the status of streaming calls.
Streaming method descriptors are moved earlier in the construction,
provided at the same time as streamName
.
This change makes it harder to have type errors.
Various changes to make Kotlin/Java access easier.
Gatling 3.7.6.
checkIf
(andendCheckIf
for streams) implemented.
Reduce verbose logs to DEBUG following Gatling 3.6.0
Bugfix: trailer.find(n)
was always returning the first element.
Server/bidi stream end logging:
streamEndLog(logWhen)
added.- the start/end in the report is now the duration of the call, instead of the empty interval at the end of the call.
Gatling 3.6.1. ScalaPB 0.11.6.
Allows the virtual user to wait for the (server/bidi) stream to end or for a new message to come, blocking the flow of that virtual user.
Headers can be now specified in the Protocol
level.
Bugfix: halfClose
was not called on client stream complete.
Scala 2.13. Gatling 3.5.0.
Following the convention of Gatling, since there is no cross-build,
the suffix _2.xx
is removed.
Remember to change the %%
to %
in your dependency.
DynamicGrpcProtocol.disposeChannel
for closing the dynamic channel early.
CHANGE OF BEHAVIOUR: the timestamp extractor is run BEFORE the checks are run. This makes it easier to detect "first" messages in a stream.
Improves streaming logging, mimics Gatling WebSocket wordings.
Lazy parsing for streaming calls.
Dynamic Channel support. Remember to exec
dyanmicConf.setChannel
before running .target(dyanmicConf)
.
Uses the EventLoopGroup
of Gatling in the ManagedChannel
s.
Client streaming which measures time between client half close and server completion.
Moved some code to Gatling-Ext.
SessionCombiner
is nowcom.github.phisgr.gatling.generic.SessionCombiner
.extract
andextractMultiple
now expect a function that returns aValidation
. This is mostly source-compatible because of the automatic implicit conversion to a successful validation,import
ed fromio.gatling.core.Predef
.
Upgrades to Gatling 3.4.0.
Defaults to not parsing gRPC response for unary calls.
Call forceParsing
on your GrpcProtocol to force parsing.
Removed the .exists(f)
check shorthand.
Write .extract(f)(_.exists)
instead.
Streaming support!
Fix metadata reflection failure. Supports silent and group.
Added methods named managedChannelBuilder
. They mean the same as
ManagedChannelBuilder.forTarget
or ManagedChannelBuilder.forAddress
but have a return type that is easier for the type inference of IntelliJ.
In addition, since Gatling-gRPC does not block threads,
they use the directExecutor
by default to further improve performance.
This release contains structural changes that are a step closer to supporting streaming APIs. Most notably the function-taking API, that allows arbitrary Scala code to be run, is gone.
As things got moved around, you may need to check your imports.
New functionalities:
- Warm up call to force the class-loading. By default the call is a health check.
- Specification of call options.
- Trailer extraction.
- Improved logging.
Improved performance:
- Use while loop to implement
foldM
-like manipulation.- Performance of dynamic payload creation with ScalaPB lenses is now comparable to using Gatling-JavaPB.
- Removed the use of futures in
GrpcCallAction
.
Logs failed requests with a non-OK status code.
Adds Expression
versions of Lens extension methods.
Upgrades versions.
Adds target
for connections to different endpoints
different from the value specified in protocols
.
Upgrades to Gatling 3.3.0.
Upgrades to Gatling 3.2.0. Fixed the duplicated "extraction crashed" in error messages.
The Expression
s created with updateExpr
should be faster.
Uses the RequestAction
,
if you have unbuildable requests in your tests,
you will get more error logs.
Throttling support and channel sharing,
removed setUpGrpc
as it is done automatically.
Migrated to Gatling 3.0. The new version should be source compatible with the previous one, as evidenced by the test which is not changed.
Previously method references
(functions that are not applied, an _
before a method)
were used to refer to an RPC.
In this version, method descriptors are used,
bringing a better looking API.
But the old one is still kept for more flexibility.