HP Caliper User Guide
 Copyright 2014 Hewlett-Packard Development Company, L.P
 Contents
 HP Caliper Options
HP Caliper Measurement Configuration Files
 Contents
 Controlling the Content of Reports 105
Using the HP Caliper Advisor
Using the HP Caliper Advisor in the GUI
Configuring HP Caliper
 Producing a Sampled Call Stack Profile Analysis 134
Producing a Sampled Call Graph Profile Analysis 122
 Descriptions of Measurement Reports 171
 Contents
 212
Event Set Descriptions for CPU Metrics HP-UX only 232
Metrics for Integrity Servers Itanium 2 Systems 211
Systems 211
 Glossary 268 Index 273
 HP secure development lifecycle
 About This Document
 File name
Command
Typographic Conventions
Computer output
 Related Documents
 HP Encourages Your Questions
 What is HP Caliper?
What is HP Caliper?
HP Caliper at a Glance
 HP Caliper at a Glance
HP Caliper Components User Interfaces
 What Does HP Caliper Run On?
What Does HP Caliper Run On?
Supported Hardware and Operating Systems
Supported Compilers and Application Environments
 Summary of HP Caliper Features
 Getting Started with the HP Caliper Command-Line Interface
 Cpucycles
Getting Started with the HP Caliper Command-Line Interface
 Target
 Getting Started with the HP Caliper Command-Line Interface
 Example Adding Instructions to an fprof Report
Example Adding Instructions to an fprof Report
 Getting Started with the HP Caliper Command-Line Interface
 Precise Measurements
Types of Measurements
Global Measurement
Sampled Measurements
 Measurement
What to Look for in Using HP Caliper
Syntax for caliper Command
Caliper measurement caliperoptions program programarguments
 Showing HP Caliper Options
Basic Tasks a Quick Reference
Starting HP Caliper
Stopping HP Caliper
 Creating a Report Based on Your Collected Data
Using the HP Caliper Advisor
Restrictions on Using HP Caliper
Creating a Text Report for Analysis
 Caliper report merge diff
Additional HP Caliper Commands
Getting Information About HP Caliper
Caliper info
 Getting Started with the HP Caliper GUI
What Is the HP Caliper GUI?
Getting Started with the HP Caliper GUI
Window Basics
 Window Basics
Projects View
 Projects View
Collect View
 Collect View
Analyze View
 Analyze View
Advisor View
 Advisor View
Console View
 Help View
Diagnostics View
 Making Measurements
Tips for Using Views
Hints on How to Make Measurements
Making Measurements
 Exploring Performance Data
Getting Performance Tuning Advice
 Remote GUI
Getting Help
Starting the GUI
Native Local GUI
 Login Screen
 Measurement Configuration Files Provided with HP Caliper
HP Caliper Measurement Configuration Files
 Icache
Dtlb
Ecount
Fprof
 Overview Measurement
Overview Measurement
 Specifying Option Values in Measurement Configuration Files
Location of Measurement Configuration Files
Simultaneous fprof Sampling on Multiple PMU Counters
 See Hierarchy for Processing an Option Value p
Location of Measurement Configuration Files
 Examples
HP Caliper Options
Basic Information About Options
Multiple Ways to Specify HP Caliper Option Values
 Examples
Or --database
Or --duration
Hierarchy for Processing an Option Value
 Or --metrics
Or --options-file
Or -?
Or --help
 Cpuevent
Or --output-file
 For Function Coverage Reports
Or --process
Or --report-details
For PMU Histogram Reports
 Variation
Or --sampling-spec
Speriod Srate ,variation ,cpuevent
Rate
 Branchevent
Advice-classes
Or --version
CPUCYCLES,10000,10%
 Branch-sampling-spec
Advice-cutoff
Advice-details
Analysis-focus
 Callpath-cutoffpercentcutoff,cumpercentcutoff,mincount
Bus-speed
Callpath-cutoff
Bus-speed int
 Cpu-details
