Module: Gitlab::InternalEvents

Extended by:
Tracking::Helpers
Defined in:
lib/gitlab/internal_events.rb,
lib/gitlab/internal_events/event_definitions.rb

Defined Under Namespace

Modules: EventDefinitions

Constant Summary collapse

UnknownEventError =
Class.new(StandardError)
InvalidPropertyError =
Class.new(StandardError)
InvalidMethodError =
Class.new(StandardError)

Class Method Summary collapse

Methods included from Tracking::Helpers

dnt_enabled?, trackable_html_request?

Class Method Details

.track_event(event_name, **kwargs) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/gitlab/internal_events.rb', line 12

def track_event(event_name, **kwargs)
  raise UnknownEventError, "Unknown event: #{event_name}" unless EventDefinitions.known_event?(event_name)

  increase_total_counter(event_name)
  update_unique_counter(event_name, kwargs)
  trigger_snowplow_event(event_name, kwargs)
rescue StandardError => e
  Gitlab::ErrorTracking.track_and_raise_for_dev_exception(e, event_name: event_name, kwargs: kwargs)
  nil
end