summaryrefslogtreecommitdiff
path: root/app/controllers/admin/application_settings_controller.rb
diff options
context:
space:
mode:
authorSean McGivern <sean@gitlab.com>2017-03-30 16:48:33 +0100
committerRémy Coutable <remy@rymai.me>2017-04-14 15:20:55 +0200
commit81022d76671a3c8961f6969542f8968901668a5f (patch)
treeb04fd6d53e7118357a45fbab3de1937799fe13e7 /app/controllers/admin/application_settings_controller.rb
parent73c57fd3b0c6f4e66147f5eb0360ce99d26123b1 (diff)
downloadgitlab-ce-81022d76671a3c8961f6969542f8968901668a5f.tar.gz
Add user cohorts table to admin area
This table shows the percentage of users who registered in the last twelve months, who last signed in during or later than each of those twelve months, by month. It is only enabled when the usage ping is enabled, and the page also shows pretty-printed usage ping data. The cohorts table is generated in Ruby from some basic SQL queries, because performing the gap-filling and running sums needed in both MySQL and Postgres is painful.
Diffstat (limited to 'app/controllers/admin/application_settings_controller.rb')
-rw-r--r--app/controllers/admin/application_settings_controller.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/app/controllers/admin/application_settings_controller.rb b/app/controllers/admin/application_settings_controller.rb
index 73b03b41594..643993d035e 100644
--- a/app/controllers/admin/application_settings_controller.rb
+++ b/app/controllers/admin/application_settings_controller.rb
@@ -19,7 +19,12 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController
def usage_data
respond_to do |format|
- format.html { render html: Gitlab::Highlight.highlight('payload.json', Gitlab::UsageData.to_json) }
+ format.html do
+ usage_data = Gitlab::UsageData.data
+ usage_data_json = params[:pretty] ? JSON.pretty_generate(usage_data) : usage_data.to_json
+
+ render html: Gitlab::Highlight.highlight('payload.json', usage_data_json)
+ end
format.json { render json: Gitlab::UsageData.to_json }
end
end