 |
» |
|
|
|
 |
 |
dcpi(1)
NAME
dcpi - Digital Continuous Profiling Infrastructure
DESCRIPTION
The HP Digital Continuous Profiling Infrastructure (DCPI) system consists
of a set of tools that provides low-overhead continuous profiling of all
executables, including
the kernel. It is based on periodic sampling using the Alpha performance counter
hardware. Profiles containing samples for each executable image (including
shared libraries) are
stored in a user-specified directory.
Tools are provided to analyze profiles and produce a breakdown of all cpu time by
image, and by procedure within images. In addition, detailed information can be produced
showing the time spent executing each instruction in a procedure and the reasons for
static and dynamic stalls.
For more information, see the HPContinuous
Profiling Infrastructure home page.
TOOLS
- dcpid
- Continuous profiling daemon. Extracts raw samples from kernel device driver, associates
them with executable images, and stores them in profiles on disk.
- dcpiprof
- Analyzes profile data collected by dcpid. Produces a breakdown of cpu time by image, or
by procedures within images.
- dcpilist
- List the contents of a procedure and annotate the listing with samples collected during
profiling via dcpid. The listing can contain either machine instructions, or source lines,
or both. The listing is annotated with the samples collected during profiling, as well as
the average number of cycles required to execute each instruction or source line.
- dcpicalc
- Annotates each instruction in a procedure's basic-block graph with the average number of
cycles for that instruction, and computes the overall average cycle-per-instruction for
that procedure.
- dcpiwhatcg
- Produces, for one or more images, a summary breakdown of where time has been spent
(percent of cycles spent in, e.g., memory delays, static stalls, branch mispredicts, and
useful execution).
- dcpitopstalls
- Produces a sorted list of the instructions accounting for the most stall cycles.
- dcpidiff
- Compares two sets of profiles for a procedure, highlighting basic blocks or source lines
with the largest differences.
- dcpisource
- Augments a basic-block graph generated by dcpicalc with source code.
- dcpicc
- Compiles C programs to produce object code that helps dcpisource in identifying which
source token each instruction corresponds to.
- dcpi2ps
- Formats a basic-block graph into Postscript.
- dcpi2pix
- Converts DCPI profile data to pixie format.
- dcpictl
- Controls the operation of dcpid. This subsumes dcpiepoch, dcpiflush, and dcpiquit (which
are still provided for backward compatibility). Adds functionality to tell the daemon
about specific images loaded into processes when necessary (e.g., when an image is loaded
via mmap).
- dcpiepoch
- Starts a new profiling epoch. All samples are associated with a time interval called an epoch.
The analysis tools typically operate on a set of profiles from a single epoch.
- dcpiflush
- Flushes all unsaved samples from dcpid to profiles on disk.
- dcpiquit
- Terminates the dcpid daemon, flushing all unsaved samples to disk.
- dcpiscan
- Scans filesystem directories to find executables and associate executables with
filesystem pathnames.
- dcpiversion
- Print the version string and creation date of the installed DIGITAL continuous profiling
release.
- dcpiuninstall
- Uninstalls DCPI binaries and man pages.
- dcpicat
- Prints the contents of one or more profile files in an ASCII format.
- dcpiflow
- Generates a basic-block graph for a procedure annotated with samples collected during
profiling via dcpid. The functionality of this program has been subsumed by dcpicalc.
- dcpidis
- Disassembles a procedure and annotates the disassembly with samples collected during
profiling via dcpid. This program is obsolete. Use dcpilist instead.
- dcpiscan directories > map.local
- Create an image map for site-specific executables and shared libraries in the specified
directories and their descendents. Although this step is technically optional, creating a
map of local executables will allow dcpid to more accurately identify binaries stored in
site-specific directories. Dcpiscan(1) should be executed once during system installation,
and need only be re-executed to scan other directories or newly-installed executables.
- mkdir db
- Make a directory to store profiles.
- net start dcpisrv
- Start the profiling daemon by typing this command or from the control panel.
- dcpiepoch or dcpiquit
- Terminate the current epoch, ensuring that profiles for that epoch are flushed to disk
and won't change.
- set DCPIDB = db
- Set an environment variable that tells the downstream tools where the profile database
is located.
- dcpiprof -i
- Use dcpiprof to analyze the breakdown of cpu time across all executables that ran during
the epoch.
- dcpiprof I
- Use dcpiprof to analyze the breakdown of cpu time across all procedures in the image
file I.
- dcpilist -asm P I
- Disassemble procedure P in the image file I, and annotate the disassembly
with samples extracted from the profile database and the average cycle time required for
executing each instruction.
- dcpilist -source P I
- Generate a source code listing of procedure P in the image file I, and
annotate the listing with samples extracted from the profile database, and the average
cycle time required for executing each source line.
- dcpicalc -db db P I | dcpisource -f I.c | dcpi2ps -o P.ps
-s 0.6
- Produce a basic-block graph for procedure P in image-file I; then augment
the graph with source lines from I.c, calculate the cycle per instruction for each
instruction, and store the resulting Postscript in P.ps.
INSTALLATION
Installation instructions are at the HPContinuous
Profiling Infrastructure home page.
SEE ALSO
dcpiflow(1), dcpiprof(1), dcpilist(1), dcpidis(1), dcpiscan(1), dcpid(1), dcpiepoch(1), dcpiflush(1), dcpicalc(1), dcpilabel(1), dcpi2ps(1), dcpicat(1), dcpiquit(1), dcpidiff(1), dcpitopstalls(1), dcpiwhatcg(1),
dcpictl(1), dcpiformat(4)
For more information, see the HPContinuous
Profiling Infrastructure project home page (http://www.unix.digital.com/dcpi).
COPYRIGHT
Copyright 1996-2004, Hewlett-Packard Development Company, L.P.
AUTHORS
Jennifer Anderson, Lance Berc, Jeff Dean, Sanjay Ghemawat, Monika Henzinger, Shun-Tak
Leung, Mitch Lichtenberg, Dick Sites, Mark Vandevoorde, Carl Waldspurger, Bill Weihl.
This page was generated automatically by mtex software.
|
|