[SPIKE] MR Widget Extension default telemetry
As part of the MR Widgets we should have baseline telemetry data for all widgets so that we can more properly understand how these widgets are used and have a consistent way to measure usage across all of the widgets.
Items to Track
Tracking should be on a per widget basis
- Number of users who are exposed to each widget
- Number of users who expand each widget
- Number of users who click
full report
On something like this example gitlab-org/frontend/playground/gitlab-mr-widgets-demo!1 (closed) - If one user were to visit that page we'd have:
- One user for:
- Browser performance
- Load Performance
- Status Checks
If the user clicked expand, we'd get an additional count on expand.
Additional Details
In order to ensure we get both self-managed and SaaS details we should implement this tracking with Redis_HLL counters.
We shouldn't namespace these to a group (or include them in Code Review MR Aggregates) - we could do something like:
-
i_merge_request_widget_WIDGET_NAME_view
- unique users who view widget -
i_merge_request_widget_WIDGET_NAME_count_view
- count of total number of views -
i_merge_request_widget_WIDGET_NAME_expand
- unique users who expand widget -
i_merge_request_widget_WIDGET_NAME_count_expand
- count of total number of expands -
i_merge_request_widget_WIDGET_NAME_click_full_report
- unique users who click full report -
i_merge_request_widget_WIDGET_NAME_count_click_full_report
- count of total number of click full report -
i_merge_request_widget_WIDGET_NAME_expand_type
- see below -
i_merge_request_widget_WIDGET_NAME_count_expand_type
- see below
expand_type
metrics
For these metrics we should try to count both the unique users and the number of times widgets are expanded based on the status
of the report. This means we would know, for example, how many users expand a widget that has a failed
status.
The level one status
are: https://design.gitlab.com/regions/merge-request-reports#level-1-1