IxoraRMS allows the user to create custom queries where performance counters can be processed through the use of functions. Functions can modify an existing counter or can create a virtual one by processing one or more existing counters. Below is a reference of the available functions:
The most powerful function is the Script which allows you to use Java language syntax to process counters and return a result.
The contents of the
Note that returning null has the significance of rejecting the current set of values, without sending any data to screen controls, effectively performing a filter.
Values for all resources specified through the
1. This is an example where the resource selector are defined without regular expressions. The function sums up processor user time and system (privileged) time and returns it as a third counter which will be displayed as 'Total Time'.
In the example above both 'user' and 'priv' were valid Java identifiers.
2. This is an example where the resource selectors are defined using regular expressions. The function calculates the number of active connections in each connection pool.
Tip: When you only need to convert the value of an existing counter you can define a function in-line with the resource definition by using the
3. This is an example of an in-lined function definition that coverts the original value from kilobytes to megabytes:
Accepts one parameter as input and accumulates its values over time. Returns the current accumulated value.
Accepts one parameter as input and calculates an average of its values over time. Returns the current average value.
Accepts one parameter as input and returns the difference between its current value and the previous (differential).
where x = value, t = time
Accepts one parameter as input and returns the time relative difference between its current value and the previous.
where x = value, t = time
Accepts one parameter as input and returns its value unchanged. Mostly used internaly by the application itself.
Accepts one parameter as input and returns its value unchanged but only if matches one of the predefined values. Multiple <value> tags are allowed.
If no value is matched then this function rejects the current data and screen controls are not updated.
As with reactions one function can only operate with counters of entities which are provided by the same source; e.g the definition of a reaction can use all the counters from an agent without providers (this is the case with most agents) whereas when providers are used (as in the case of Unix or some of the SQL agents) it can only operate with counters contributed by the same provider.