apm icon indicating copy to clipboard operation
apm copied to clipboard

Mitigate outliers in transaction duration histogram visualization

Open graphaelli opened this issue 4 years ago • 4 comments

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

Add single outlying (not necessarily statistical outliers) value and the picture is muddier

image

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.

graphaelli avatar Jul 30 '20 17:07 graphaelli

++ 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.

felixbarny avatar Jul 31 '20 06:07 felixbarny

I agree there is overlap, commented on the related issue.

graphaelli avatar Jul 31 '20 15:07 graphaelli

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.

mikker avatar Aug 04 '20 11:08 mikker

Pinging @elastic/observability-design (design)

elasticmachine avatar Aug 12 '20 11:08 elasticmachine