Class: Gitlab::Usage::Metrics::Instrumentations::MergeRequestWidgetExtensionMetric

Inherits:
RedisMetric
  • Object
show all
Extended by:
Gitlab::Utils::Override
Defined in:
lib/gitlab/usage/metrics/instrumentations/merge_request_widget_extension_metric.rb

Overview

Usage example

In metric YAML definition:

instrumentation_class: MergeRequestWidgetExtensionMetric options:

event: expand
widget: terraform

Constant Summary

Constants inherited from RedisMetric

RedisMetric::OPTIONS_PREFIX_KEY, RedisMetric::USAGE_PREFIX

Constants included from TimeFrame

TimeFrame::ALL_TIME_TIME_FRAME_NAME, TimeFrame::DEFAULT_TIMESTAMP_COLUMN, TimeFrame::SEVEN_DAYS_TIME_FRAME_NAME, TimeFrame::TWENTY_EIGHT_DAYS_TIME_FRAME_NAME

Constants included from Gitlab::Utils::UsageData

Gitlab::Utils::UsageData::DISTRIBUTED_HLL_FALLBACK, Gitlab::Utils::UsageData::FALLBACK, Gitlab::Utils::UsageData::HISTOGRAM_FALLBACK, Gitlab::Utils::UsageData::MAX_BUCKET_SIZE

Instance Attribute Summary

Attributes inherited from BaseMetric

#events, #options, #time_frame

Instance Method Summary collapse

Methods included from Gitlab::Utils::Override

extended, extensions, included, method_added, override, prepended, queue_verification, verify!

Methods inherited from RedisMetric

#include_usage_prefix?, #initialize, #metric_event, #value

Methods included from Gitlab::UsageDataCounters::RedisCounter

#increment, #increment_by, #total_count

Methods inherited from BaseMetric

available?, #available?, #initialize, #instrumentation

Methods included from TimeFrame

#monthly_time_range, #monthly_time_range_db_params, #weekly_time_range, #weekly_time_range_db_params

Methods included from Gitlab::Utils::UsageData

#add, #add_metric, #alt_usage_data, #average, #count, #distinct_count, #estimate_batch_distinct_count, #histogram, #maximum_id, #measure_duration, #minimum_id, #redis_usage_data, #sum, #track_usage_event, #with_finished_at, #with_metadata, #with_prometheus_client

Constructor Details

This class inherits a constructor from Gitlab::Usage::Metrics::Instrumentations::RedisMetric

Instance Method Details

#prefixObject



29
30
31
# File 'lib/gitlab/usage/metrics/instrumentations/merge_request_widget_extension_metric.rb', line 29

def prefix
  'i_code_review_merge_request_widget'
end

#validate_options!Object

Raises:

  • (ArgumentError)


19
20
21
22
# File 'lib/gitlab/usage/metrics/instrumentations/merge_request_widget_extension_metric.rb', line 19

def validate_options!
  raise ArgumentError, "'event' option is required" unless metric_event.present?
  raise ArgumentError, "'widget' option is required" unless widget_name.present?
end

#widget_nameObject



24
25
26
# File 'lib/gitlab/usage/metrics/instrumentations/merge_request_widget_extension_metric.rb', line 24

def widget_name
  options[:widget]
end