HP Caliper User Guide
 Copyright 2011 Hewlett-Packard Development Company, L.P
 Contents
 HP Caliper Options
HP Caliper Measurement Configuration Files
Remote GUI
 Contents
 Using the HP Caliper Advisor in the GUI
Using the HP Caliper Advisor
Configuring HP Caliper
Threads Traps-reported User-regionsHP-UX only Version
 Producing a Sampled Call Graph Profile Analysis 120
Controlling the Content of Reports 104
Producing a Sampled Call Stack Profile Analysis 132
HP Caliper Environment Variables 103
 Limitations to Using cstack 149 Pstack like functionality
HP Caliper Diagnostic and Warning Messages 164
Descriptions of Measurement Reports 168
 Contents
 Event Set Descriptions for CPU Metrics HP-UX only 219
 Glossary 253 Index 258
 About This Document
 Typographic Conventions
Command
Computer output
File name
 Related Documents
 HP Encourages Your Questions
 HP Caliper at a Glance
What Is HP Caliper?
HP Caliper at a Glance
 HP Caliper Components User Interfaces
What Is HP Caliper?
 Supported Hardware and Operating Systems
What Does HP Caliper Run On?
Supported Compilers and Application Environments
 Summary of HP Caliper Features
Summary of HP Caliper Features
 Getting Started with the HP Caliper Command-Line Interface
Getting Started with the HP Caliper Command-Line Interface
 PLM
 Target
Page
 Example Adding Instructions to an fprof Report
 Example Adding Instructions to an fprof Report
 Global Measurement
Types of Measurements
Sampled Measurements
Precise Measurements
 Syntax for caliper Command
What to Look for in Using HP Caliper
Caliper measurement caliperoptions program programarguments
Measurement
 Starting HP Caliper
Basic Tasks a Quick Reference
Stopping HP Caliper
Showing HP Caliper Options
 Restrictions on Using HP Caliper
Using the HP Caliper Advisor
Creating a Text Report for Analysis
Creating a Report Based on Your Collected Data
 Getting Information About HP Caliper
Additional HP Caliper Commands
Caliper info
Caliper report merge diff
 What Is the HP Caliper GUI?
What Is the HP Caliper GUI?
Getting Started with the HP Caliper GUI
Window Basics
 Getting Started with the HP Caliper GUI
Projects View
 Window Basics
Collect View
 Collect View
Analyze View
 Analyze View
Advisor View
 Advisor View
Console View
 Help View
Diagnostics View
 Hints on How to Make Measurements
Tips for Using Views
Making Measurements
 Exploring Performance Data
Getting Performance Tuning Advice
Exploring Performance Data
 Starting the GUI
Getting Help
Native Local GUI
Remote GUI
 Starting the GUI
Login Screen
 Measurement Configuration Files Provided with HP Caliper
HP Caliper Measurement Configuration Files
 Ecount
Dtlb
Fprof
Icache
 Available Measurements in Each Measurement Type
Overview Measurement
Global Sampled
 Simultaneous fprof Sampling on Multiple PMU Counters
Location of Measurement Configuration Files
Simultaneous fprof Sampling on Multiple PMU Counters
 You are free to rename measurement configuration files
Specifying Option Values in Measurement Configuration Files
See Hierarchy for Processing an Option Value p
 Basic Information About Options
HP Caliper Options
Multiple Ways to Specify HP Caliper Option Values
Examples
 Or --duration
Or --database
Hierarchy for Processing an Option Value
Examples
 Or -?
Or --options-file
Or --help
Or --metrics
 Cpuevent
Or --output-file
 Or --report-details
Or --process
For PMU Histogram Reports
 For Function Coverage Reports
Or --sampling-spec
Speriod Srate ,variation ,cpuevent
Rate
 Or --version
Default value is 5 percent
CPUCYCLES,10000,10%
Branchevent
 Advice-cutoff
Advice-classes
Advice-details
Analysis-focus
 Callpath-cutoff
Bus-speed
Bus-speed int
Callpath-cutoffpercentcutoff,cumpercentcutoff,mincount
 Cpu-aggregation