Context-lines
Cpu-aggregation
Cpu-counter
 Dcache-stores
Dcache-data-profile
Database
Dcache-hits
 Details
Db-save
Debug-file-path=
Description-details
 Duration
Etb-freeze-delay
Example
 Etb-walkback-cycles integer
Event-defaults
Event-defaults privilege-level-mask=levelthreshold=int
Etb-walkback-cycles
 Frame-depth
Exclude-caliper
Exclude-idle
Fold
 Hotpaths
Help
Ibrp
 Jre
Info
Inlines
Join
 Memory-usage=
Kernel-stack
Latency-buckets
Measure-on-interrupts
 Module-include
Module-default
Metrics
Module-exclude
 Module-search-path directorydirectory
Module-search-path
Noinlines
Omr
 Per-module-data
Options-file
Output-file
Overflow-block
 Process-cutoffpercentcutoff,cumpercentcutoff,mincount
Process
Process-cutoff
See -p or --process p
 Rule-files
Read-init-file
Report
Report-details
 Psetid psetid
Using --scope system for System-Wide Measurements
 Sort-bymetric,cpuevent
Search
Skip-functions
Sort-by
 Summary-cutoffpercentcutoff,cumpercentcutoff,mincount
Source-path-map
Stop-functions
Summary-cutoff
 System-modelmodel-number,number-of-cells
Sw-process-list=
System-model Linux only
System-usage=
 Threads
Term-display
Traps-reported
 Rum and sum
User-regions defaultrum-sum
User-regions
Version
 Limitations to Keep in Mind
Using the HP Caliper Advisor
What Is the HP Caliper Advisor?
Example of an HP Caliper Advisor Report
 Using the HP Caliper Advisor
Steps in Using the Advisor
Example 1 HP Caliper Advisor Report
 Command Line to Invoke the Advisor
Command Line to Invoke the Advisor
Command line is
Where adviseoptions are
 Max-count
Advice-classes
Advice-cutoff
Advice-details
 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
How to Read an Advisor Report
 Suggestions for Using the HP Caliper Advisor
 How the HP Caliper Advisor Works
How the HP Caliper Advisor Works
 Making Performance Measurement Runs
Using the HP Caliper Advisor in the GUI
Basic Steps in Using the HP Caliper Advisor in the GUI
Using the HP Caliper Advisor in the GUI
 Selecting Performance Data to Analyze Optional
Selecting Performance Data to Analyze Optional
 Projects View, with a Single Project Selected
 Generating Advice
Generating Advice
 HP Caliper GUI Advisor Menu
Reviewing and Acting on the Advice
 Advisor Report in the HP Caliper GUI
Reviewing and Acting on the Advice
 Caliperinit file, you can then simply type
Configuring HP Caliper
Configuring HP Caliper
Example of a .caliperinit File
 Suppressstatementdata = TrueFalse
Setting Constants in the .caliperinit File
Disasmtargetnamelimit = limit
Suppressinitwarnings = TrueFalse
 Specifying Which CPU Events to Measure
Configuring Data Collection
Shortening CPU Event Names
 Module-include modulelist
Default Settings for Load Module Data Collection
Module-default Module-include Module-exclude
Specifying Which Load Modules to Collect Data For
 How to Specify Load Module Names
 For more information, see -s or --sampling-spec p
Controlling Granularity of Data Collection and Reports
Specifying Processes to Measure
Process Tree Report
 Customfunctionname
Default
Syntax for -p Option
Root-forks
 Glob1glob2
Using -p some
Someopt1,opt2,...pattern
 Process Origin Options Used with -p some
Using HP Caliper in Your Build Process
Using HP Caliper in Testing and Quality Assurance
Examples of the -p Option
 Attaching to a Running Process to Perform Measurements
Using HP Caliper to Generate Test Suite Reports
Caliper measurement options pid pid
 Or --cpu-counter
Options for the caliper info Command
Ccounternamekeywordall
 Or --report
