From cffea8a217a1bc0b8de1714e291a098eefda4e75 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Mon, 23 Feb 2015 17:23:14 -0500 Subject: [PATCH] LP#1425135 Log message duration w/ millisecond granularity Log message processing duration with finer granularity. This is especially useful for diagnosing SIP speed issues for automated materials handling, where small changes in speed can have a big impact. New message logs at DEBUG level. Signed-off-by: Bill Erickson Signed-off-by: Galen Charlton --- SIPServer.pm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/SIPServer.pm b/SIPServer.pm index 9e598b6..30ed53d 100755 --- a/SIPServer.pm +++ b/SIPServer.pm @@ -685,12 +685,16 @@ sub sip_protocol_loop { alarm 0; # Don't timeout while we are processing $input =~ s/[\r\n]+$//sm; # Strip off any trailing line ends + my $start = time; my $status = Sip::MsgType::handle($input, $self, $expect); if ($status eq REQUEST_ACS_RESEND) { alarm $timeout; next; } + my $duration = sprintf("%0.3f", time - $start); + syslog('LOG_DEBUG', "SIP processing duration $duration : $input"); + if (!$status) { syslog("LOG_ERR", "raw_transport: failed to handle %s", substr($input,0,2)); die "sip_protocol_loop: failed Sip::MsgType::handle('$input', $self, '$expect')"; -- 2.43.2