Backend: Component usage Internal Events - Tableau visualizations
Summary
This is a follow-up issue to #443382 (closed). Now that we've implemented Internal Events for component usage, we now need to visualize the data collected from Snowplow and Service Ping.
Further context (copied from #443382 (comment 1835326463)):
We are leveraging Internal Events only for the purpose of monitoring usage trends in Tableau (details in child task #443382 (closed)):
- For self-managed instances, this data is limited to only a unique count of projects using any component per instance/tier (this is a limitation of Service Ping).
- For
GitLab.com
, we have the advantage of Snowplow events which enables aggregation by many more attributes, including breakdown by the individual component name or by the project hosting the components, as well as tier.In order to support breakdown by the individual component/project/resource_type, we made use of additional properties in the MR, which maps the properties as follows:
label
= component project pathproperty
= component name and versionvalue
= component resource type (integer)The
project_id
,namespace_id
, anduser_id
of each Snowplow events are of the entity using the component.
Proposal
Create component usage visualizations in Tableau with various breakdowns.
Available data from Snowplow:
- Time breakdown: Exact date of usage
- Attributes of the entity using the component:
- project_id
- namespace_id
- user_id
- GitLab tier
- Attributes of the component used:
- name and version
- project_id (of the project hosting the component)
- resource_type (integer)
Available data from Service Ping:
- Time breakdown: 28-day usage windows
- For
GitLab.com
: - Total # of unique project_ids that used a component.
- For self-managed instances:
- GitLab tier
- Total # of unique project_ids that used a component.