Norman_Elton_13
Aug 05, 2014Nimbostratus
Should timing data be gathered for every iRule invocation?
I've got an iRule with "timing on" as the very first line. The CLIENT_ACCEPTED clause then handles incoming connections, either sending them to a snatpool or snat'ing them to a specific IP address. When looking at the statistics in tmsh or the web gui, it shows 744 total executions, even though the iRule has been in place for days, and we're seeing 40-50 new connections per second.
So, question is ... shouldn't my timing data have hundreds of thousands of data points by now? Why does it seem stuck at 744 total executions? I'll include a stripped down version of my iRule below.
Thanks
Norman
timing on
when RULE_INIT {
log local0. "Rule initialized with timing enabled"
}
when CLIENT_ACCEPTED {
set hsl [HSL::open -proto UDP -pool WM-SYSLOG-POOL]
if { bunch of logic here } {
HSL::send $hsl "<190> natipam-f5 $flow_info, Unknown user\n"
snatpool WM-SNAT-UNKNOWN-USERS
} else {
if { more logic here } {
HSL::send $hsl "<190> natipam-f5 $flow_info, Invalid user\n"
snatpool WM-SNAT-UNKNOWN-USERS
} else {
HSL::send $hsl "<190> natipam-f5 $flow_info, slot $slot/$position, NAT to $nat_ip\n"
snat $some_other_ip
}
}
}