lib/determinator/tracking.rb in determinator-2.4.0 vs lib/determinator/tracking.rb in determinator-2.4.2
- old
+ new
@@ -2,21 +2,23 @@
require 'determinator/tracking/context'
module Determinator
module Tracking
class << self
+ attr_reader :endpoint_env_vars
+
def instance
Thread.current[:determinator_tracker]
end
def start!(type)
Thread.current[:determinator_tracker] = Tracker.new(type)
end
- def finish!(error:, **attributes)
+ def finish!(endpoint:, error:, **attributes)
return false unless started?
- request = instance.finish!(error: error, **attributes)
+ request = instance.finish!(endpoint: endpoint, error: error, **attributes)
clear!
report(request)
request
end
@@ -54,9 +56,19 @@
end
def clear_hooks!
@on_request = nil
@get_context = nil
+ end
+
+ def endpoint_env_vars=(vars)
+ @endpoint_env_vars = Array(vars)
+ end
+
+ def collect_endpoint_info(parts)
+ endpoint = Array(Determinator::Tracking.endpoint_env_vars).map{ |v| ENV[v] }
+ endpoint += Array(parts)
+ endpoint.reject{ |p| p.nil? || p == ''}.join(' ')
end
end
end
end