Sha256: f49df9417684f64956bcc763987b211202a467fc6fbe8ff739d99e2478df611a

Contents?: true

Size: 895 Bytes

Versions: 1

Compression:

Stored size: 895 Bytes

Contents

require 'rails'

module PulseToolbox
  module Sensor
    # Registeres an initializer which creates sensors and subscribes to
    # process_action.action_controller notification
    class Initializer < ::Rails::Railtie
      initializer "register_request_sensors", :after => :load_config_initializers do
        if PulseToolbox.redis
          PulseToolbox::Sensor::Manager.create_sensors
          ActiveSupport::Notifications.subscribe "process_action.action_controller" do |name, start, finish, id, payload|
            total_time = (finish - start) * 1000
            view_time = payload[:view_runtime]
            db_time = payload[:db_runtime]
            PulseToolbox::Sensor::Manager.log_request(total_time, view_time, db_time)
          end
        else
          Rails.logger.error("PulseToolbox.redis is not defined. Sensors cannot be created")
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pulse-meter-rails-0.0.1 lib/pulse_toolbox/sensor/initializer.rb