Class: Mammoth::MetricsObserver

Inherits:
CDC::Core::Observer
  • Object
show all
Defined in:
lib/mammoth/metrics_observer.rb

Overview

CDC core observer that records Mammoth dispatch counters.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(metrics: DispatchMetrics::INSTANCE) ⇒ MetricsObserver

Returns a new instance of MetricsObserver.

Parameters:



9
10
11
12
# File 'lib/mammoth/metrics_observer.rb', line 9

def initialize(metrics: DispatchMetrics::INSTANCE)
  super()
  @metrics = metrics
end

Instance Attribute Details

#metricsObject (readonly)

Returns the value of attribute metrics.



6
7
8
# File 'lib/mammoth/metrics_observer.rb', line 6

def metrics
  @metrics
end

Instance Method Details

#dispatch_failed(result) ⇒ Integer

Record a failed dispatch.

Parameters:

  • result (CDC::Core::ProcessorResult)

    processor result

Returns:

  • (Integer)

    updated counter



34
35
36
# File 'lib/mammoth/metrics_observer.rb', line 34

def dispatch_failed(result)
  record(self.class.failed_metric_name, result)
end

#dispatch_skipped(result) ⇒ Integer

Record a skipped dispatch.

Parameters:

  • result (CDC::Core::ProcessorResult)

    processor result

Returns:

  • (Integer)

    updated counter



42
43
44
# File 'lib/mammoth/metrics_observer.rb', line 42

def dispatch_skipped(result)
  record(self.class.skipped_metric_name, result)
end

#dispatch_started(event) ⇒ Integer

Record a dispatch attempt.

Parameters:

  • event (Object)

    CDC work item

Returns:

  • (Integer)

    updated counter



18
19
20
# File 'lib/mammoth/metrics_observer.rb', line 18

def dispatch_started(event)
  record(self.class.started_metric_name, event)
end

#dispatch_succeeded(result) ⇒ Integer

Record a successful dispatch.

Parameters:

  • result (CDC::Core::ProcessorResult)

    processor result

Returns:

  • (Integer)

    updated counter



26
27
28
# File 'lib/mammoth/metrics_observer.rb', line 26

def dispatch_succeeded(result)
  record(self.class.succeeded_metric_name, result)
end