Skip to content

MVC of Gitlab Internal Events Tracking

Jonas Larsen requested to merge 407858-internal-events-tracking-iteration-0 into master

What does this MR do and why?

Implements Gitlab::Tracking::InternalEventsTracking.track_event.

In addition a single event (i_code_review_user_create_mr) that is both logged to RedisHLL and Snowplow was migrated to use track_event.

Notice that in Gitlab Internal Events Track we log fewer properties on the Snowplow event.

That means that after the migration no value for property, value and label will be tracked in Snowplow. category of the Snowplow event will always be the string "InternalEventTracking".

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

How to set up and validate locally

When you create a new MR on locally a Snowplow event is generated.

Before the change its parameter section looked like:

"parameters": {
  "e": "se",
  "eid": "3097be52-6930-4f72-a2fb-f927d533b2c6",
  "se_pr": "i_code_review_user_create_mr",
  "cx": "eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jb250ZXh0cy9qc29uc2NoZW1hLzEtMC0xIiwiZGF0YSI6W3sic2NoZW1hIjoiaWdsdTpjb20uZ2l0bGFiL2dpdGxhYl9zdGFuZGFyZC9qc29uc2NoZW1hLzEtMC04IiwiZGF0YSI6eyJlbnZpcm9ubWVudCI6ImRldmVsb3BtZW50Iiwic291cmNlIjoiZ2l0bGFiLXJhaWxzIiwicGxhbiI6ImRlZmF1bHQiLCJleHRyYSI6e30sInVzZXJfaWQiOjEsIm5hbWVzcGFjZV9pZCI6MzMsInByb2plY3RfaWQiOjcsImNvbnRleHRfZ2VuZXJhdGVkX2F0IjoiMjAyMy0wNS0xNiAwOTo1MTowOSBVVEMifX0seyJzY2hlbWEiOiJpZ2x1OmNvbS5naXRsYWIvZ2l0bGFiX3NlcnZpY2VfcGluZy9qc29uc2NoZW1hLzEtMC0wIiwiZGF0YSI6eyJkYXRhX3NvdXJjZSI6InJlZGlzX2hsbCIsImV2ZW50X25hbWUiOiJpX2NvZGVfcmV2aWV3X3VzZXJfY3JlYXRlX21yIn19XX0=",
  "tna": "gl",
  "stm": "1684230669984",
  "tv": "rb-0.8.0",
  "se_ac": "create",
  "se_la": "redis_hll_counters.code_review.i_code_review_user_create_mr_monthly",
  "se_ca": "Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter",
  "p": "srv",
  "dtm": "1684230669947"
}

After the change it should look something like this:

"parameters": {
  "e": "se",
  "eid": "8a84514f-28e8-46d6-924f-699a8510557d",
  "cx": "eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jb250ZXh0cy9qc29uc2NoZW1hLzEtMC0xIiwiZGF0YSI6W3sic2NoZW1hIjoiaWdsdTpjb20uZ2l0bGFiL2dpdGxhYl9zdGFuZGFyZC9qc29uc2NoZW1hLzEtMC04IiwiZGF0YSI6eyJlbnZpcm9ubWVudCI6ImRldmVsb3BtZW50Iiwic291cmNlIjoiZ2l0bGFiLXJhaWxzIiwicGxhbiI6ImRlZmF1bHQiLCJleHRyYSI6e30sInVzZXJfaWQiOjEsIm5hbWVzcGFjZV9pZCI6MzMsInByb2plY3RfaWQiOjcsImNvbnRleHRfZ2VuZXJhdGVkX2F0IjoiMjAyMy0wNS0xMiAwNzowMDo1NiBVVEMifX0seyJzY2hlbWEiOiJpZ2x1OmNvbS5naXRsYWIvZ2l0bGFiX3NlcnZpY2VfcGluZy9qc29uc2NoZW1hLzEtMC0wIiwiZGF0YSI6eyJkYXRhX3NvdXJjZSI6InJlZGlzX2hsbCIsImV2ZW50X25hbWUiOiJpX2NvZGVfcmV2aWV3X3VzZXJfY3JlYXRlX21yIn19XX0=",
  "tna": "gl",
  "stm": "1683874856667",
  "tv": "rb-0.8.0",
  "se_ac": "i_code_review_user_create_mr",
  "se_ca": "InternalEventTracking",
  "p": "srv",
  "dtm": "1683874856638"
}

MR acceptance checklist

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

Related to #407858 (closed)

Edited by Jonas Larsen

Merge request reports