Sha256: afe08fd722f2f11df07610766dd7ab773829a3e18bc491f5540da45ac3ee861d
Contents?: true
Size: 961 Bytes
Versions: 1
Compression:
Stored size: 961 Bytes
Contents
require 'securerandom' class FnordMetric::API @@opts = nil def initialize opts @@opts = FnordMetric.default_options(opts) connect end def connect @redis = @@opts[:redis] if @@opts[:redis] @redis = Redis.connect(:url => @@opts[:redis_url]) end def event(event_data) event_data = event_data.to_json if event_data.is_a?(Hash) push_event(get_next_uuid, event_data) end def disconnect @redis.quit end private def push_event(event_id, event_data) prefix = @@opts[:redis_prefix] @redis.hincrby "#{prefix}-testdata", "events_received", 1 @redis.hincrby "#{prefix}-stats", "events_received", 1 @redis.set "#{prefix}-event-#{event_id}", event_data @redis.lpush "#{prefix}-queue", event_id @redis.expire "#{prefix}-event-#{event_id}", @@opts[:event_queue_ttl] event_id end def get_next_uuid SecureRandom.uuid end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fnordmetric-0.6.2 | lib/fnordmetric/api.rb |