Examples of the caliper info Command
Or --details
Or --output-file
 HP Caliper Environment Variables
 Layout of an HP Caliper Text or CSV Report
Controlling the Content of Reports
Layout of an HP Caliper Text or CSV Report
 Metrics You Can Use for Report Sorting and Cutoffs
Controlling the Content of Reports
 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 Line Data
Branch Targets in Disassembly Listings
Source Position Correlation
Address Types Shown
 Unknown Functions
How Functions Are Named in Reports
VSE Information Shown in Report Output
Unnamed Functions
 Controlling the Content of Reports
 Or simply
Changing the Default Name and Location
How HP Caliper Saves Data in Databases
Names and Locations for the Databases
 Database2 database1 for caliper diff
You can use the caliper report merge diff command to
Creating Reports from Multiple Databases
Caliper report merge diff reportoptions databases
 Caliper merge reportoptions database1 database2
Caliper report reportoptions database
Creating Reports from Multiple Databases
 Cpucycles
Example 2 Example of a caliper merge Run
 Caliper diff reportoptions database2 database1
Pmutrace Scgprof
 Example 3 Example of a caliper diff Run
 As cc1
Example of How to Use the caliper diff Command
Cstack Pmutrace Scgprof
As cc1 ld
 Producing a Sampled Call Graph Profile Analysis
Producing a Sampled Call Graph Profile Analysis
How Sampled Call Graph Profile Analysis Works
Differences Between scgprof and cgprof
 Running the HP Caliper Sampled Call Graph Profile
Running the HP Caliper Sampled Call Graph Profile
Sampled Call Graph Text Report Example
Caliper scgprof caliperoptions program programarguments
 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
 Hot Call Paths Part of the Report
Sampled Call Graph Profile Report Details
Flat Profile Part of the Report
Call Graph Part of the Report
 Gprof Fallacy and Possibly Misleading Results
Diagnostic Messages
Diagnostic Messages appear at the end of the report
Gprof Fallacy and Possibly Misleading Results
 Caliper cstack caliperoptions program programarguments
Producing a Sampled Call Stack Profile Analysis
Running HP Caliper to Produce a Call Stack Profile
Call Stack Profile Text Report Example for HP-UX
 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
 Call Stack Profile Report Details
Call Stack Profile Report Details
Blocking Primitives Summary Part of the Report
Samples-running HP-UX only Samples-blocked HP-UX only
 Example 4 Sample cstack Report Blocking Primitives Details
 Sample report follows
Limitations to Using cstack
Avoids gprof Fallacy
Pstack like functionality
 Producing a Sampled Call Stack Profile Analysis
 153
Performing CPU Metrics Analysis
 Measuring Memory Usage Concurrently with Other Measurements
HP Caliper Features Specific to HP-UX
 Memory-usage=beginend
Examples of the --memory-usage= Option
Some examples of the option follow
Memory-usage=all
 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
 Taking PMU Samples in Your Code
Taking PMU Samples in Your Code
Triggering PMU Samples in Specific Code Regions
Run ./myprog and find the process ID of the process
 162 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
 Documentation feedback
Documentation feedback
 Instructions Labeled Stub
HP Caliper Diagnostic and Warning Messages
Error #28 Caliper Invalid Measurement Combination
Error #28 Caliper Invalid Measurement Combination
 Mispredicted Branches Example
HP Caliper Diagnostic and Warning Messages
 Scgprof Reports Require Kernel Patch
PMU Sample Hits Outside Function Range
PMU Sample Hits Outside Function Range
 HP Caliper Diagnostic and Warning Messages
 Alat Measurement Report Description
Example Command Line for Text Report
Example Command Line for CSV Report
Descriptions of Measurement Reports
 Metrics for Integrity Servers Itanium 2 Systems
 INSTFAILEDCHKALDCALAT.FP
INSTCHKALDCALAT.INT
 See
Alat Measurement Report Metrics
Alatentryreplaced
Alatstorehit
 BRMISPREDDETAIL.ALL.CORRECTPRED
