question

Josep C. avatar image
Josep C. asked ·

Measure for the time taken in one method filtered by some parameter

Hi all,

we want to create one measure to draw in one DB the time taken by the calls to one method with one specific parameter. For example, we've one pure path with one call to the method someMethod(String param)

We want to monitor the time taken by these calls but only if the parameter param was, for example, "someValue".

The measure Methods -> Time doesn't admit filters by the argument and the measure Methods -> Argument Value works but I want to create one BT with these measure as filter and the BT returns the whole pure path time not the time in the method someMethod.

Any ideas to do this?

Regards, Josep Maria

business transaction7.2measures
10 |2000000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

1 Answer

Sebastian K. avatar image
Sebastian K. answered ·

Only Idea I have is using Business Transaction with filter made using extraction rule of Method Argument Value:

Here you have such measure. You have to place sensor on method first with extraction of parameter of your choice. When you will confirm that it works, you have to create this measure wich will extract the same value as sensor and than you can create match rule that has to be filtered.

Such BT will show you response times of whole purepaths that contains method with particular argument.

Then you can use this BT as a filter for other dashlets.

Sebastian


7 comments Share
10 |2000000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

Hi Sebastian,


this works but the BT returns the whole pure path time not the time in the method someMethod and the method was called one time with the "someValue " argument and several other times in the pure path with distinct arguments. I want only the time for the call with "someValue " as a result for the BT not the total purepath time.


Regards, Josep Maria
0 Likes 0 · ·

You can try filter Method Hotspots dashlet with this BT but I'm not sure if this will not cover those extra methods as well. Such situation is hard to measure.

Sebastian

0 Likes 0 · ·

Josep, did you try adding the Method Time measure to the Calculate Results section of the Business Transaction? You need to use this for seeing more granular times in a business transaction.

Then for capturing the time for the specific argument value...it's not ideal, but you can create a splitting on Methods - Argument value. You'll get the time for each method parameter, but at least then you can filter your chart for any specific argument (assuming the parameter values don't create too many splittings)

0 Likes 0 · ·

Hi Michael,

adding the Method Time measure to the Calculate Results section of the Business Transaction works well if each pure paths only had one call to someMethod but in my case there's several calls to someMethod and we only want those called with the argument "someValue".

Regards, Josep Maria


0 Likes 0 · ·

Hi Josep,

If you combine Method - Time in the Calculate Results with a Method - Argument Value splitting, you will see time results calculated for each argument value.

After adding the splitting, edit that measure and click on the Details tab. Under Transaction, check Grouping Measurement and choose Time from the dropdown.

Let me know how it goes.

0 Likes 0 · ·

Hi Michael,

There's 5 different calls tho the method and in the BT I see the same Times for the calculated method calls for each split:

Maybe I'm doing somenthing wrong...

Regards, Josep Maria


0 Likes 0 · ·
1.jpg (118.3 KiB)

Sorry, I keep forgetting about this behavior!

You need to put the method argument value splitting measure in both the Calculate Results and Split Results.

You can remove the Method time measure from Calculate Results, as the Group by Time measurement will provide the correct metric.

0 Likes 0 · ·