Sha256: 18ef9db461c3b06b2c20b97bdd1955e2f1588df9a137cc393aa40051bb032e01

Contents?: true

Size: 729 Bytes

Versions: 3

Compression:

Stored size: 729 Bytes

Contents

module Simple
  module Metrics
    module Timer
      # Create creates a new timer, registers it with the metrics registry,
      # yields the timer to the block and stops it when the block returns.
      #
      # @param [String] name The name of the timer.
      def timer(name)
        metric_name = new_metric_name(sanitize_classname(self.class.name), name, "timer")
        new_timer = metrics_registry.newTimer(metric_name,
                                              DEFAULT_DURATION_UNIT,
                                              DEFAULT_RATE_UNIT)
        captured_timer = new_timer.time
        begin
          yield new_timer
        ensure
          captured_timer.stop
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
simple-metrics-0.0.12-java lib/simple/metrics/timer.rb
simple-metrics-0.0.11-java lib/simple/metrics/timer.rb
simple-metrics-0.0.10-java lib/simple/metrics/timer.rb