AGI's are resulting in unusual behaviors. Can someone please tell me if this is my inappropriate use of AGI's, inappropriate use of Time::HiRes, or a bug with *:


I call this script twice:

#!/usr/bin/perl
use Time::HiRes qw( gettimeofday );
($seconds, $microseconds) = gettimeofday;
$hirestime = sprintf("%s","$seconds$microseconds");
print "SET VARIABLE HIRESTIMESTAMP $hirestime\n";


I run this script twice, once before a bunch of stuff, and once after, in order to perform a crude version of time measurement. However, the script sometimes (1 out of 20? 40?) will return with fewer digits in the output of the AGI, which means that when I do my subtraction, the numbers come out negative or wildy incorrect. I'm throwing 5 calls into the outgoing spool at once during these tests. What's going on here with AGI return values getting chopped? Sometimes the first column gets chopped, sometimes the second column gets chopped. Numbers can and do end in "0", so this is not an issue of the digits being dropped due to ending with "0" or "00".


Other notes: if I swap out priority 5 with other non-agi applications, there is no difference in results.

[foo]
exten => _X.,1,AbsoluteTimeout(4)
exten => _X.,2,AGI(/home/jtodd/agi/timer1)
exten => _X.,3,SetVar(STARTTIME=${HIRESTIMESTAMP})
exten => _X.,4,NoOp(${HIRESTIMESTAMP})
exten => _X.,5,AGI(some-harmless-other-agi-here)
exten => _X.,6,AGI(/home/jtodd/agi/timer1)
exten => _X.,7,NoOp(${HIRESTIMESTAMP})
exten => _X.,8,SetVar(ENDTIME=${HIRESTIMESTAMP})
exten => _X.,9,SetVar(DURATION=$[${ENDTIME} - ${STARTTIME}])
exten => _X.,10,System(echo ${STARTTIME} ${ENDTIME} ${DURATION} >> /tmp/tests)
exten => _X.,11,Hangup


example output:


start time       end time         duration (endtime-starttime)
1070917681581683 1070917681942384 360701
1070917681666607 1070917681968283 301676
1070918477712530 1070918478137011 424481
1070917681788671 1070917681998254 209583
1070917681837624 107091768221563 -963825913616061  <- error!



JT
_______________________________________________
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to