Context-lines
Cpu-counter
Cpu-details
 Dcache-data-profile
Csv-file
Database
Dbrp
 Description-details
Db-save
Details
Detail-cutoff
 Duration
Etb-freeze-delay
Example
 Event-defaults privilege-level-mask=levelthreshold=int
Event-defaults
Etb-walkback-cycles
Etb-walkback-cycles integer
 Exclude-idle
Exclude-caliper
Fold
Frame-depth
 Hotpaths
Help
Ibrp
Info
 Jre
Join
Kernel-path
Kernel-stack
 Measure-on-interrupts
Latency-buckets
Memory-usage=
Metrics
 Module-exclude
Module-default
Module-include
Module-search-path
 Omr
Noinlines
Options-file
Output-file
 Percent-columns
Per-module-data
Percent-sample
Prim-cutoff
 Process-cutoff
Process
See -p or --process p
Process-cutoffpercentcutoff,cumpercentcutoff,mincount
 Report
Read-init-file
Report-details
Rule-files
 Psetid psetid
Using --scope system for System-Wide Measurements
 Skip-functions
Search
Sort-by
Sort-bymetric,cpuevent
 Stop-functions
Source-path-map
Summary-cutoff
Summary-cutoffpercentcutoff,cumpercentcutoff,mincount
 System-usage=
System-model Linux only
Term-display
System-modelmodel-number,number-of-cells
 Traps-reported
Threads
User-regions
 See -v or --version p
Version
Version
 What Is the HP Caliper Advisor?
Using the HP Caliper Advisor
Example of an HP Caliper Advisor Report
Limitations to Keep in Mind
 Steps in Using the Advisor
Steps in Using the Advisor
Example 1 HP Caliper Advisor Report
 Command line is
Command Line to Invoke the Advisor
Where adviseoptions are
 Advice-cutoff
Advice-classes
Advice-details
Max-count
 Simplest Example
Getting Started with the Advisor Examples
More Typical Examples
 Followed by
Explanation of Report Output
Then, run the Advisor on the composite performance data
 How to Read an Advisor Report
 Suggestions for Using the HP Caliper Advisor
Suggestions for Using the HP Caliper Advisor
 How the HP Caliper Advisor Works
 Basic Steps in Using the HP Caliper Advisor in the GUI
Using the HP Caliper Advisor in the GUI
Basic Steps in Using the HP Caliper Advisor in the GUI
Making Performance Measurement Runs
 Selecting Performance Data to Analyze Optional
Using the HP Caliper Advisor in the GUI
 Selecting Performance Data to Analyze Optional
Projects View, with a Single Project Selected
 Projects View, with a Single Measurement Run Selected
Generating Advice
 Reviewing and Acting on the Advice
Reviewing and Acting on the Advice
 Advisor Report in the HP Caliper GUI
 Example of a .caliperinit File
Configuring HP Caliper
Caliperinit file, you can then simply type
 Disasmtargetnamelimit = limit
Setting Constants in the .caliperinit File
Suppressinitwarnings = TrueFalse
Suppressstatementdata = TrueFalse
 Configuring Data Collection
Configuring Data Collection
Specifying Which CPU Events to Measure
Shortening CPU Event Names
 Specifying Which Load Modules to Collect Data For
Module-default Module-include Module-exclude
Module-include modulelist
Module-exclude modulelist
 How to Specify Load Module Names
Default Settings for Load Module Data Collection
 Specifying Processes to Measure
Controlling Granularity of Data Collection and Reports
Process Tree Report
For more information, see -s or --sampling-spec p
 Syntax for -p Option
Default
Root-forks
Customfunctionname
 Some opt1,... pattern Glob1 glob2
Using -p some
Someopt1,opt2,...pattern
 Process Origin Options Used with -p some
Examples of the -p Option
To measure only ecom and ld
Reports information for cc root, cc fork, cc fork, ctcom
 Using HP Caliper in Testing and Quality Assurance
