Sha256: d0ee08adef618d754dfdf9bb4d3441b782d01372f7226466b6c4c211fcf544b7

Contents?: true

Size: 940 Bytes

Versions: 2

Compression:

Stored size: 940 Bytes

Contents

module Goliath
  module Plugin
    # Report latency information about the EventMachine reactor to the log file.
    #
    # @example
    #  plugin Goliath::Plugin::Latency
    #
    class Latency
      # Called by the framework to initialize the plugin
      #
      # @param port [Integer] Unused
      # @param config [Hash] The server configuration data
      # @param status [Hash] A status hash
      # @param logger [Log4R::Logger] The logger
      # @return [Goliath::Plugin::Latency] An instance of the Goliath::Plugin::Latency plugin
      def initialize(port, config, status, logger)
        @status = status
        @config = config
        @logger = logger

        @last = Time.now.to_f
      end

      # Called automatically to start the plugin
      def run
        EM.add_periodic_timer(1) do
          @logger.info "LATENCY: #{Time.now.to_f - @last}"
          @last = Time.now.to_f
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
goliath-0.9.1 lib/goliath/plugins/latency.rb
goliath-0.9.0 lib/goliath/plugins/latency.rb