We have a certain method that runs multiple times in a single purepath, each time with a different argument. I would like to capture the CPU Total for this method, grouped by the argument.
The grouping seems to work, as my business transaction dashlet has a row for each method/argument combination. However, the CPU time for each is the same.
Here is what I've done so far:
I see a row for each unique method/argument combination; that's good. Then I add a column for CPU Time (sum). All the CPU times are the same. The time shown is the sum of all the purepaths that contain that method.
Any ideas? Thanks.
Answer by Glenn M. ·
I'm just posting the wrap-up to this conversation for the community at large. Andreas replied: "I got the chance to look at your session. Unfortunately I have to tell you that this use case is not support right now. You can split your PurePaths by argument value but you cant define an evaluation measure that returns the actual execution time for a specific method execution on that PurePath.
It is a great RFE – but – unfortunately not supported right now.
A workaround that I have to offer is the Contributor Tab in the PurePath Dashlet. This allows you to select one or multiple PurePaths and look at the execution time of the methods you are interested in. Check out the following screenshot. I selected one of your purepaths – switched to the Contributor tab and then filtered the view with “TemplateProcessor” so that I only get to see those process methods. Now I see every method invocation with the parameter and how long it took to execute".
Thanks for looking into this, Andreas. Going to the Contributors tab will work as a manual step, but we would like to turn this into an automated report. and I don’t think you can get Contributors data from the REST interface. Also, you can only select a limited number of purepaths at one time when you do that – like 10-20 depending on the level of instrumentation (50,000 max methods total).
Glenn, I've created an RFE for this. The use case here is "show me the execution time of a method grouped by argument value" - correct?
Answer by Glenn M. ·
That additional column is available, but the numbers are the same for each row.
Hi Glen
Seems like these BTS all match the same number of PurePaths (11). Maybe I got your initial requirement for that BT wrong. Do you say that this process method is called multiple times within a single PurePath? Or is it called only once within a single PurePath and always with a different parameter value?
The scenario that I explained would work where you have multiple PurePaths and every PurePath has one invokation of process. this would then give you the CPU Time of the process method grouped my parameter value.
If you can - send me your exported PurePaths. You can send it to community@dynatrace.com and I take a look at it
Answer by Glenn M. ·
Thanks, Andi. I had tried something like that and it didn't work. So I tried it again, but still no luck. Here is the measure I created to use as an evaluation criteria:
and here is the business transaction:
that looks right.
Whats the result? Remember - when you open the BT Dashlet you will get an additional column that shows the new evaluation value. Exec Time and CPU Time columns that show the total times of the matching PurePaths will still be there - but - you need to look at the additional column that should now be there
let me know what your current result looks like
Answer by Andreas G. ·
Hi Glenn
When you look at the CPU column you will see the CPU time of the PurePaths - just as you explained. What you need is to subscribe a measure for the CPU Time of your method and use this as Evaluation Criteria. If you do that your Business Transaction will return the CPU Time of your method only and not for the whole PurePath.
In dynaTrace 4 you can actually specify multiple evaluation measures - that allows you to e.g: group your PurePaths by method argument and get values such as CPU Time, Exec Time, Exec Count, ...
Andi
JANUARY 15, 3:00 PM GMT / 10:00 AM ET