-
Notifications
You must be signed in to change notification settings - Fork 8.5k
Description
The RUM agent does not know about the abstract page patterns that the website it is installed on uses (/blog/:blogID). It only knows the concrete page path: /blog/10-tips-when-youre-building-your-own-airplane. As it is at the moment, we cannot use the concrete page names because this results in a high cardinality of transaction names which means sorting by impact breaks down because we sort by "impact" in the Kibana node process. This has the effect that when the user logs in, they will se single pages that have only been loaded once with a high average response time, while there are actually pages that have a much higher impact that are not shown.
Impact is avg load time multiplied by number of page loads.
This is equal to the sum of the page load times
Instead of query for transaction groups sorted by load time and then calculating the impact in the Kibana node process, we should just sort by the SUM in Elasticsearch directly:
"aggs": {
"transactions": {
"terms": {
"field": "transaction.name.keyword",
"order": {
"sum": "desc"
},
"size": 100
},
"aggs": {
"avg": {
"avg": {
"field": "transaction.duration.us"
}
},
"p95": {
"percentiles": {
"field": "transaction.duration.us",
"percents": [
95
]
}
},
"sum": {
"sum": {
"field": "transaction.duration.us"
}
}
}
}