Skip to content

Add Value stream dashboard to product analytics dashboards

What does this MR do and why?

This MR adds the Value stream dashboard to the list of dashboards available in product analytics at the project level.

Background

This is a spike to explore how the groupoptimize value stream dashboard can be added in analytics dashboard.

Findings of this spike:

  • Successfully added VSD dashboard to list of builtin analytics dashboards.
  • Successfully added a new value_stream data source for optimize.
  • Successfully added a DORA chart visualization.
  • Successfully created a custom VSD dashboard.
  • 👷 Data source fetch is a little bit awkward when we're not fetching. Recommend we change it to a default export.
  • 👷 All the backend code is currently scoped to ProductAnalytics and needs to be updated to Analytics / AnalyticsDashboard.
  • 👷 Nothing is validated against the schema and the configs are subject to change. We'll have to coordinate before we ship something as v1 to customers.

No immediate blockers. We'll need to update the backend to decouple the listing from ProductAnalytics tho.

Screenshots or screen recordings

image

image

How to set up and validate locally

  1. Make sure you are on GitLab Ultimate
  2. Follow these instructions to set up Product Analytics in your GDK.
    • This change is dependant on snowplow flagged changes. Please also enable echo "Feature.enable(:product_analytics_snowplow_support)" | gdk rails c.
  3. Create a new project with an empty repository.
  4. Enable custom dashboards at Project > Settings > Analytics and pick the empty project.
  5. Create a custom dashboard by following these instructions.
  6. View the VSD dashboard at Project > Settings > Analytics.
  7. To add a custom dashboard, paste the following in .gitlab/analytics/dashboards/vsd_custom/vsd_custom.yaml:
---
version: 1
title: VSD custom dashboard
description: Created using custom dashboards
panels:
  - id: 1
    visualization: dora_chart
    title: DORA
    gridAttributes:
      yPos: 1
      xPos: 0
      width: 12
      height: 6
    options: {}
    queryOverrides:
      namespace:
        name: gitlab-org/snowplow2/-/analytics/dashboards
        requestPath: awesome-co-root-58e999/ops
        isProject: 'true'
  1. Seed DORA metrics data for your selected project

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Robert Hunt

Merge request reports