class Object

Public Instance Methods

get_metrics_backend(opts={}) click to toggle source
# File lib/mm_metrics.rb, line 5
def get_metrics_backend(opts={})
        log_level = Settings::DEBUG ? :debug : :warn

        logger = StreamLogger.new(log_level).log

        DataDogMetricsBackend.new(**opts, logger: logger)
end
timer(metric, tags: []) { || ... } click to toggle source

runs a timer around a block

# File lib/mm_metrics.rb, line 14
def timer(metric, tags: [])
        metrics = get_metrics_backend

        start = Process.clock_gettime(Process::CLOCK_MONOTONIC) 

        return yield
ensure
        finished = Process.clock_gettime(Process::CLOCK_MONOTONIC)

        metrics.timed(metric, ((finished - start) * 1000).round, tags: tags)
end