Class: Sqreen::Signals::SignalsSubmissionStrategy

Inherits:
Object
  • Object
show all
Includes:
Log::Loggable
Defined in:
lib/sqreen/signals/signals_submission_strategy.rb

Overview

see also Sqreen::Legacy::OldEventSubmissionStrategy usage in Sqreen:Session

Instance Method Summary collapse

Methods included from Log::Loggable

included, #logger

Instance Method Details

#post_attack(_attack) ⇒ Object

XXX: unused

Parameters:

Raises:

  • (NotImplementedError)


33
34
35
# File 'lib/sqreen/signals/signals_submission_strategy.rb', line 33

def post_attack(_attack)
  raise NotImplementedError
end

#post_batch(events) ⇒ Object



56
57
58
59
60
61
62
# File 'lib/sqreen/signals/signals_submission_strategy.rb', line 56

def post_batch(events)
  guarded 'Failed to serialize or submit batch of events' do
    batch = Conversions.convert_batch(events)
    batch.each { |sig_or_trace| append_sanitizing_filter(sig_or_trace) }
    client.report_batch(batch)
  end
end

#post_metrics(metrics) ⇒ Object

Parameters:



20
21
22
23
24
25
26
27
28
29
# File 'lib/sqreen/signals/signals_submission_strategy.rb', line 20

def post_metrics(metrics)
  return if metrics.nil? || metrics.empty?

  guarded 'Failed to serialize or submit aggregated metrics' do
    batch = metrics.map do |m|
      Conversions.convert_metric_sample(m)
    end
    client.report_batch(batch)
  end
end

#post_request_record(request_record) ⇒ Object

Parameters:



38
39
40
41
42
43
44
# File 'lib/sqreen/signals/signals_submission_strategy.rb', line 38

def post_request_record(request_record)
  guarded 'Failed to serialize or submit request record' do
    trace = Conversions.convert_req_record(request_record)
    append_sanitizing_filter(trace)
    client.report_trace(trace)
  end
end

#post_sqreen_exception(exception) ⇒ Object

Post an exception to Sqreen for analysis

Parameters:



48
49
50
51
52
53
54
# File 'lib/sqreen/signals/signals_submission_strategy.rb', line 48

def post_sqreen_exception(exception)
  guarded 'Failed to serialize or submit exception', false do
    data = Conversions.convert_exception(exception)
    append_sanitizing_filter(data)
    client.report_signal(data)
  end
end