HP Caliper 5.3 Quick Start
Updated: September 2012
http://www.hp.com/go/caliper
HP Caliper commands have the following forms:
$ caliper measurement [opts] app [app_args] $ caliper measurement [opts] PID [PID2 …] $ caliper measurement [opts]
$ caliper reportmergediff [opts] [DB …] $ caliper advise [opts] [DB …]
$ caliper info [opts]
where: | specifies what type of data to collect |
measurement | |
opts | are HP Caliper options in these forms: |
| |
app | is a program to invoke and measure |
app_args | are the arguments to app |
PID | is ID of a process to attach to and measure |
collects data | |
DB | is a database to report or analyze |
report | creates a report from DB(s) |
merge | creates a report from merged DBs |
diff | creates a report from differenced DBs |
advise | generates performance tuning advice |
info | generates help information |
Measurements (measurement argument)
alat | ALAT miss profile |
branch | branch prediction profile |
cpu | CPU event metrics |
cstack | sampled call stack profile |
cycles | flat profile of IPs |
{di}cache | |
data or instruction cache misses | |
{di}tlb | data or instruction TLB misses |
ecount | counts of specific CPU events |
fprof | flat profile of function CPU time |
overview | enables collecting fprof, cstack |
| and dcache data in one single |
scgprof | collection run |
sampled call graph profile | |
traps | traps, interrupts, and faults |
|
Using the Graphical User Interface
$ caliper –g [--jre path]
start GUI to interactively set collection specification, initiate measurement runs, and graphically explore performance
Choosing Target of Data Collection
specific processes (default) | |
(short form of above) | |
all processes on system |
Generating Reports
write text report to out.txt | |
write CSV report to out.csv |
Collecting System Usage Data
(for any measurement; not available on Linux)
Choosing Specific Processes to Measure
root process and all descendants | |
(the default) | |
root (initial) process only | |
root process and forked children | |
processes whose executable’s | |
base name is name | |
processes whose argv[0] is | |
name | |
processes whose argv[1] is | |
name | |
processes created by exec() | |
| whose executable file is name |
| processes created by vfork() |
| and exec() whose executable file |
is name | |
processes whose executable name |
matches regular expression, expr
processes created by fork() whose argv[1] matches expr
-p (glob)name1:name2
processes whose executable name matches name1 or name2, both of which may contain shell wildcards
processes whose executable name starts with ‘foo’; potentially profile descendants of, but do not collect data on, foobar
Changing Sampling Parameters
(for measurements that use sampling)
sample every 50,000 events | |
sample every 50,000 events, | |
| varying the event count by |
1000 | |
use default number of events, | |
varying the event count by 5% | |
use default event count and | |
| variation; use CPU_CYCLES |
as the sampling event | |
sample every 5000 | |
| CPU_CYCLES (abbr. CC) using |
| default variation |
Grouping Data
–-group-by executable
show
show
show data for each process
Reporting from a Database
$ caliper measurement [opts]
$ caliper report [opts] dbName
report from database dbName
Merging or Differencing Data from Multiple Runs
$ caliper merge –-csv dir dbName latest
merge data collected in database dbName with the last data recorded in .hp_caliper_databases; write CSV output to directory dir
$ caliper diff
difference the data from db1 and db2 and write the output report to out.txt
Getting Help
$ man caliper man page with full descriptions $ caliper info
print help for measurement $ caliper info name
| list event name and/or all |
| events whose name contains |
name | |
print short help text | |
print long help text | |
append help to report |