CQRS style timings

Hi all,
I’m very new with gatling and quite happy with how it works (I know a bit of scala and async programming). I do have a 2 use cases that I want to use for the overall performance of the system under load that I do not know how to approach. The system I’m currently building a CQRS backend system so timing the mean of a response of a normal request->response is practically useless (most responses are 202 in sub 1ms timings).

  1. I would like to time from a specific request to a polled response (request is one rest endpoint and the response result at another rest endpoint). I’ve got gatling requesting and polling to check that the result is successful but how do I get the statistics of the time between the request and the successful polled response (yeah I realise that the sample timing ± (the poll time + network latency))?

  2. A little easier(implementation wise) and more accurate than above is how do I time from the same above request until a related ( via and Idempotent id ) JMS message to a broadcast topic? I’ve looked at the jms gatling implementation but that seems to be a jms request until a jms response library, if there is no support for this where do I start looking on how to implement a cross protocol request response type actionbuilder? How much work do you think it would be? Or is there something I’m just missing?

Is it possible that I using the wrong tool for a CQRS type system? If so can you suggest a CQRS perf testing tool?

Thanks,
Kevin.

Hi all,
I'm very new with gatling and quite happy with how it works (I know a bit
of scala and async programming). I do have a 2 use cases that I want to use
for the overall performance of the system under load that I do not know how
to approach. The system I'm currently building a CQRS backend system so
timing the mean of a response of a normal request->response is practically
useless (most responses are 202 in sub 1ms timings).

1) I would like to time from a specific request to a polled response
(request is one rest endpoint and the response result at another rest
endpoint). I've got gatling requesting and polling to check that the result
is successful but how do I get the statistics of the time between the
request and the successful polled response (yeah I realise that the sample
timing +- (the poll time + network latency))?

Wrap into a group:
http://gatling.io/docs/2.0.3/general/scenario.html#groups-definition
http://gatling.io/docs/2.0.3/general/timings.html#groups

2) A little easier(implementation wise) and more accurate than above is
how do I time from the same above request until a related ( via and
Idempotent id ) JMS message to a broadcast topic? I've looked at the jms
gatling implementation but that seems to be a jms request until a jms
response library, if there is no support for this where do I start looking
on how to implement a cross protocol request response type actionbuilder?
How much work do you think it would be? Or is there something I'm just
missing?

Probably quite easy to hack something: have an actor that gets all the ids
with the start timestamp and that subscribes to your JMS queue. Have it
extend DataWriterClient so you can publish results.