class Determinator::Tracking::Tracker
Attributes
determinations[R]
type[R]
Public Class Methods
new(type)
click to toggle source
# File lib/determinator/tracking/tracker.rb, line 9 def initialize(type) @determinations = Hash.new(0) @type = type @monotonic_start = now @start = Time.now end
Public Instance Methods
finish!(endpoint:, error:, **attributes)
click to toggle source
# File lib/determinator/tracking/tracker.rb, line 27 def finish!(endpoint:, error:, **attributes) request_time = now - @monotonic_start Determinator::Tracking::Request.new( start: @start, type: type, time: request_time, endpoint: endpoint, error: error, attributes: attributes, determinations: determinations, context: Determinator::Tracking.context ) end
track(id, guid, feature, determination)
click to toggle source
# File lib/determinator/tracking/tracker.rb, line 16 def track(id, guid, feature, determination) determinations[ Determinator::Tracking::Determination.new( id: id, guid: guid, feature_id: feature.identifier, determination: determination ) ] += 1 end
Private Instance Methods
now()
click to toggle source
# File lib/determinator/tracking/tracker.rb, line 43 def now Process.clock_gettime(Process::CLOCK_MONOTONIC) end