Class: SplitIoClient::Telemetry::RedisEvaluationProducer

Inherits:
Object
  • Object
show all
Defined in:
lib/splitclient-rb/telemetry/redis/redis_evaluation_producer.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ RedisEvaluationProducer

Returns a new instance of RedisEvaluationProducer.



6
7
8
9
10
11
12
13
# File 'lib/splitclient-rb/telemetry/redis/redis_evaluation_producer.rb', line 6

def initialize(config)
  @config = config
  @adapter = config.telemetry_adapter

  @sdk_version = "#{@config.language}-#{@config.version}"
  @name = @config.machine_name
  @ip = @config.machine_ip
end

Instance Method Details

#record_exception(method) ⇒ Object



21
22
23
24
25
# File 'lib/splitclient-rb/telemetry/redis/redis_evaluation_producer.rb', line 21

def record_exception(method)
  @adapter.hincrby(exception_key, "#{@sdk_version}/#{@name}/#{@ip}/#{method}", 1)
rescue StandardError => e
  @config.log_found_exception(__method__.to_s, e)
end

#record_latency(method, bucket) ⇒ Object



15
16
17
18
19
# File 'lib/splitclient-rb/telemetry/redis/redis_evaluation_producer.rb', line 15

def record_latency(method, bucket)
  @adapter.hincrby(latency_key, "#{@sdk_version}/#{@name}/#{@ip}/#{method}/#{bucket}", 1)
rescue StandardError => e
  @config.log_found_exception(__method__.to_s, e)
end