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 2017-01-31 iRule(1)