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

What is the meaning of the value "Last" in Aggregate Method?

Dynatrace Participant
Dynatrace Participant

What does the value “last” in the Aggregate method in both Filter and Calculate Results mean?


Dynatrace Leader
Dynatrace Leader

I believe it is supposed to be the 'last' measurement that was seen for that value in that PurePath (or user action or visit if it is that type of business transaction).

To better understand it think of if you have a filter measure for response times of web request "/test" which is made 3 times in a single PurePath (1 second, 5 seconds, and 2 seconds in that order). If you use min it will be evaluated as 1 second, max would be 5 seconds, and last would be 2 seconds since it was the last value seen for that request in the purepath. If you were to select sum it would be evaluated as 8 seconds.

With this in mind you can see that it doesn't really matter all that much for measures which will only be seen once in a PurePath. For instance, there is only ever going to be one PurePath response time for one PurePath so the last, min, max, and sum will always be the same hence why it defaults to last.

Another thing to note is that all the configurations and aggregations you select in the business transaction configuration will only be at the individual PurePath level (e.g. the sum of a measure in that one PurePath). When you chart a measure or create an incident is when you can say "sum the response times for all of these PurePaths in this business transaction" which makes it more flexible.

Does that help?


You always beat me in terms of timing and quality haha

Ha! It's like the exact same format!

It does, thank you!


If the value occurs more than once in the transaction (type you've selected being PurePath, User Action, or Visit) then sequentially it will use the last one to evaluate whether it meets the threshold you've defined.

For example: if your measure is a method Time measure for a method called "execute()" with an upper threshold of 100ms and the method invokes 3 times at 150 ms, 200 ms, and 50 ms, the aggregation of "last" would mean that the filter is not true for your transaction, because 50 < 100. The aggregation of "first" would evaluate 150 > 100 as being true, and the aggregation of "average" would evaluate 133 > 100 as being true, etc.

Note that for many measures this aggregation doesn't matter, such as a method invocation with upper threshold of 1 (checking to see if a method invoked for your transaction). In this case if it invokes once, all aggregations against the threshold will evaluate true, and if it does not invoke then all aggregations against the threshold will evaluate false.

If you have a specific question about something you're trying to get set up, let me know in a reply to this answer and I'd be happy to help further.


Rick B