Page tree

This topic describes how to create composite parameters, which are custom parameters whose values are dependent on one or more existing PATROL parameters. 

You can use PATROL alarm settings and recovery actions on the newly created parameters in the same way that you use alarm settings and recovery actions on other parameters.

You can enter and edit composite parameter expressions manually or by using the expression entry wizard.

Why should I use a composite parameter?

Composite parameters give you the capability to create parameters whose values are dependent on one or more existing PATROL parameters. You can then use PATROL alarm settings and recovery actions on the newly created parameters in the same way that you use alarm settings and recovery actions on other parameters.

What does a composite parameter look like?

Composite parameter expressions consist of one or more relational clauses joined by Boolean (logical) operators. A relational clause may have one of the following forms:

  • KM parameter (relational operator) constant
  • Constant (relational operator) KM parameter
  • KM parameter (relational operator) KM parameter

where (relational operator) can be any of the standard PSL relational operators (that is, <, >, ==, <=, and >=). For information about valid relational and Boolean operators, see the PSL Reference Manual.

Relational clauses can be combined using the logical operators AND (&&) and OR (||).

The result of a composite parameter expression is a PATROL parameter condition, such as "alarm when true" or "warn when false."

For example, you can build a composite parameter that triggers a PATROL alarm indicating low memory conditions only when both of the following conditions are true:
MEMmemPagesPerSec > 10 && MEMmemPageFaultsPerSec > MEMmemCacheFaultsPerSec

How do I create a composite parameter?

You can enter and edit composite parameter expressions manually or by using the expression entry wizard. After you enter a composite parameter using the expression entry wizard, you can still edit the expression manually, and you may need to do so for complex expressions, such as those that contain parentheses grouping relational clauses in a hierarchy.

For more information about the associated configuration tasks, see:

Syntax rules for composite parameter expressions

The following syntax rules apply when you create a composite parameter expression.

You must use a PATROL Developer Console to create composite parameters.

  • A valid composite parameter name consists of alphanumeric characters. It cannot contain any special characters, such as /, *, or #, or a space character.
  • All parameters in the expression must be valid PATROL parameters. The parameter name must specify the application class, the application instance, and the parameter name.
  • The parameter name must be surrounded in single quotes (').
  • Although the expression entry wizard displays all parameters within an application class, including collector parameters, the application cannot use collector parameters in calculations.
  • Expressions cannot contain arithmetic operators.
  • String terms must be enclosed in double quotes (").
  • You can enclose a double quote in a string by "escaping" it using a backslash (). A string with an enclosed double quote looks like, "this \"string\""
  • Although the expression entry wizard does not enable you to enter parentheses in an expression, you can enter parentheses manually to control the order of expression evaluation. If parentheses are not used, expression evaluation is strictly left to right, with the relational operators having higher precedence than the Boolean operators.

Making composite parameters inactive

You can make the composite parameter inactive, but the parameters used in the expression remain active. If the parameters used in a composite parameter expression are inactive, the composite parameter is not calculated.

Examples of composite parameter expressions

  • Example 1:
    CPU Processor Time Percent for CPU 0 is greater than 91 percent
    '/NT_CPU/CPU_0/CPUprcrProcessorTimePercent' > 91
  • Example 2:
    Memory Pages Per Second is greater than 10 AND Memory Page Faults Per Second is greater than Memory Cache Faults Per Second'/NT_MEMORY/NT_MEMORY/MEMmemPagesPerSec' > 10 && '/NT_MEMORY/NT_MEMORY/MEMmemPageFaultsPerSec' > '/NT_MEMORY/NT_MEMORY/MEMmemCacheFaultsPerSec'
  • Example 3:
    Memory Pages Per Second is greater than or equal to 10 OR Memory Page Faults Per Second is equal to Memory Cache Faults Per Second 
    '/NT_MEMORY/NT_MEMORY/MEMmemPagesPerSec' >= 10 || '/NT_MEMORY/NT_MEMORY/MEMmemPageFaultsPerSec' == '/NT_MEMORY/NT_MEMORY/MEMmemCacheFaultsPerSec'
  • No labels