lib/new_relic/agent/agent.rb in newrelic_rpm-7.2.0 vs lib/new_relic/agent/agent.rb in newrelic_rpm-8.0.0
- old
+ new
@@ -213,11 +213,11 @@
@service = PipeService.new(channel_id)
if connected?
@connected_pid = Process.pid
else
::NewRelic::Agent.logger.debug("Child process #{Process.pid} not reporting to non-connected parent (process #{Process.ppid}).")
- @service.shutdown(Time.now)
+ @service.shutdown
disconnect
end
end
# True if we have initialized and completed 'start'
@@ -1121,25 +1121,25 @@
def transmit_span_event_data
transmit_single_data_type(:harvest_and_send_span_event_data, SPAN_EVENT)
end
def transmit_single_data_type(harvest_method, supportability_name)
- now = Time.now
+ now = Process.clock_gettime(Process::CLOCK_MONOTONIC)
msg = "Sending #{supportability_name} data to New Relic Service"
::NewRelic::Agent.logger.debug msg
@service.session do # use http keep-alive
self.send(harvest_method)
end
ensure
- duration = (Time.now - now).to_f
+ duration = Process.clock_gettime(Process::CLOCK_MONOTONIC) - now
NewRelic::Agent.record_metric("Supportability/#{supportability_name}Harvest", duration)
end
def transmit_data
- now = Time.now
+ now = Process.clock_gettime(Process::CLOCK_MONOTONIC)
::NewRelic::Agent.logger.debug "Sending data to New Relic Service"
@events.notify(:before_harvest)
@service.session do # use http keep-alive
harvest_and_send_errors
@@ -1152,11 +1152,11 @@
check_for_and_handle_agent_commands
harvest_and_send_for_agent_commands
end
ensure
NewRelic::Agent::Database.close_connections
- duration = (Time.now - now).to_f
+ duration = Process.clock_gettime(Process::CLOCK_MONOTONIC) - now
NewRelic::Agent.record_metric('Supportability/Harvest', duration)
end
# This method contacts the server to send remaining data and
# let the server know that the agent is shutting down - this
@@ -1177,10 +1177,10 @@
transmit_error_event_data
transmit_span_event_data
if @connected_pid == $$ && !@service.kind_of?(NewRelic::Agent::NewRelicService)
::NewRelic::Agent.logger.debug "Sending New Relic service agent run shutdown message"
- @service.shutdown(Time.now.to_f)
+ @service.shutdown
else
::NewRelic::Agent.logger.debug "This agent connected from parent process #{@connected_pid}--not sending shutdown"
end
::NewRelic::Agent.logger.debug "Graceful disconnect complete"
rescue Timeout::Error, StandardError => e