Add Gitlab Internal Events to Frontend to unify RedisHLL/Snowplow
Problem
To deprecate the existing RedisHLL / Snowplow tracking and replace it with a unified API we need to provide such an API on the Frontend. Currently, we only have a first iteration on the backend, see #407858 (closed).
Desired Outcome
We have one API on the frontend, which, with a single call, tracks an Event via Snowplow but also increments an according RedisHLL counter similar to the backend at #407858 (closed).
Potential Solution
- Add a new method to the mixin at https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/assets/javascripts/tracking/tracking.js e.g. called
trackInternalEvent. It should work like the currenttrackmethod, but send the event to both RedisHLL, via the RedisHLL API method and Snowplow, while automatically attaching the correct Service Ping Context - Convert the two events in
devops_adoption_app.vueto use this method instead of the separate calls to RedisHLL/Snowplow tracking. Seei_analytics_dev_ops_scoreandi_analytics_dev_ops_adoption - Investigate whether we can change the
labelof the event send to snowplow, since for service ping replication only the event name in the context should be needed.
Use the calls in devops_adoption_app.vue as an example
Edited by Sebastian Rehm