def run!
      # @aggregators.each{|agg| p agg}

      @aggregators.each { |agg| agg.prepare }
      install_signal_handlers

      @source.each_request do |request|
        break if @interrupted
        aggregate_request(filter_request(request))
      end

      @aggregators.each { |agg| agg.finalize }

      @output.header
      @aggregators.each { |agg| agg.report(@output) }
      @output.footer

      @source.finalize

      if @output.io.is_a?(File)
        unless @options[:silent]
          puts
          puts 'Report written to: ' + File.expand_path(@output.io.path)
          puts 'Need an expert to analyze your application?'
          puts 'Mail to contact@railsdoctors.com or visit us at http://railsdoctors.com'
          puts 'Thanks for using request-log-analyzer!'
        end
        @output.io.close
      elsif @output.io.is_a?(RequestLogAnalyzer::Mailer)
        @output.io.mail
      end
    end
def run!
      # @aggregators.each{|agg| p agg}

      @aggregators.each { |agg| agg.prepare }
      install_signal_handlers

      @source.each_request do |request|
        break if @interrupted
        aggregate_request(filter_request(request))
      end

      @aggregators.each { |agg| agg.finalize }

      @output.header
      @aggregators.each { |agg| agg.report(@output) }
      @output.footer

      @source.finalize

      if @output.io.is_a?(File)
        unless @options[:silent]
          puts
          puts 'Report written to: ' + File.expand_path(@output.io.path)
          puts 'Need an expert to analyze your application?'
          puts 'Mail to contact@railsdoctors.com or visit us at http://railsdoctors.com'
          puts 'Thanks for using request-log-analyzer!'
        end
        @output.io.close
      elsif @output.io.is_a?(RequestLogAnalyzer::Mailer)
        @output.io.mail
      end
    end
Runs RequestLogAnalyzer
 1. Call prepare on every aggregator
 2. Generate requests from source object
 3. Filter out unwanted requests
 4. Call aggregate for remaning requests on every aggregator
 4. Call finalize on every aggregator
 5. Call report on every aggregator
 6. Finalize Source