Getting Performance Advice

$ caliper ecount myapp $ caliper fprof myapp $ caliper advise

collect and save initial data; generate advice on collected data and possible next steps

Specifying cpu Event Sets

(for cpu measurement; not available on Linux)

-m overview

broad overview of CPU (includes

 

event sets: cpi, stall,

 

dispersal, l1icache,

-m overview:kernel

l1dcache, l2cache, tlb, fp)

restrict overview to execution in

 

-m brpath

kernel space

branch types, path distributions,

-m brpred

branches per instructions, …

branch prediction effectiveness

-m c2c

cache coherence activity

-m cpi

cycles per instruction

-m cpubus

central electronics complex

-m cspec

(CEC) traffic and CPU interaction

control speculation effectiveness

-m dispersal

parallelism at instruction

-m dspec

dispersal

data speculation effectiveness

-m fp

floating-point operation density,

 

execution rate, and flush/trap

-m l1dcache

events density

L1 data cache miss rates

-m l1icache

L1 instruction cache miss and

-m l2cache

prefetch information

L2 unified cache miss rates

-m l2dcache

L2 data cache miss rates

-m l2icache

(dual-core Itanium 2 only)

L2 instruction cache miss rates

-m l3cache

(dual-core Itanium 2 only)

L3 unified cache miss rates

-m queues

bus request queue information

-m replay

cycles lost due to instruction

 

replays (Intel® Itanium® 9500

-m stall

processors only)

CPU performance limiters

-m sysbus

system bus utilization

-m threadswitch

impact of HyperThreading

-m tlb

(dual-core Itanium 2 only)

translation lookaside buffer

 

(TLB) misses

Specifying CPU Event Privilege Levels

(--scope process, the default, assumed)

-m CPU_CYCLES:user

count CPU_CYCLES events

-m CC:k

that occur in user space

count CPU_CYCLES that occur

-m cpi:all

in kernel space

record CPI for both user and

 

kernel space (cpu

-s ,,CC:all

measurement)

sample on CPU_CYCLES in

 

both user and kernel space

--event-defaults kernel

--ev k

set default privilege level to

 

kernel for all events

Choosing CPU Events

(summed across run for ecount, fprof, pmu_trace, {di}cache, {di}tlb, branch)

-m

event

count event events

-m

event,event2,…

count multiple events

Controlling Amount of Data Reported

--summary-cutoff 2

--su 2

in Function Summary section,

 

only report functions responsible

--su 1,80

for 2 percent or more of data

only report functions responsible

 

 

for 1% or more of data; stop

 

reporting functions when the

--detail-cutoff 10

cumulative percentage is at 80%

 

--de 10

in Function Details section,

 

only report functions responsible

 

for 10 percent or more of data

--report-details none

-r none

do not include Function Details

-r all

section in report

show source statements and

 

disassembly in Function Details

--context-lines 1,3

--co 1,3

report 1 extra source line before

 

and after source lines with data;

 

report 3 extra instructions before/

--process-cutoff 5

after each instruction with data

 

--process-cut 5

in Process Summary section,

 

only report processes respon-

 

sible for >=5 percent of data

--db-save

save module information so

 

reports can be generated when

 

modules are not present

--dcache-data-profile causes the dcache

measurement to create a data summary report that reports global variables and process regions associated with dcache misses

--report-hotpathsWhen true, adds hot call paths section to call graph reports

Finding Source Files, Libraries, Executables

(for use in symbol, source, and disassembly reporting)

--module-search-path dir1:dir2 search for libraries and executables in dir1, then dir2

--module-s dir1:dir2

search dir1, dir2 (short form)

--source-path-map dir1:dir2

--soudir1:dir2 search for source files in dir1, then dir2

--sou /work,/net/work

replace /work with /net/work in source file paths when searching for source files

Selecting Measurement Duration

-esecs collect data for secs seconds (default: collect until all measured processes exit or SIGINT)

Reporting Threads

--threads all report per-thread data; (default) --threadssum-allno per- thread data --threads merge merges data for threads having

same thread starter function name

Specifying Location of Kernel

(for use in symbol and disassembly reporting)

--kernel-path /tmp/vmlinux

--k /tmp/vmlinux kernel path is /tmp/vmlinux (unzipped copy of Linux kernel)

Collecting Memory Usage Data

(for any measurement; not available on Linux) --memory-usage begin:end

--mem b:e

measure at start and end of run

measure at start/end (short form)

--mem timed:10s

measure every 10 seconds

--mem

timed:1m

measure every minute

--mem

all

measure once a second and at

start and end of run

Specifying HP Caliper Options in a Text File

-foptionsFile read HP Caliper options from the text file called optionsFile

Page 2
Image 2
HP UX Developer Tools manual Getting Performance Advice, Specifying cpu Event Sets, Specifying CPU Event Privilege Levels