Skip to content

Remove Gitlab::UsageDataCounters::TrackUniqueEvents module

What does this MR do and why?

It removes Gitlab::UsageDataCounters::TrackUniqueEvents and reimplements the event logging to use HLLRedisCounter directly.

Gitlab::UsageDataCounters::TrackUniqueEvents looks like an early attempt at standardizing event tracking, but after almost three years, it's way off the current philosophy we have about Snowplow events. The different actions are mapped to the same events, so the action logic within the class is superfluous at best; it has become technical debt and an obstacle to removal or refactoring of counter classes, since it's embedded in the Gitlab::UsageDataCounters namespace.

These changes are a refactoring and doesn't change the behaviour of the event logging.

Hint: Since the MR it touching quite a few files it may be easier to look at it one commit at a time.

How to set up and validate locally

All changes are covered by specs.

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 #388721 (closed)

Edited by Jonas Larsen

Merge request reports