Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/usage/service_ping_report.rb')
-rw-r--r--lib/gitlab/usage/service_ping_report.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/gitlab/usage/service_ping_report.rb b/lib/gitlab/usage/service_ping_report.rb
new file mode 100644
index 00000000000..d9e30c46498
--- /dev/null
+++ b/lib/gitlab/usage/service_ping_report.rb
@@ -0,0 +1,36 @@
+# frozen_string_literal: true
+
+module Gitlab
+ module Usage
+ class ServicePingReport
+ class << self
+ def for(output:, cached: false)
+ case output.to_sym
+ when :all_metrics_values
+ all_metrics_values(cached)
+ when :metrics_queries
+ metrics_queries
+ when :non_sql_metrics_values
+ non_sql_metrics_values
+ end
+ end
+
+ private
+
+ def all_metrics_values(cached)
+ Rails.cache.fetch('usage_data', force: !cached, expires_in: 2.weeks) do
+ Gitlab::UsageData.data
+ end
+ end
+
+ def metrics_queries
+ Gitlab::UsageDataQueries.data
+ end
+
+ def non_sql_metrics_values
+ Gitlab::UsageDataNonSqlMetrics.data
+ end
+ end
+ end
+ end
+end