Module: MeasureMethod::Metrics
- Defined in:
- lib/measure_method/metrics.rb
Class Method Summary collapse
- .count(name:, val: 1, data: {}) ⇒ Object
- .measure(name:, val: nil, data: {}, &block) ⇒ Object
- .measure_block(name:, data: {}, &block) ⇒ Object
- .met_log(type, name, val, data) ⇒ Object
- .metricfy(name) ⇒ Object
- .out ⇒ Object
- .out=(o) ⇒ Object
- .sample(name:, val:, data: {}) ⇒ Object
Class Method Details
.count(name:, val: 1, data: {}) ⇒ Object
15 16 17 |
# File 'lib/measure_method/metrics.rb', line 15 def self.count(name:, val: 1, data: {}) met_log("count", name, val, data) end |
.measure(name:, val: nil, data: {}, &block) ⇒ Object
19 20 21 22 |
# File 'lib/measure_method/metrics.rb', line 19 def self.measure(name:, val: nil, data: {}, &block) return measure_block(name: name, data: data, &block) if block met_log("measure", name, val, data) end |
.measure_block(name:, data: {}, &block) ⇒ Object
40 41 42 43 44 45 46 47 |
# File 'lib/measure_method/metrics.rb', line 40 def self.measure_block(name:, data: {}, &block) out.log(data.merge({starting: name})) start = Time.now result = yield elapsed = (Time.now.to_f - start.to_f) * 1000 measure(name: name, val: elapsed.round.to_s+"ms", data: data) result end |
.met_log(type, name, val, data) ⇒ Object
35 36 37 38 |
# File 'lib/measure_method/metrics.rb', line 35 def self.met_log(type, name, val, data) data["#{type}##{name}"] = val out.log(data) end |
.metricfy(name) ⇒ Object
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/measure_method/metrics.rb', line 24 def self.metricfy(name) name. gsub('::', '.'). gsub(' ', '.'). gsub(/(\/)/, '.'). gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2'). gsub(/([a-z\d])([A-Z])/,'\1_\2'). gsub(/_/,"-"). downcase end |
.out ⇒ Object
7 8 9 |
# File 'lib/measure_method/metrics.rb', line 7 def self.out @out || Logger end |
.out=(o) ⇒ Object
3 4 5 |
# File 'lib/measure_method/metrics.rb', line 3 def self.out=(o) @out = o end |
.sample(name:, val:, data: {}) ⇒ Object
11 12 13 |
# File 'lib/measure_method/metrics.rb', line 11 def self.sample(name:, val:, data: {}) met_log("sample", name, val, data) end |