Class: D13n::Metric::AppHttpMetric

Inherits:
Base
  • Object
show all
Defined in:
lib/d13n/metric/metrics/app_http_metric.rb

Defined Under Namespace

Modules: In, Namespace, Out

Constant Summary collapse

PROCESSOR =
{
  'in' =>  In,
  'out' => Out 
}

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#process

Constructor Details

#initialize(collector, opts) ⇒ AppHttpMetric

Returns a new instance of AppHttpMetric.



211
212
213
214
215
# File 'lib/d13n/metric/metrics/app_http_metric.rb', line 211

def initialize(collector, opts)
  @collector = collector
  @opts = opts
  @direction = @opts[:direction]
end

Class Method Details

.check_direction(direction) ⇒ Object



225
226
227
# File 'lib/d13n/metric/metrics/app_http_metric.rb', line 225

def self.check_direction(direction)
  raise InstrumentNameError.new "Wrong request direction #{direction}!" unless PROCESSOR.keys.include?(direction)
end

.instance(collector, opts) ⇒ Object



199
200
201
202
203
204
# File 'lib/d13n/metric/metrics/app_http_metric.rb', line 199

def self.instance(collector, opts)
  direction = opts[:direction]
  check_direction(direction)
  @instance = new(collector, opts)
  @instance.extend PROCESSOR[direction]
end

Instance Method Details

#metric_name(type) ⇒ Object



221
222
223
# File 'lib/d13n/metric/metrics/app_http_metric.rb', line 221

def metric_name(type)
  "#{prefix}.#{type}"
end

#prefixObject



217
218
219
# File 'lib/d13n/metric/metrics/app_http_metric.rb', line 217

def prefix
  "app.http.#{@direction[0]}"
end