Track Customer Usage - CI Pipeline Components Adoption Metrics
Description
Objective: Measure the percentage of CI pipelines that are using components to understand adoption rates and identify improvement opportunities.
Background
We currently track component adoption via the ci_catalog_component_included event (introduced in 16.11), which fires when a CI/CD Catalog component is included in a pipeline. This provides:
-
Weekly unique projects using components:
count_distinct_project_id_from_ci_catalog_component_included_weekly -
Monthly unique projects using components:
count_distinct_project_id_from_ci_catalog_component_included_monthly
We also track pipeline creation via create_ci_internal_pipeline event for calculating adoption rates.
Dashboard creation tracked in: https://gitlab.com/gitlab-data/product-analytics/-/issues/3143
Problem
The existing ci_catalog_component_included metric only tracks released components (those published to the CI/CD Catalog). We need to track all components regardless of whether they are in the Catalog to:
- Understand the full scope of component usage
- Identify the gap between total component usage and Catalog adoption
- Determine if components running in user pipelines are coupled with the Catalog
Requirements
- Add new instrumentation to track all component usage (not just Catalog components)
- Update the description of
ci_catalog_component_includedmetric in the Metrics Dictionary for clarity (e.g., "When a component that has been published to the CI/CD Catalog is included in a pipeline")
Success Metrics
- Ability to measure % of projects using components out of total projects running CI pipelines
- Visibility into the gap between all component usage vs. Catalog component usage
Edited by Avielle Wolfe