Module: D13n::Metric::Stream::StreamTracerHelpers

Extended by:
StreamTracerHelpers
Includes:
Namer
Included in:
StreamTracerHelpers
Defined in:
lib/d13n/metric/stream/stream_tracer_helpers.rb

Defined Under Namespace

Modules: Namer

Instance Method Summary collapse

Methods included from Namer

#metric_name, #prefix, #stream_apdex_tags, #stream_basic_tags, #stream_duration_tags, #stream_error_tags, #stream_exclusive_tags, #stream_http_request_content_length_tags, #stream_http_response_code_tags, #stream_http_response_content_length_tags, #stream_http_response_content_type_tags, #stream_request_tags

Instance Method Details

#collect_apdex_metric(collector, state, metric_data, count = 1, rate = 1.0) ⇒ Object



92
93
94
# File 'lib/d13n/metric/stream/stream_tracer_helpers.rb', line 92

def collect_apdex_metric(collector, state, metric_data, count=1,rate=1.0)
  collector.increment(metric_name("count"), count, sample_rate: rate, tags: stream_apdex_tags(metric_data))
end

#collect_duration_metric(collector, state, timing, metric_data, rate = 1.0) ⇒ Object



84
85
86
# File 'lib/d13n/metric/stream/stream_tracer_helpers.rb', line 84

def collect_duration_metric(collector, state, timing, metric_data, rate=1.0)
  collector.measure(metric_name("timing"), timing, sample_rate: rate, tags: stream_duration_tags(metric_data))
end

#collect_error_metric(collector, state, error, metric_data, count = 1, rate = 1.0) ⇒ Object



119
120
121
# File 'lib/d13n/metric/stream/stream_tracer_helpers.rb', line 119

def collect_error_metric(collector, state, error, metric_data, count=1, rate=1.0 )
  collector.increment(metric_name('count'), count, sample_rate: rate, tags: stream_error_tags(metric_data, error))
end

#collect_errors_metric(collector, state, metric_data) ⇒ Object



123
124
125
126
127
128
129
# File 'lib/d13n/metric/stream/stream_tracer_helpers.rb', line 123

def collect_errors_metric(collector, state, metric_data)
  errors = metric_data[:errors]

  errors.each do |error|
    collect_error_metric(collector, state, error, metric_data)
  end
end

#collect_exclusive_metric(collector, state, timing, metric_data, rate = 1.0) ⇒ Object



88
89
90
# File 'lib/d13n/metric/stream/stream_tracer_helpers.rb', line 88

def collect_exclusive_metric(collector, state, timing, metric_data, rate=1.0)
  collector.measure(metric_name("timing"), timing, sample_rate: rate, tags: stream_exclusive_tags(metric_data))
end

#collect_metrics(state, metric_data) ⇒ Object



131
132
133
134
135
136
137
138
# File 'lib/d13n/metric/stream/stream_tracer_helpers.rb', line 131

def collect_metrics(state, metric_data)
  collector = D13n::Metric::Manager.instance
  collect_duration_metric(collector, state, metric_data[:duration], metric_data)
  collect_exclusive_metric(collector, state, metric_data[:exclusive], metric_data)
  collect_apdex_metric(collector, state, metric_data)
  collect_response_metric(collector, state, metric_data)
  collect_errors_metric(collector, state, metric_data) if metric_data[:error]
end

#collect_repsonse_code_metric(collector, state, metric_data, count = 1, rate = 1.0) ⇒ Object



96
97
98
# File 'lib/d13n/metric/stream/stream_tracer_helpers.rb', line 96

def collect_repsonse_code_metric(collector, state, metric_data, count=1,  rate=1.0)
  collector.increment(metric_name("count"), count, sample_rate: rate, tags: stream_http_response_code_tags(metric_data))
end

#collect_request_content_length_metric(collector, state, gauge, metric_data, rate = 1.0) ⇒ Object



108
109
110
# File 'lib/d13n/metric/stream/stream_tracer_helpers.rb', line 108

def collect_request_content_length_metric(collector, state, gauge, metric_data, rate=1.0)
  collector.gauge(metric_name("gauge"), gauge.to_i, sample_rate: rate, tags: stream_http_request_content_length_tags(metric_data))
end

#collect_response_content_length_metric(collector, state, gauge, metric_data, rate = 1.0) ⇒ Object



104
105
106
# File 'lib/d13n/metric/stream/stream_tracer_helpers.rb', line 104

def collect_response_content_length_metric(collector, state, gauge, metric_data, rate=1.0)
  collector.gauge(metric_name("gauge"), gauge.to_i, sample_rate: rate, tags: stream_http_response_content_length_tags(metric_data))
end

#collect_response_content_type_metric(collector, state, metric_data, count = 1, rate = 1.0) ⇒ Object



100
101
102
# File 'lib/d13n/metric/stream/stream_tracer_helpers.rb', line 100

def collect_response_content_type_metric(collector, state, metric_data, count=1,  rate=1.0)
  collector.increment(metric_name("count"), count, sample_rate: rate, tags: stream_http_response_content_type_tags(metric_data))
end

#collect_response_metric(collector, state, metric_data) ⇒ Object



112
113
114
115
116
117
# File 'lib/d13n/metric/stream/stream_tracer_helpers.rb', line 112

def collect_response_metric(collector, state, metric_data)
  collect_repsonse_code_metric(collector, state, metric_data)
  collect_response_content_type_metric(collector, state, metric_data)
  collect_response_content_length_metric(collector, state, metric_data[:http_response_content_length], metric_data)
  collect_request_content_length_metric(collector, state, metric_data[:http_request_content_length], metric_data) unless metric_data[:http_request_content_length].to_i == 0
end