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