Sha256: f7e3512d3c48f5998be74412506753d8f0647ff397635e2ea10872977701e148
Contents?: true
Size: 689 Bytes
Versions: 3
Compression:
Stored size: 689 Bytes
Contents
require "json" require "benchmark" module Measures class Client def initialize(transport, client) @client = client @transport = transport 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 = { "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-3.0.0 | lib/measures/client.rb |
measures-2.1.0 | lib/measures/client.rb |
measures-2.0.0 | lib/measures/client.rb |