From 174c0c24535d754b7df0ca56a217eaca0c3608a0 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 ac983c5..7573ffe 100644 --- a/SIPServer.pm +++ b/SIPServer.pm @@ -278,9 +278,13 @@ sub sip_protocol_loop { while ( $input = Sip::read_SIP_packet(*STDIN) ) { $input =~ s/[\r\n]+$//sm; # Strip off any trailing line ends + my $start = time; my $status = Sip::MsgType::handle($input, $self, $expect); next if $status eq REQUEST_ACS_RESEND; + 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.11.0