Class: Flagstack::Telemetry::Submitter

Inherits:
Object
  • Object
show all
Defined in:
lib/flagstack/telemetry/submitter.rb

Constant Summary collapse

MAX_RETRIES =
3

Instance Method Summary collapse

Constructor Details

#initialize(client, config) ⇒ Submitter

Returns a new instance of Submitter.



10
11
12
13
14
# File 'lib/flagstack/telemetry/submitter.rb', line 10

def initialize(client, config)
  @client = client
  @config = config
  @request_id = SecureRandom.uuid
end

Instance Method Details

#call(metrics) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/flagstack/telemetry/submitter.rb', line 16

def call(metrics)
  return if metrics.empty?

  body = build_body(metrics)
  compressed = gzip(body)

  response = submit_with_retry(compressed)
  handle_response(response) if response
rescue => e
  @config.log("Telemetry submission failed: #{e.message}", level: :error)
end