cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

This product reached the end of support date on March 31, 2021.

BT - How to get the time web service for each web service inside a purepath

Arnaud_GERMAIN
Organizer

Context : A big application calls a lot of web service where the end point starts with "https://commerce.edf.fr".
The goal is to get the time taken for each WS call inside a purepath.
We cannot create a time measure for each WS because it is too tedious...
In the BT, from the Results, we can get the sum, first or last but not time for each WS call.
The built-in Business transaction Web Service by method does not show that measure.
The value calculated is the average response time of the purepaths that are calling the WS method and not the average response time of the WS call itself.

4 REPLIES 4

dave_mauney
Dynatrace Champion
Dynatrace Champion

I have had this same issue in the past and solved it by creating one WS measure as a template to get the XML from the System Profile needed. I then used a Notepad++ macro to create the necessary XML for the other WS measures.

You can then export your System Profile, give it a new name, modify the XML, import the System Profile and then copy/paste the new measures into your original System Profile.

Painful, but the best way I could find to solve this problem...

HTH,

dave

Arnaud_GERMAIN
Organizer

Thanks Dave but I really need my measure to be dynamic and automatic (new web services might come along in the future and I don't want to tweak the XML again and again...)

But your solution is pretty interresting thought.

Arnaud

florent_duchate
Dynatrace Pro
Dynatrace Pro

Hi Arnaud,

I have achieved this with another customer.

The key is to be able to create a measure which can select your web services. Unfortunately, you cannot filter on the domain name (https://commerce.edf.fr) so you will need to find another way.

Is there a URI prefix for all your services such as /services/xxxx?

For the customer I mentioned, I used an HTTP header called soapAction which contained the end point name so I didn't have to use URIs.

If you can filter by URI, then create a measure of type URI pattern (under business transaction evaluations) and enter the correct criteria. Go to the details tab on the measure and at the bottom of the screen select the transaction/ grouping measurements check box and select time from the drop down.

Once the measure has been saved, create a new business transaction and add the above measure to the results and splittings sections of the BT.

Select the correct aggregation on the result measure (avg?).

This will return a breakdown of all your web services by average time.

Regards

Flo

lawrence_cuneaz
Dynatrace Guide
Dynatrace Guide

Hi @Florent D.

We would like to capture the Web Request Response Time for each web service call out of the application and multiple service calls are on 1 PurePath. I believe I configured the below business transaction the way you instructed but the result metric I capture is the same for all web services and the same as the PurePath Response Time when I configure the SPLIT to group by TIME. The below Splittings are on the same PurePath.

Web Services Business Transaction Data


Web Services Business Transaction


RESULT - Web Request Response Time


SPLIT - Full URI Path Configuration Tab


SPLIT - Full URI Path Details Tab

Is my Business Transaction configured properly?

Thanks,

Lawrence