Branch Measurement Report Description
How Alat Metrics Are Obtained
Branch Metrics Summed for Entire Run
 BRMISPREDDETAIL.IPREL.WRONGPATH
BRMISPREDDETAIL.ALL.WRONGTARGET
BEFLUSHBUBBLE.ALL
BRMISPREDDETAIL.IPREL.CORRECTPRED
 BRPREDDETAIL.IPRELWRONGTARGET
BRPREDDETAIL.IPRELCORRPRED
BRPREDDETAIL.IPRELWRONGPATH
Number of IP-relative branch types with mispredicted path
 BRPREDDETAIL.RETURNCORRPRED
BRPREDDETAIL.NONRETINDCORRPRED
BRPREDDETAIL.RETURNWRONGPATH
BRPREDDETAIL.NONRETINDWRONGTARGET
 Information in branch Measurement Reports
Branch Measurement Report Metrics
 Available only on HP-UX
Cgprof Report Description
How branch Metrics Are Obtained
HP Caliper Call Graph Profile Results Accuracy
 Information in cgprof Measurement Report Fields Flat Profile
Call Graph Profile Metrics
 Information in cgprof Measurement Report Parent Listings
 Information in cgprof Measurement Report Children Listings
Cpu Measurement Report Description
 CPU Event Sets
Example Command Lines for Text Report
 L3cache
L2dcache,l2icache
L2dcache
L2icache
 Cstack Measurement Report Metrics
Cstack Measurement Report Description
 Sample Hits Blocked
Be resolved to a symbol
Column Description HP-UX only
HP-UX only Sample Hits Waiting
 Children
Cycles Measurement Report Description
Column Run + Block Hits HP-UX only
Parent Func Hits
 Cycles Metrics Summed for Entire Run
 Retiredinstnop
BERSEBUBBLE.ALL CPUCPLCHANGES.ALL CPUOPCYCLES.ALL
CYCBEBUBBLE.ANY
 CYCBEDETREPLAY.GRLOAD
CYCBEWB2FLUSH.ANY CYCBEIBDSTALL.ANY CYCBEIBDSTALL.GRLOAD
 Information in cycles Measurement Reports
From that bundle are split issued
Cycles Measurement Metrics
How cycles Metrics Are Obtained
 Dcache Measurement Report Description
Dcache Measurement Report Description
 Datareferences
Dcache Metrics Summed for Entire Run
L1DREADS
L1DREADMISSES.ALL
 RAW or WAW dependency condition of the instruction
Bubbles, or partial replays
To RAW hazard in an instructions GR load
 Dcache Measurement Report Metrics
 Information in dcache Measurement Reports
Source statement Instruction
 Example dcache Reports
 Dcache Measurement Report Description
 How Data Cache Metrics Are Obtained
 Dtlb Measurement Report Description
Dtlb Measurement Report Description
How Latency Bucket Metrics Are Obtained
How the Data Summary Information Is Obtained
 L2DTLBMISSES / Datareferences
Dtlb Metrics Summed for Entire Run
L2DTLBMISSES
Dtlbinsertshpw
 FLDTLBINSREQ.RETIRED
IA64INSTRETIRED L1DTLBTRANSFER L1DREADS L2DTLBMISSES
FLDTLBLOADMISS.ANY
FLDTLBINSREQ.NONRETIRED
 HPW
Dtlb Measurement Report Metrics
DTLBHPWREQBLKMISS.FAIL
L2 Dtlb
 Information in dtlb Measurement Reports
How Data TLB Metrics Are Obtained
 Ecount Metrics Summed for Entire Run
Ecount Measurement Report Description
Cpucycles
 Ecount Measurement Report Description
 Only on HP-UX
Fcount Measurement Report Description
 Information in fcount Measurement Reports
Fcover Measurement Report Description
Fcount Measurement Report Metrics
Fcover Measurement Report Metrics
 Function
Fprof Measurement Report Description
Unknown Source Files
Directory
 BERSEBUBBLE.ALL