Using HP Caliper in Your Build Process
Using HP Caliper to Generate Test Suite Reports
Attaching to a Running Process to Perform Measurements
 Example Output of the caliper info Command
Options for the caliper info Command
 Examples of the caliper info Command
 HP Caliper Environment Variables
 Controlling the Content of Reports
Controlling the Content of Reports
Layout of an HP Caliper Text or CSV Report
 Metrics You Can Use for Report Sorting and Cutoffs
Metrics You Can Use for Report Sorting and Cutoffs
 Available Metrics for Report Sorting and Cutoffs
 For example, assume that you perform this HP Caliper run
Module-Centric Reports
This produces a report similar to this truncated report
 Process Summary for a --group-by none Run
Process Summary
Process Summary for a Diff Run
 Function Details
Disassembly Listing
Function Details
 Source Position Correlation
Branch Targets in Disassembly Listings
Address Types Shown
Source Line Data
 VSE Information Shown in Report Output
How Functions Are Named in Reports
Unnamed Functions
Unknown Functions
 Controlling the Content of Reports
 How HP Caliper Saves Data in Databases
Changing the Default Name and Location
Names and Locations for the Databases
Or simply
 Where reportoptions is one or more of these options
You can use the caliper report merge diff command to
Creating Reports from Multiple Databases
Caliper report merge diff reportoptions databases
 Database2 database1 for caliper diff
Databases is one of these
Caliper report reportoptions database
Caliper merge reportoptions database1 database2
 Cpucycles
Example 2 Example of a caliper merge Run
 Caliper diff reportoptions database2 database1
Pmutrace Scgprof
 Example 3 Example of a caliper diff Run
 Cstack Pmutrace Scgprof
Example of How to Use the caliper diff Command
As cc1 ld
As cc1
 How Sampled Call Graph Profile Analysis Works
Producing a Sampled Call Graph Profile Analysis
Differences Between scgprof and cgprof
Producing a Sampled Call Graph Profile Analysis
 Sampled Call Graph Text Report Example
Running the HP Caliper Sampled Call Graph Profile
Caliper scgprof caliperoptions program programarguments
Running the HP Caliper Sampled Call Graph Profile
 Sampled Call Graph Text Report Example
 Sampled Call Graph Text Report Example
 Producing a Sampled Call Graph Profile Analysis
 Br.cond.dpnt.many self+0x2db0
 Producing a Sampled Call Graph Profile Analysis
 Sampled Call Graph Text Report Example
 Producing a Sampled Call Graph Profile Analysis
 Root
 Flat Profile Part of the Report
Sampled Call Graph Profile Report Details
Call Graph Part of the Report
Hot Call Paths Part of the Report
 Diagnostic Messages appear at the end of the report
Diagnostic Messages
Gprof Fallacy and Possibly Misleading Results
Gprof Fallacy and Possibly Misleading Results
 Running HP Caliper to Produce a Call Stack Profile
Producing a Sampled Call Stack Profile Analysis
Call Stack Profile Text Report Example for HP-UX
Caliper cstack caliperoptions program programarguments
 Call Stack Profile Text Report Example for HP-UX
Call Stack Profile Text Report Example
 Producing a Sampled Call Stack Profile Analysis
 Call Stack Profile Text Report Example for HP-UX
 Root
 Call Stack Profile Text Report Example for HP-UX
 Producing a Sampled Call Stack Profile Analysis
 Function Indexes Thread 6065598@startroutine Name
 An example report for HP Caliper on Linux is shown here
Call Stack Profile Text Report Example for Linux
 Call Stack Profile Text Report Example for Linux
Call Stack Profile Text Report Example for Linux
 Producing a Sampled Call Stack Profile Analysis
 Root
 Producing a Sampled Call Stack Profile Analysis
 Call Stack Profile Text Report Example for Linux
 Producing a Sampled Call Stack Profile Analysis
 Blocking Primitives Summary Part of the Report
Call Stack Profile Report Details
Samples-running HP-UX only Samples-blocked HP-UX only
Call Stack Profile Report Details
 Example 4 Sample cstack Report Blocking Primitives Details
 Avoids gprof Fallacy
