Class: TimedResult
- Inherits:
-
Object
- Object
- TimedResult
- Defined in:
- lib/http_api_client/timed_result.rb
Class Method Summary collapse
- .as_log_entries(hash) ⇒ Object
- .millis_since(start_time) ⇒ Object
- .time(event, log_data = {}) ⇒ Object
Class Method Details
.as_log_entries(hash) ⇒ Object
24 25 26 27 28 |
# File 'lib/http_api_client/timed_result.rb', line 24 def self.as_log_entries(hash) hash.inject [] do |result, entry| result << "#{entry[0]}=#{entry[1]}" end end |
.millis_since(start_time) ⇒ Object
20 21 22 |
# File 'lib/http_api_client/timed_result.rb', line 20 def self.millis_since(start_time) (Time.now - start_time) * 1000 end |
.time(event, log_data = {}) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/http_api_client/timed_result.rb', line 4 def self.time(event, log_data = {}) start_time = Time.now yield ensure time = millis_since(start_time) log_entries = ["event_name=#{event}"] log_entries << "request_id=#{Thread.current[:request_id]}" if Thread.current[:request_id] log_entries << "timing=#{time}" log_entries.concat(as_log_entries(log_data)) HttpApiClient.logger.info(log_entries.join(", ")) end |