IBM AIX Continuous Availability Features - IBM Redbooks
IBM AIX Continuous Availability Features - IBM Redbooks
IBM AIX Continuous Availability Features - IBM Redbooks
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
► An optional predicate<br />
The predicate, if present, identifies a condition that is to be checked at the time the probe<br />
is triggered. The predicate must evaluate to TRUE for the probe actions of the clause to<br />
be executed.<br />
These elements are described in more detail in the following sections.<br />
Probe point specification<br />
A probe point specification identifies the code location whose execution, or the event whose<br />
occurrence, should trigger the probe actions. Multiple probe points can be associated with the<br />
same set of probe actions and the predicate, if any, by providing a comma-separated list of<br />
probe specifications at the top of the Vue clause.<br />
The format for a probe specification is probe-type specific. The probe specification is a tuple<br />
of ordered list of fields separated by colons. It has the following general format:<br />
@@::...::<br />
<strong>AIX</strong> V6.1 supports the following probe types:<br />
1. User Function Entry probes (or uft probes)<br />
For example, a uft probe at entry into any function called foo() (in the main executable or<br />
any of the loaded modules including libraries) in process with ID = 34568:<br />
@@uft:34568:*:foo:entry<br />
2. System Call Entry/Exit probes (or syscall probes)<br />
For example, a syscall probe at the exit of a read system call:<br />
@@syscall:*:read:exit<br />
3. Probes that fire at specific time intervals (or interval probes)<br />
For example, an interval probe to fire every 500 milliseconds (wall clock time):<br />
@@interval:*:clock:500<br />
Action block<br />
The action block identifies the set of actions to be performed when a thread hits the probe<br />
point. Supported actions are not restricted to the capturing and formatting of trace data; the<br />
full power of Vue can be employed.<br />
An action block in Vue is similar to a procedure in procedural languages. It consists of a<br />
sequence of statements that are executed in order. The flow of execution is essentially<br />
sequential. The only exceptions are that conditional execution is possible using the if-else<br />
statement, and control may be returned from within the action block using the return<br />
statement.<br />
Unlike procedures in procedural languages, an action block in Vue does not have an output<br />
or a return value. And it does not have inherent support for a set of input parameters. On the<br />
other hand, the context data at the point where a probe is entered can be accessed within the<br />
action block to regulate the actions to be performed.<br />
Predicate<br />
Predicates should be used when execution of clauses at probe points must be performed<br />
conditionally.<br />
116 <strong>IBM</strong> <strong>AIX</strong> <strong>Continuous</strong> <strong>Availability</strong> <strong>Features</strong>