Limitations to Using cstack
Pstack like functionality
Sample report follows
 Producing a Sampled Call Stack Profile Analysis
 151
Performing CPU Metrics Analysis
 Measuring Memory Usage Concurrently with Other Measurements
HP Caliper Features Specific to HP-UX
 Examples of the --memory-usage= Option
 System Memory Configuration Table
How to Read the Reports
Example Report Output
 Process Memory Usage Table
 Measuring System Usage Concurrently with Other Measurements
 Measuring System Usage Concurrently with Other Measurements
Example System Usage Report Output
 Caliper measurement options pid
Interpreting the Data
 Triggering PMU Samples in Specific Code Regions
Taking PMU Samples in Your Code
Run ./myprog and find the process ID of the process
Taking PMU Samples in Your Code
 160 shows part of the resulting report
Precautions When Using Triggered Samples
 Restricting PMU Measurements to Specific Code Regions
 Caliperpmuenable
 Restricting PMU Measurement to Specific Code
 Error #28 Caliper Invalid Measurement Combination
HP Caliper Diagnostic and Warning Messages
HP Caliper Diagnostic and Warning Messages
Instructions Labeled Stub
 Mispredicted Branches
Mispredicted Branches Example
 Scgprof Reports Require Kernel Patch
PMU Sample Hits Outside Function Range
 Scgprof Reports Require Kernel Patch
 Example Command Line for CSV Report
Example Command Line for Text Report
Descriptions of Measurement Reports
Alat Measurement Report Description
 Metrics for Integrity Servers Itanium 2 Systems
Alat Metrics Summed for Entire Run
 INSTCHKALDCALAT.FP
Alat Measurement Report Metrics
INSTCHKALDCALAT.INT
INSTFAILEDCHKALDCALAT.FP
 How Alat Metrics Are Obtained
Branch Measurement Report Description
Information in alat Measurement Reports
 Branch Metrics Summed for Entire Run
 BRMISPREDDETAIL.NRETIND.WRONGTARGET
BRMISPREDDETAIL.NRETIND.WRONGPATH
BRMISPREDDETAIL.RETURN.CORRECTPRED
BRMISPREDDETAIL.RETURN.WRONGPATH
 Information in branch Measurement Reports
Branch Measurement Report Metrics
 How branch Metrics Are Obtained
Cgprof Report Description
Available only on HP-UX
For rows showing instructions on a bundle boundary
 Call Graph Profile Metrics
HP Caliper Call Graph Profile Results Accuracy
Profiled otherwise blank
 Information in cgprof Measurement Report Parent Listings
 Information in cgprof Measurement Report Children Listings
Cpu Measurement Report Description
Column Description Func Hits In Children
This child entry
 CPU Event Sets
Example Command Lines for Text Report
 L1dcache
Dspec
L1icache
L2cache
 Cstack Measurement Report Description
Threadswitch
Cstack Measurement Report Metrics
Sysbus
 Column Description Total Hits Waiting
Be resolved to a symbol
Message queue, socket, pipe, file descriptor
Semaphore, message queue, socket, pipe, file descriptor
 Parent Func Hits
Cycles Measurement Report Description
Children
Cycles Measurement Report Description
 Cycles Metrics Summed for Entire Run
 Information in cycles Measurement Reports
Cycles Measurement Metrics
 Dcache Measurement Report Description
From that bundle are split issued
How cycles Metrics Are Obtained
 L1DREADS
Dcache Metrics Summed for Entire Run
L1DREADMISSES.ALL
 L2DINSERTMISSES
Datareferences
L2DMISSES
 L2DREFERENCES.ALL
Dcache Measurement Report Metrics
Information in dcache Measurement Reports
Cycles Object Avg. Dcache
 Example dcache Reports
 Dcache Measurement Report Description
 How Data Cache Metrics Are Obtained
 How Latency Bucket Metrics Are Obtained
Dtlb Measurement Report Description
How the Data Summary Information Is Obtained
Dtlb Measurement Report Description
 L2DTLBMISSES
