35 lines
		
	
	
		
			900 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			900 B
		
	
	
	
		
			Ruby
		
	
	
	
# frozen_string_literal: true
 | 
						|
 | 
						|
module API
 | 
						|
  class UsageDataNonSqlMetrics < ::API::Base
 | 
						|
    before { authenticated_as_admin! }
 | 
						|
 | 
						|
    feature_category :service_ping
 | 
						|
    urgency :low
 | 
						|
 | 
						|
    namespace 'usage_data' do
 | 
						|
      before do
 | 
						|
        not_found! unless Feature.enabled?(:usage_data_non_sql_metrics, type: :ops)
 | 
						|
      end
 | 
						|
 | 
						|
      desc 'Get Non SQL usage ping metrics' do
 | 
						|
        detail 'This feature was introduced in GitLab 13.11.'
 | 
						|
        success code: 200
 | 
						|
        failure [
 | 
						|
          { code: 401, message: 'Unauthorized' },
 | 
						|
          { code: 403, message: 'Forbidden' },
 | 
						|
          { code: 404, message: 'Not Found' }
 | 
						|
        ]
 | 
						|
      end
 | 
						|
 | 
						|
      get 'non_sql_metrics' do
 | 
						|
        Gitlab::QueryLimiting.disable!('https://gitlab.com/gitlab-org/gitlab/-/issues/325534')
 | 
						|
 | 
						|
        data = Gitlab::Usage::ServicePingReport.for(output: :non_sql_metrics_values)
 | 
						|
 | 
						|
        present data
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |