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

  1. Add new instrumentation to track all component usage (not just Catalog components)
  2. Update the description of ci_catalog_component_included metric 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