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:
authorRobert Speicher <robert@gitlab.com>2017-06-12 22:23:49 +0300
committerClement Ho <ClemMakesApps@gmail.com>2017-06-15 19:11:32 +0300
commitb88c906c8b75e4b984c079cf1014b31feca2a9a1 (patch)
tree6367c59dc4ef94e56eb60c08316b3d8c37c27daf /app/controllers
parentfe71514b2786a5227cda968a032ba729b85534b5 (diff)
Merge branch '29010-perf-bar' into 'master'
Add an optional performance bar to view performance metrics for the current page Closes #29010 See merge request !11439
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/application_controller.rb18
1 files changed, 17 insertions, 1 deletions
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 47ce21d238b..91694ebcd1d 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -9,6 +9,7 @@ class ApplicationController < ActionController::Base
include SentryHelper
include WorkhorseHelper
include EnforcesTwoFactorAuthentication
+ include Peek::Rblineprof::CustomControllerHelpers
before_action :authenticate_user_from_private_token!
before_action :authenticate_user_from_rss_token!
@@ -18,7 +19,7 @@ class ApplicationController < ActionController::Base
before_action :ldap_security_check
before_action :sentry_context
before_action :default_headers
- before_action :add_gon_variables
+ before_action :add_gon_variables, unless: -> { request.path.start_with?('/-/peek') }
before_action :configure_permitted_parameters, if: :devise_controller?
before_action :require_email, unless: :devise_controller?
@@ -63,6 +64,21 @@ class ApplicationController < ActionController::Base
end
end
+ def peek_enabled?
+ return false unless Gitlab::PerformanceBar.enabled?
+ return false unless current_user
+
+ if RequestStore.active?
+ if RequestStore.store.key?(:peek_enabled)
+ RequestStore.store[:peek_enabled]
+ else
+ RequestStore.store[:peek_enabled] = cookies[:perf_bar_enabled].present?
+ end
+ else
+ cookies[:perf_bar_enabled].present?
+ end
+ end
+
protected
# This filter handles both private tokens and personal access tokens