Loading
Show real user tiers on the DAP Impact heat map
What does this MR do and why?
Finishes the "Sessions by tier and capability" heat map on the Adoption view of the DAP Impact dashboard. It was a placeholder while GLQL had no tier dimension — glql#209 (closed) added one to the DuoWorkflow source, and it shipped in GLQL 0.39.0, already pinned in this repo.
- The panel queries
DuoWorkflowwithflowTypeanduserTier(thresholds=[5, 25, 100]), sorteduserTier descso the heaviest tier is the top row. Before, it usedAgentPlatformSessionwithcreated(monthly)standing in for the tier rows. - The hardcoded five-value
flowTypeallowlist is gone, so every capability gets a column. It was only there to keep the placeholder's columns wide enough to read. (WIP)and the placeholder tooltip line are gone.- The aggregation engine returns opaque
tier_0,tier_1, ... values and leaves naming to the client, sodimensionLabelFormattergains a second parameterised-dimension branch, keyed onthresholdsrather thangranularity. It delegates to a newtier_bandutil the same way the granularity branch delegates todate_bucket. - That util also takes over the tier names and index parsing that the Session intensity by tier data source held privately, so both panels band users from one definition. A threshold set with no names falls back to a range derived from the thresholds themselves.
Related to https://gitlab.com/gitlab-org/gitlab/-/work_items/628031
Screenshots or screen recordings
How to set up and validate locally
- In a Rails console:
Feature.enable(:dap_impact_v1). - Make sure Siphon is replicating into ClickHouse (
siphon.enabled: trueingdk.yml, Postgres running withwal_level = logical). - Open Explore > Analytics dashboards > DAP Impact, and select a group with flow data. On GDK seed data,
flightjshas the widest tier spread andgitlab-orgthe most capabilities. - On the Adoption view, check the "Sessions by tier and capability" panel: tier rows named Light (1–4) through Power (100+), heaviest on top, one column per capability, and per-tier session totals agreeing with the "Session intensity by tier" table lower down the same view.
All 46 GLQL blocks in the dashboard compile against GLQL 0.39.0.
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.
Edited by Rudy Crespo
