Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
HP.com home

HP DCPI tool

» 

DCPI

Site information

» Send us your comments

Installation

» Download DCPI
» Installing DCPI

Product information

» Frequently asked questions
» Documentation
» Publications
customer times newsletter link

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.

EXAMPLE USAGE

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.

About PDF files: The PDF files on this site can be read online or printed using Adobe® Acrobat® Reader. If you do not have this software on your system, you may download it from Adobe's website.
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2008 Hewlett-Packard Development Company, L.P.