Dtlb Metrics Summed for Entire Run
Dtlbinsertshpw
L2DTLBMISSES / Datareferences
 Cycles lost due to all stalls lower is better
Dtlb Measurement Report Metrics
 Function Source statement Instruction
How Data TLB Metrics Are Obtained
Information in dtlb Measurement Reports
 Ecount Metrics Summed for Entire Run
Ecount Measurement Report Description
Cpucycles
Ecount Measurement Report Description
 Descriptions of Measurement Reports
 Fcover Measurement Report Description
Fcount Measurement Report Description
Fcount Measurement Report Metrics
Fcover Measurement Report Metrics
 Unknown Source Files
Fprof Measurement Report Description
Directory
Function
 Number of elapsed processor cycles
Fprof Metrics Summed for Entire Run
Full pipe bubbles in main pipe
Fprof Measurement Report Description
 Fprof Measurement Metrics
 Information in fprof Measurement Reports
How fprof Metrics Are Obtained
 Icache Metrics Summed for Entire Run
Icache Measurement Report Description
L1IREADS
L2INSTDEMANDREADS
 L1IPREFETCHES
 That are misses
Icache Measurement Report Metrics
Information in icache Measurement Reports
 How Instruction Cache Metrics Are Obtained
Function Details
 Itlb Metrics Summed for Entire Run
Itlb Measurement Report Description
ITLBMISSESFETCH.L1ITLB
ITLBMISSESFETCH.L2ITLB
 BELOSTBWDUETOFE.IMISS
Itlb Measurement Report Metrics
Itlb Measurement Report Description
 Information in itlb Measurement Reports
Function Statement Cache line
 Scgprof Measurement Report Description
Pmutrace Measurement Report Description
How Instruction TLB Metrics Are Obtained
Pmutrace Measurement Report Description
 Scgprof Measurement Report Metrics Call Graph Profile
Scgprof Measurement Report Metrics Flat Profile
Is profiled otherwise blank
 Scgprof Measurement Report Description
Information in scgprof Measurement Report Parent Listings
 Traps Measurement Report Description
 Darght
Vfault
Dbit
Debug
 Traps Metrics Summed for Entire Run
 Cycles lost due to RSE stalls
Traps Measurement Metrics
Information in traps Measurement Reports
 How traps Metrics Are Obtained
 Brpath Event Set
Event Set Descriptions for CPU Metrics
Metrics Available from this Measurement
Include idle --exclude-idle False
 Event Set Descriptions for CPU Metrics
Brpred Event Set
 Brpred Event Set
Iprel
 C2c Event Set
 Cpi Event Set
Cpi Event Set
 CPI
Pred-Off
Mips
 Available only on Itanium 2 and dual-core Itanium 2 systems
Cpubus Event Set
Cpubus Event Set
 Cspec Event Set
 Dispersal Event Set
Dispersal Event Set
 Dspec Event Set
 Dspec Event Set
 FCVT.fx
Fp Event Set
 Fp Event Set
SIR
 L1dcache Event Set
 NON RSE Misses per Kinst
L1icache Event Set
L1icache Event Set
 Metrics Available from this Measurement
 L2cache Event Set
L2cache Event Set
 Metrics Available from this Measurement
 L2dcache Event Set
L2dcache Event Set
 L2icache Event Set
 L2icache Event Set
 L3cache Event Set
 L3cache Event Set
 Memreq Event Set
 Queues Event Set
Queues Event Set
 Snoop Event Set
 Stall Event Set
Stall Event Set
 Metrics Available from this Measurement
 Sysbus Event Set
Sysbus Event Set
 BRL
CPU
Bril
 BWL
Threadswitch Event Set
BRC
BIL
 Tlb Event Set
 Tlb Event Set
 Event Set Descriptions for CPU Metrics
 253
Glossary
 Glossary
Set p
 255
Hot spot
 Nop
 257
Measurements p
 Index
Symbols
 Daemon processes measuring
CPU event names shortening, 93 CPU events
259
 Environment variables HP Caliper, 103 Error messages
 261
Sampled measurements performing
 Useparensforstatementdata constant