ltm rule command timing
iRule(1) BIG-IP TMSH Manual iRule(1)
timing
Enables or disables iRule timing statistics.
SYNOPSIS
timing TIMING
DESCRIPTION
The timing command can be used to enable iRule timing statistics. This will then collect timing information as
specified each time the rule is evaluated. Statistics may be viewed with "b rule show all" or in the
Statistics tab of the iRules Editor.
Note: In 11.5.0, timing was enabled by default for all iRules in BZ375905. The performance impact is
negligible. As a result, you no longer need to use this command to view timing statistics.
You'll likely only want to look at the average and min numbers as max is often way, way out there due to the
optimizations being performed on the first run of the rule. By "optimizations" we mean that TMM is doing its
normal data inspection/collection routine which is performed for each new connection. This process allows you
to use the streamlined, cached values later in your iRules, such as HTTP::host and IP::local_addr. This
process is more resource intensive than a normal pass through the iRule and as such will offset the "max"
statistics, hence the need to throw out this number when scoping your iRule usage.
Enabling timing does have negligible overhead so you shouldn't need to worry about leaving it enabled.
Syntax
timing
* When the timing command is issued before a "when EVENT_NAME"
declaration in an iRule, timing is enabled or disabled for the
remainder of the iRule.
when EVENT_NAME timing { }
* Use the timing command after the "when EVENT_NAME" and before its
braces to enable or disable timing only for that specified event.
RETURN VALUE
VALID DURING
ANY_EVENT
EXAMPLES
To enable timing for the entire rule:
timing on
when RULE_INIT {
log local0. "Rule initialized with timing enabled."
}
when HTTP_REQUEST {
pool my_pool
}
To enable timing for just one event:
when RULE_INIT {
log local0. "Rule initialized -- timing not enabled."
}
when HTTP_REQUEST timing on {
log local0. "This event only is being timed"
pool my_pool
}
To enable, selectively disable, then disable timing:
rule foo {
timing on
when HTTP_REQUEST {
...
}
when CLIENT_ACCEPTED timing off {
...
}
timing off
when SERVER_CONNECTED {
...
}
}
HINTS
SEE ALSO
CHANGE LOG
@BIGIP-9.0.3 --First introduced the command.
BIG-IP 2020-06-23 iRule(1)