Add scale: log option for GLQL bar charts

What does this MR do and why?

Summary

This change adds a new logarithmic scale option to the bar list chart component, alongside the existing "total" and "max" scale options.

When data spans a very wide range of values (e.g., one row has 900 sessions and another has just 3), the standard scales can make smaller bars nearly invisible. The new log scale compresses this spread by plotting values on a base-10 logarithmic axis, so all rows remain visually meaningful and comparable regardless of how dominant the largest value is.

Key behaviours of the new scale:

  • Bars represent actual values rather than percentages of the track.
  • The axis always starts at 1 (since logarithms have no zero) — rows with a value of zero are floored to 1 and draw no visible bar.
  • The axis ceiling is automatically set to the next whole power of ten above the largest value, ensuring the longest bar never runs into the label column.
  • Row labels continue to show the true value and share percentage, unchanged from other scales.

The change also wires up the new log option in the GLQL bar list presenter so it can be passed through from display configuration.

References

Screenshots or screen recordings

scale: total scale: log
Screenshot_2026-09-16_at_10.10.35_AM Screenshot_2026-09-16_at_10.10.08_AM

How to set up and validate locally

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #628929

Edited by Alex Pennells

Merge request reports

Loading
Loading