Track how often generic-metric type reports are created in merge requests on gitlab.com
Problem to solve
With https://gitlab.com/gitlab-org/gitlab-ee/issues/9788, we introduced a new "generic metrics" feature as a new report type in Merge Requests.
So that we can iterate on that new feature we need to be able to track how often it is being used. This should add a count for the number of times this particular type of
report artifact is uploaded from a job.
This is for internal GitLab use.
We want to know how often the generic metric is being used so we can identify and dig into common use cases to potentially build that into the product so users get it by convention not configuration.
ci_job_artifacts table which is already synced to our data warehouse and available in Periscope:
- Report type
- Report Upload Date (When the report is uploaded)
- GroupID (or some sort of unique identifier that's pseudonomized if need be)
Utilizing the documented method of tracking data through snowplow add tracking for:
- Report View Date (Anytime the report is viewed on the MR / an error is not returned)
- Track if there is an error on upload or if success
Permissions and Security
- This does not need any special permissions for viewing in Periscope
N/A as internal
Availability & Testing
- Validate successful and error scenarios for upload such that both types show up in periscope
- Let's make sure we can't break the data pipeline with too long report types.
What does success look like, and how can we measure that?
- Success will be that there is data as defined in the proposal flowing into periscope that can be queried after launch.