Class: AllStak::Diagnostics

Inherits:
Object
  • Object
show all
Defined in:
lib/allstak/diagnostics.rb

Overview

Privacy-safe SDK diagnostics snapshot.

Contains counters and queue sizes only. It intentionally never includes telemetry payloads, headers, tags, context values, user data, or breadcrumbs.

Constant Summary collapse

ATTRIBUTES =
[
  :events_captured,
  :events_sent,
  :events_failed,
  :events_dropped,
  :events_persisted,
  :events_replayed,
  :queue_size,
  :retry_attempts,
  :rate_limited_count,
  :compressed_payloads,
  :uncompressed_payloads,
  :compression_bytes_saved,
  :sanitizer_redaction_count,
  :active_trace_count,
  :active_span_count,
  :breadcrumb_count,
  :session_recovery_count,
  :disabled
].freeze

Instance Method Summary collapse

Constructor Details

#initialize(values = {}) ⇒ Diagnostics

Returns a new instance of Diagnostics.



32
33
34
35
36
37
# File 'lib/allstak/diagnostics.rb', line 32

def initialize(values = {})
  ATTRIBUTES.each do |name|
    default = name == :disabled ? false : 0
    instance_variable_set("@#{name}", values.fetch(name, default))
  end
end

Instance Method Details

#to_hObject Also known as: to_hash



39
40
41
42
43
# File 'lib/allstak/diagnostics.rb', line 39

def to_h
  ATTRIBUTES.each_with_object({}) do |name, out|
    out[name] = public_send(name)
  end
end