Class: Gitlab::Usage::ServicePingReport

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab/usage/service_ping_report.rb

Constant Summary collapse

CACHE_KEY =
'usage_data'

Class Method Summary collapse

Class Method Details

.for(output:, cached: false) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/gitlab/usage/service_ping_report.rb', line 9

def for(output:, cached: false)
  case output.to_sym
  when :all_metrics_values
    Rails.cache.fetch(CACHE_KEY, force: !cached, expires_in: 2.weeks) do
      with_instrumentation_classes(Gitlab::UsageData.data, :with_value)
    end
  when :metrics_queries
    with_instrumentation_classes(metrics_queries, :with_instrumentation)
  when :non_sql_metrics_values
    with_instrumentation_classes(non_sql_metrics_values, :with_instrumentation)
  end
end