2019-09-08 23:38:42 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module API
|
2020-10-14 20:08:42 -04:00
|
|
|
class Statistics < ::API::Base
|
2019-09-08 23:38:42 -04:00
|
|
|
before { authenticated_as_admin! }
|
|
|
|
|
2020-11-19 10:09:13 -05:00
|
|
|
feature_category :devops_reports
|
2020-10-30 14:08:56 -04:00
|
|
|
|
2019-09-08 23:38:42 -04:00
|
|
|
COUNTED_ITEMS = [Project, User, Group, ForkNetworkMember, ForkNetwork, Issue,
|
|
|
|
MergeRequest, Note, Snippet, Key, Milestone].freeze
|
|
|
|
|
|
|
|
desc 'Get the current application statistics' do
|
|
|
|
success Entities::ApplicationStatistics
|
|
|
|
end
|
2022-03-04 13:20:01 -05:00
|
|
|
get "application/statistics", urgency: :low do
|
2019-09-08 23:38:42 -04:00
|
|
|
counts = Gitlab::Database::Count.approximate_counts(COUNTED_ITEMS)
|
|
|
|
present counts, with: Entities::ApplicationStatistics
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|