apm
apm copied to clipboard
Mitigate outliers in transaction duration histogram visualization
Is your feature request related to a problem? Please describe.
Wide ranges of values in distribution of transaction duration make visualization and drilling down difficult.
The evenly spaced buckets are great when the durations are clustered:
![image](https://user-images.githubusercontent.com/83483/88954515-84859480-d268-11ea-81e3-796f2255eaef.png)
Add single outlying (not necessarily statistical outliers) value and the picture is muddier
![image](https://user-images.githubusercontent.com/83483/88954632-ada62500-d268-11ea-9fe7-6a779d46e8bc.png)
The drill down can be worked around using the kuery bar, eg transaction.duration.us> 40000 and transaction.duration.us< 100000
, but visualizing the overall distribution remains a challenge.
Describe the solution you'd like Both situations could be better with a non-linear x-axis. I'd like to prototype a view where very large ranges are visually split into groups, perhaps 0-100ms, 100ms-500ms, 500ms-1s, 1s+ for a start. Since this histogram is used both for web traffic, which is typically fast and log normally distributed as well as background tasks, something fancier that adjusts based on the distribution might be in order.
++ for this, just some additional thoughts Could navigating from the transaction duration chart to exemplar transactions help for this use case? https://github.com/elastic/apm/issues/300#issuecomment-666254242
Being able to select a range of buckets similar to how it's possible to select a time range by selecting an area in a chart could also help.
I agree there is overlap, commented on the related issue.
I like both your suggestions. I think Felix' idea of zooming in on a range sounds like the natural interaction, and users already know it from the response time/rpm graphs.
Pinging @elastic/observability-design (design)