Track Largest Contentful Paint for 4 key pages of GitLab project in Review Apps

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Problem to solve

As an app dev manager for a SaaS product, I want to track Largest Contentful Paint overtime for key pages of my project in review apps, so we can quickly react to slowdown before it costs our business money and we have to scramble.

Intended users

User experience goal

  • The user should be able to see within the GitLab UI how LCP for key pages are tracking over time.
  • The user should be able to set key pages to chart within configuration with tracking of /index.hml (or similar first page) by default.

Proposal

  • Track LCP over last 90 days for /default branch in a datastore that's accessible through GraphQL
  • Create a .csv download of the data for LCP over Last 90 days on Analytics->CI/CD
  • Create a graph of LCP on Analytics -> CI/CD for the main page
  • Add tracking of page views of the graph through usage ping

Further details

This is a KPI for the development group for FY22Q1, building this in GitLab to compare development to production makes sense as a next step. If we can further incorporate production data as a comparison to development (and vice versa in the monitoring section) it would be ideal as a NEXT STEP.

Other further iteration would be to specify which pages to track but the MVC would be to start with the main page of the app.

Documentation

  • Update web performance docs about setting this up / feature availability.

Availability & Testing

  • Check license availability (this is a GitLab Premium feature)
  • Page load time should be no slower than without the feature
  • Data header should not be present if no data is present

What does success look like, and how can we measure that?

  • Internal stakeholders use this as part of 1 or more projects within 30 days of release
  • 10+ page views per week of the graph within 60 days of GA release of the feature

What is the type of buyer?

Team leads/directors are monitoring this at the project level so this is a GitLab Premium tiered feature.

Is this a cross-stage feature?

Long term yes this can be cross stage with ~"devops::monitor"

Links / references

Edited by 🤖 GitLab Bot 🤖