Fprof Metrics Summed for Entire Run
 Dispersal without issuing instructions
CYCBEWB2FLUSH.ANY
Number of CPU cycles spent in WB2 Write back
Flushing of instructions
 Fprof Measurement Metrics
 Information in fprof Measurement Reports
How fprof Metrics Are Obtained
 L2INSTDEMANDREADS
Icache Measurement Report Description
Icache Metrics Summed for Entire Run
L1IREADS
 L2IREADS.MISS.ALL
L2IDEMANDREADS
L2IPREFETCHES
L2IREADS.ALL.ALL
 L1 instruction cache misses per
 Information in icache Measurement Reports
Icache Measurement Report Metrics
 Itlb Measurement Report Description
Itlb Measurement Report Description
Function Details
How Instruction Cache Metrics Are Obtained
 BELOSTBWDUETOFE.ALL
Itlb Metrics Summed for Entire Run
ITLBMISSESFETCH.L1ITLB
ITLBMISSESFETCH.L2ITLB
 Mlitlbhpwaborts
L1ITLBINSERTSHPW L1IREADS
Flitlbmiss
Mlitlbmiss
 Information in itlb Measurement Reports
Itlb Measurement Report Metrics
Flitlbinserthpw
Cycles lost due to branch execution
 Itlb Soft Fill
How Instruction TLB Metrics Are Obtained
Column Description Itlb L2 Fill
Itlb HPW Fill
 Scgprof Measurement Report Description
Pmutrace Measurement Report Description
Scgprof Measurement Report Metrics Flat Profile
 Is profiled otherwise blank
Scgprof Measurement Report Metrics Call Graph Profile
Scgprof Measurement Report Description
 Column Description
Information in scgprof Measurement Report Parent Listings
Information in scgprof Measurement Report Children Listings
Column Description Call Total
 Traps Measurement Report Description
 Traps Metrics Summed for Entire Run
 Cycles lost due to RSE stalls
Cycles lost due to pipeline-flush stalls
 Information in traps Measurement Reports
Traps Measurement Metrics
 How traps Metrics Are Obtained
 Include idle --exclude-idle False
Event Set Descriptions for CPU Metrics
Brpath Event Set
Metrics Available from this Measurement
 Brpred Event Set
Brpred Event Set
 Iprel
 C2c Event Set
C2c Event Set
 Cpi Event Set
 Cpi Event Set
Pred-Off
CPI
Mips
 Available only on Itanium 2 and dual-core Itanium 2 systems
Cpubus Event Set
 Cspec Event Set
Cspec Event Set
 Dispersal Event Set
 Dspec Event Set
Dspec Event Set
 Metrics Available from this Measurement
 FCVT.fx
Fp Event Set
 SIR
 L1dcache Event Set
L1dcache Event Set
 NON RSE Misses per Kinst
L1icache Event Set
 L1icache Event Set
 L2cache Event Set
 L2cache Event Set
 L2dcache Event Set
 L2icache Event Set
L2icache Event Set
 Metrics Available from this Measurement
 L3cache Event Set
L3cache Event Set
 Event Set Descriptions for CPU Metrics
 Metrics Available for Intel Itanium 9500 series systems
Memreq Event Set
Memreq Event Set
 Queues Event Set
 Queues Event Set
 Snoop Event Set
 Stall Event Set
Replay Event Set
 Include idle --exclude-idle False
 Sysbus Event Set
Sysbus Event Set
Metrics Available for Intel Itanium 9500 series systems
Dcache
 CPU
 Threadswitch Event Set
 Hint
 Stall MLD use or HPW miss or IBQ being empty
 Tlb Event Set
 Tlb Event Set
 Glossary
Glossary
 269
Set p
 EAR
 271
Measurement Configuration Files p
 TLB
 Index
Symbols
273
 Daemon processes measuring
CPU event names shortening, 94 CPU events
 275
Environment variables HP Caliper, 104 Error messages
 Sampled measurements performing
 277
Useparensforstatementdata constant