I am building a business transaction that will allow me to see the execution time of a method split by the argument value. Basically I created three measures: invocation for the filter, an exec time for the results and the measure for the argument value for splitting. The problem that I am having is that the result that is visualized does not match the exec time of the purepath.
In the next image you will see the execution time for that method with the argument value.
When drilling down to the purepath, I added the exec column which should provide the execution time of the method, and as you can see the times do not match. One thing to note is that the method useRule is invoked several times during the purepath, so filtering for the argument will help.
I have added a session that includes the business transaction (BT_UseRule).
Solved! Go to Solution.
the reason is that the result measure can't restrict the evaluation to only those nodes that you consider for the splitting.
A BT result measure will always take all the nodes of the selected purepath where it matches (in your case, all the "useRule" nodes) and apply the configured aggregation (avg in your case).
A way to memorize:
- The filter measures select a subset of all the available purepaths
- The splitting measures group these purepaths into smaller sets
- The result measures get applied and aggregated for each purepath in one such group
I can't think of a way to implement what you need, unless you want to create one measure per splitting (pita to maintain), but maybe someone with more experience in implementing BTs/measures can help you.