Class: SplitIoClient::Api::TelemetryApi

Inherits:
Client
  • Object
show all
Defined in:
lib/splitclient-rb/engine/api/telemetry_api.rb

Instance Method Summary collapse

Methods inherited from Client

#get_api, #post_api

Constructor Details

#initialize(config, api_key, telemetry_runtime_producer) ⇒ TelemetryApi

Returns a new instance of TelemetryApi.



6
7
8
9
10
# File 'lib/splitclient-rb/engine/api/telemetry_api.rb', line 6

def initialize(config, api_key, telemetry_runtime_producer)
  super(config)
  @api_key = api_key
  @telemetry_runtime_producer = telemetry_runtime_producer
end

Instance Method Details

#record_init(config_init) ⇒ Object



12
13
14
# File 'lib/splitclient-rb/engine/api/telemetry_api.rb', line 12

def record_init(config_init)
  post_telemetry("#{@config.telemetry_service_url}/metrics/config", config_init, 'init')
end

#record_stats(stats) ⇒ Object



16
17
18
# File 'lib/splitclient-rb/engine/api/telemetry_api.rb', line 16

def record_stats(stats)
  post_telemetry("#{@config.telemetry_service_url}/metrics/usage", stats, 'stats')
end

#record_unique_keys(uniques) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/splitclient-rb/engine/api/telemetry_api.rb', line 20

def record_unique_keys(uniques)
  return if uniques[:keys].empty?

  post_telemetry("#{@config.telemetry_service_url}/keys/ss", uniques, 'unique_keys')
rescue StandardError => e
  @config.log_found_exception(__method__.to_s, e)
end