From 3015e768f53806abf788b106d8be84486f30cd10 Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Thu, 6 Apr 2017 14:31:29 +0200 Subject: [PATCH] Revert "Reverse pipelines controller changes" This reverts commit 0a60cdb110754a5e894ca1a2aa619842f2d98d1a. --- .../projects/pipelines_controller.rb | 49 +++++++++++++++---- 1 file changed, 39 insertions(+), 10 deletions(-) diff --git a/app/controllers/projects/pipelines_controller.rb b/app/controllers/projects/pipelines_controller.rb index 43a1abaa662..f8aba16203e 100644 --- a/app/controllers/projects/pipelines_controller.rb +++ b/app/controllers/projects/pipelines_controller.rb @@ -1,3 +1,35 @@ +module ActiveRecord + class QueryRecorder + attr_reader :log + attr_reader :start + attr_reader :end + + def initialize(&block) + @log = [] + @start = Time.now + ActiveSupport::Notifications.subscribed(method(:callback), 'sql.active_record', &block) + @end = Time.now + end + + def callback(name, start, finish, message_id, values) + return if %w(SCHEMA).include?(values[:name]) + @log << values[:sql] + end + + def time + @end - @start + end + + def count + @log.count + end + + def log_message + @log.join("\n\n") + end + end +end + class Projects::PipelinesController < Projects::ApplicationController before_action :pipeline, except: [:index, :new, :create, :charts] before_action :commit, only: [:show, :builds] @@ -29,18 +61,15 @@ class Projects::PipelinesController < Projects::ApplicationController respond_to do |format| format.html format.json do - render json: { - pipelines: PipelineSerializer + result = nil + queries = ActiveRecord::QueryRecorder.new do + result = PipelineSerializer .new(project: @project, user: @current_user) .with_pagination(request, response) - .represent(@pipelines), - count: { - all: @pipelines_count, - running: @running_count, - pending: @pending_count, - finished: @finished_count, - } - } + .represent(@pipelines) + end + + render json: { aa_queries: queries.count, aa_time: queries.time, result: result } end end end -- GitLab