HP Caliper Advisor Rule Writer Guide
3 How the HP Caliper Advisor Works
This chapter explains in detail how the Advisor works.
Analysis Objects and Datasets
In a nutshell, the Advisor works by scanning performance databases for analysis objects
of interest and for datasets associated with those objects.
An analysis object is any type of entity whose performance you are interested in.
Examples are executable programs, threads, functions, shared libraries, and the kernel.
For this release of the Advisor, an executable program is the only type of analysis object
supported.
A dataset is a unique set of data, stored in an HP Caliper database, that is associated
with a single measurement run. Each dataset contains several types of performance
data. For example, a dataset can consist of performance monitoring unit (PMU) metric
statistics, performance data histograms, call graphs, and so forth.
Every HP Caliper measurement run creates one or more datasets in one or more
databases. For example, a run such as the following will likely create multiple datasets
(in a single database), one for each process in the application’s process tree:
$ caliper fprof my_app
Some of these datasets might contain data for the same executable and some for different
executables, depending on what is fork’ed and exec’ed by the application.
If a caliper report my_database command produces n reports, then the database
contains n datasets.
After the Advisor has found all analysis objects and their associated datasets, it then
applies a set of analysis rules that generate performance advice for the analyzed objects.
Processing Stages: What the HP Caliper Advisor Does
Preprocessing Steps
The HP Caliper Advisor uses the following steps:
1. The command-line options and .caliperinit variable settings are processed
and verified. If there are any errors, they are reported and the run terminates.
2. All the specified databases are opened and validated. If no databases are specified,
all the databases in the databases directory are opened and validated. If there are
any errors, the errors are reported and the run terminates.
It is possible that different databases contain performance data collected on different
processors or operating systems, using different executable programs (and/or
different versions of the same program), program options, HP Caliper measurement
options, and so forth. At this stage, the compatibility of the collected data is not
Analysis Objects and Datasets 27