Sha256: bfb47f640306cc1cc941fa5d956961e0e7d3776c234c1353ebf8de0ccd6a7b3d
Contents?: true
Size: 743 Bytes
Versions: 3
Compression:
Stored size: 743 Bytes
Contents
require "json" require "benchmark" module Measures class Client def initialize(transport, client, owner) @client = client @transport = transport @owner = owner end def count(metric, data = {}) data.merge!({ "count" => 1 }) send(metric, data) end def time(metric, data = {}, &block) elapsed_time = Benchmark.realtime do yield if block_given? end data.merge!({ "time" => elapsed_time }) send(metric, data) end private def send(metric, data = {}) default = { "owner" => @owner, "client" => @client, "metric" => metric } default.merge!(data) @transport.send(default.to_json) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
measures-6.0.0 | lib/measures/client.rb |
measures-5.0.0 | lib/measures/client.rb |
measures-4.0.0 | lib/measures/client.rb |