About Performance Measurement
Processing time for several appliance functions is measured and shown as performance information on the dashboard. You can record this information in log files and also measure and record processing time for individual rule sets.
Performance is measured on an appliance, for example, with regard to the average time it takes to resolve host names by looking up names on a DNS server. You can view this and other performance information on the dashboard. Additionally, you can measure the time needed for processing individual rule sets.
You can also log all performance information, the one shown on the dashboard and the one you have measured yourself.
The following elements are involved when you measure and log performance information:
- Properties for logging performance information
- Logging rules that use these properties to log performance information
- Events that measure processing time for individual rule sets
- Rule sets that include rules with events to have their processing time measured
Logging properties
Several properties are available that correspond to performance information shown on the dashboard and can be used in logging rules.
For example, the property Timer.ResolveHostNameViaDNS corresponds to the dashboard information on the average time for looking up host name names on a DNS server.
Two properties are available for logging the time that has been measured for processing an individual rule set. The Stopwatch.GetMilliSeconds property records this time in milliseconds, the Stopwatch.GetMicroSeconds records it in microseconds.
Logging rules
The default logging rules on an appliance use one event to create log lines and another to write these lines into a log file.
If you add properties for logging performance information to the elements of the log lines, they are written into the log file together with the other elements of the log line.
You can use default rules for logging performance information or create rules of your own.
Events for measuring processing time
Two events are available for measuring the time consumed for processing individual rule sets. The Stopwatch.Start event starts the internal stopwatch that measures this time. The Stopwatch.Stop event stops the watch, so the time that has elapsed can be recorded.
Measured rule sets
To measure the time consumed for processing a particular rule set, you need to create a rule with the event for starting the internal stopwatch at the beginning of the rule set and another at the end with the stopping event.
You need to insert the stopping event also into existing rules of the rule set if they have actions that stop processing of the rule set. Otherwise, the watch would not be stopped because the rule with the stopping event at the end of the rule set is skipped.