From 4a8ba475c5d5bcb38b992416b0c31e4b8275c245 Mon Sep 17 00:00:00 2001 From: Mauro Sanz Date: Wed, 1 Dec 2021 15:42:12 -0300 Subject: [PATCH] Updated telemetry naming latencies --- .../telemetry/domain/constants.rb | 4 ++-- .../redis/redis_evaluation_producer.rb | 8 ++++---- spec/telemetry/telemetry_evaluation_spec.rb | 20 +++++++++++++++++++ 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/lib/splitclient-rb/telemetry/domain/constants.rb b/lib/splitclient-rb/telemetry/domain/constants.rb index 4a0a1ca6..ed3f743c 100644 --- a/lib/splitclient-rb/telemetry/domain/constants.rb +++ b/lib/splitclient-rb/telemetry/domain/constants.rb @@ -33,8 +33,8 @@ class Constants TREATMENT = 'treatment' TREATMENTS = 'treatments' - TREATMENT_WITH_CONFIG = 'treatment_with_config' - TREATMENTS_WITH_CONFIG = 'treatments_with_config' + TREATMENT_WITH_CONFIG = 'treatmentWithConfig' + TREATMENTS_WITH_CONFIG = 'treatmentsWithConfig' TRACK = 'track' end end diff --git a/lib/splitclient-rb/telemetry/redis/redis_evaluation_producer.rb b/lib/splitclient-rb/telemetry/redis/redis_evaluation_producer.rb index 86c2f781..916b2665 100644 --- a/lib/splitclient-rb/telemetry/redis/redis_evaluation_producer.rb +++ b/lib/splitclient-rb/telemetry/redis/redis_evaluation_producer.rb @@ -14,14 +14,14 @@ def initialize(config) def record_latency(method, bucket) @adapter.hincrby(latency_key, "#{@sdk_version}/#{@name}/#{@ip}/#{method}/#{bucket}", 1) - rescue StandardError => error - @config.log_found_exception(__method__.to_s, error) + rescue StandardError => e + @config.log_found_exception(__method__.to_s, e) end def record_exception(method) @adapter.hincrby(exception_key, "#{@sdk_version}/#{@name}/#{@ip}/#{method}", 1) - rescue StandardError => error - @config.log_found_exception(__method__.to_s, error) + rescue StandardError => e + @config.log_found_exception(__method__.to_s, e) end private diff --git a/spec/telemetry/telemetry_evaluation_spec.rb b/spec/telemetry/telemetry_evaluation_spec.rb index e24743de..6fc52e5c 100644 --- a/spec/telemetry/telemetry_evaluation_spec.rb +++ b/spec/telemetry/telemetry_evaluation_spec.rb @@ -80,6 +80,9 @@ let(:evaluation_producer) { SplitIoClient::Telemetry::EvaluationProducer.new(config) } let(:latency_key) { 'SPLITIO.telemetry.latencies' } let(:exception_key) { 'SPLITIO.telemetry.exceptions' } + let(:sdk_version) { "#{config.language}-#{config.version}" } + let(:name) { config.machine_name } + let(:ip) { config.machine_ip } it 'record latency' do adapter.redis.del(latency_key) @@ -88,6 +91,8 @@ expect(evaluation_producer.record_latency(SplitIoClient::Telemetry::Domain::Constants::TREATMENT, 5555)).to eq(1) expect(evaluation_producer.record_latency(SplitIoClient::Telemetry::Domain::Constants::TREATMENTS, 4444)).to eq(1) expect(evaluation_producer.record_latency(SplitIoClient::Telemetry::Domain::Constants::TREATMENT_WITH_CONFIG, 222)).to eq(1) + expect(evaluation_producer.record_latency(SplitIoClient::Telemetry::Domain::Constants::TREATMENTS_WITH_CONFIG, 2)).to eq(1) + expect(evaluation_producer.record_latency(SplitIoClient::Telemetry::Domain::Constants::TRACK, 3)).to eq(1) expect(evaluation_producer.record_latency(SplitIoClient::Telemetry::Domain::Constants::TREATMENT, 123)).to eq(2) expect(evaluation_producer.record_latency(SplitIoClient::Telemetry::Domain::Constants::TREATMENT, 5555)).to eq(2) @@ -98,6 +103,12 @@ expect(evaluation_producer.record_latency(SplitIoClient::Telemetry::Domain::Constants::TREATMENT, 5555)).to eq(3) expect(evaluation_producer.record_latency(SplitIoClient::Telemetry::Domain::Constants::TREATMENTS, 4444)).to eq(3) expect(evaluation_producer.record_latency(SplitIoClient::Telemetry::Domain::Constants::TREATMENT_WITH_CONFIG, 222)).to eq(3) + + expect(adapter.redis.hget(latency_key, "#{sdk_version}/#{name}/#{ip}/treatment/123").to_i).to eq(3) + expect(adapter.redis.hget(latency_key, "#{sdk_version}/#{name}/#{ip}/treatments/4444").to_i).to eq(3) + expect(adapter.redis.hget(latency_key, "#{sdk_version}/#{name}/#{ip}/treatmentWithConfig/222").to_i).to eq(3) + expect(adapter.redis.hget(latency_key, "#{sdk_version}/#{name}/#{ip}/treatmentsWithConfig/2").to_i).to eq(1) + expect(adapter.redis.hget(latency_key, "#{sdk_version}/#{name}/#{ip}/track/3").to_i).to eq(1) end it 'record exception' do @@ -109,6 +120,15 @@ expect(evaluation_producer.record_exception(SplitIoClient::Telemetry::Domain::Constants::TREATMENTS)).to eq(2) expect(evaluation_producer.record_exception(SplitIoClient::Telemetry::Domain::Constants::TREATMENTS)).to eq(3) expect(evaluation_producer.record_exception(SplitIoClient::Telemetry::Domain::Constants::TREATMENT)).to eq(3) + expect(evaluation_producer.record_exception(SplitIoClient::Telemetry::Domain::Constants::TREATMENT_WITH_CONFIG)).to eq(1) + expect(evaluation_producer.record_exception(SplitIoClient::Telemetry::Domain::Constants::TREATMENTS_WITH_CONFIG)).to eq(1) + expect(evaluation_producer.record_exception(SplitIoClient::Telemetry::Domain::Constants::TRACK)).to eq(1) + + expect(adapter.redis.hget(exception_key, "#{sdk_version}/#{name}/#{ip}/treatment").to_i).to eq(3) + expect(adapter.redis.hget(exception_key, "#{sdk_version}/#{name}/#{ip}/treatments").to_i).to eq(3) + expect(adapter.redis.hget(exception_key, "#{sdk_version}/#{name}/#{ip}/treatmentWithConfig").to_i).to eq(1) + expect(adapter.redis.hget(exception_key, "#{sdk_version}/#{name}/#{ip}/treatmentsWithConfig").to_i).to eq(1) + expect(adapter.redis.hget(exception_key, "#{sdk_version}/#{name}/#{ip}/track").to_i).to eq(1) end end end