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-10-30 14:08:56 -04:00
|
|
|
feature_category :instance_statistics
|
|
|
|
|
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
|
|
|
|
get "application/statistics" do
|
|
|
|
counts = Gitlab::Database::Count.approximate_counts(COUNTED_ITEMS)
|
|
|
|
present counts, with: Entities::ApplicationStatistics
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|