I need to create a BT with splitting by all webservices that matches a pattern (please find attached screenshot)
My requirements is to calculate the average response time of webservices of which splitting patterns are configured.
call1 http://url:9090/servlet (total time 100 ms)
- subcall WS1.svc 30 ms
- subcall WS2.svc 10 ms
- subcall WS1.svc 60 ms
call1 http://url:9090/servlet2 (total time 200 ms)
- subcall WS3.svc 105 ms
- subcall WS2.svc 50 ms
- subcall WS1.svc 45 ms
results should be these:
WS1: 45ms average time
WS2: 30ms average time
WS3: 105ms average time
My issue is that I'm not able to split and calculate average time spent on each webservices that matches previous pattern.
Instead, the calculated average times are 150 ms for both WS2 and WS1 , and 200 ms for WS3.
I've created a BT using:
- splitting by web service endpoint value
- calculating results of webservice time measure
With this settings it appears that average time doesn't calculate the average time spent on a single splitting value, but on the entire purepaths involved
Any ideas or advice? I'm really frustrating
Admittedly this is a little non-intuitive but you can accomplish this with a BT.
I'm not sure why the "Transactions" section is not enabled for Web Services - Endpoint Value type measures but if you can get the same information using the Web Requests - URI Pattern Value (allowing to capture on any part of the PurePath rather than entry point or first occurrence) then you can do the following:
Add the same measure to both the "splitting" and the "calculate results" section and edit the measure. go to the details tab, expand "transaction" and change grouping measurement to "time"
Hope that helps,