Software Product Description ________________________________________________________________ PRODUCT NAME: VAX Performance and Coverage Analyzer, SPD 26.76.06 Version 3.0 DESCRIPTION The VAX Performance and Coverage Analyzer is a tool to help VMS users analyze the execution behavior of their applications programs. The VAX Performance and Coverage Analyzer has two functions. First, it can pinpoint execution bottlenecks and other performance problems in applications programs. Second, it provides test coverage analysis by measuring what parts of a user program are executed or not executed by a given set of test data. The VAX Performance and Coverage Analyzer supports the DECwin- dows software environment and provides either a DECwindows or a command line user interface. The VAX Performance and Coverage Analyzer is included in the VAXset Software Engineering Tools Package. This package provides simplified ordering and maintenance of various tools. Refer to the VAXset Software Engineering Tools Package Software Product Description (SPD 27.07.xx) for more information on VAXset. The VAX Performance and Coverage Analyzer is an aid in tuning the performance and testing of applications programs. It is not a tool for the analysis of operating system performance or for use as an aid in hardware resource planning. The VAX Performance and Coverage Analyzer consists of two parts: the Collector which gathers performance or test coverage data on the running user program and the Analyzer which later processes and displays the collected data. The Collector gathers the performance data and writes that information to a data file. Once the data has been collected into a data file, the Analyzer DIGITAL September 1990 AE-EB60H-TE VAX Performance and Coverage Analyzer, SPD 26.76.06 can be run using that data file as input. The Analyzer is a separate program which reads the data file produced by the Collector and presents the results as performance histograms or other displays. Both the Collector and the Analyzer are fully symbolic and use the Debug Symbol Table (DST) information in the user program to access the symbolic names of program locations. Applications written in any of the VMS languages which produce DST infor- mation can be analyzed using the VAX Performance and Coverage Analyzer. For a list of these languages, refer to the OPTIONAL SOFTWARE section of this SPD. The VAX Performance and Coverage Analyzer can gather and report the following types of performance data: o Ada multi-tasking data - Various kinds of multi-tasking data can be gathered to determine which tasks consume the most resources. o PC sampling data - The PC (Program Counter) of the user pro- gram can be sampled to determine what parts of the user pro- gram take the most wall-clock time during program execution. o CPU sampling data - The PC of the user program can be sampled to determine what parts of the user program take the most CPU time during program execution. o Execution counts - The Collector allows execution counters to be set on specified individual program locations or on classes of locations such as the beginning of every routine or on every line of a given routine. o Test coverage - The Collector can determine which lines or code paths of a program are executed for a specific set of test data and which are not. 2 VAX Performance and Coverage Analyzer, SPD 26.76.06 o Event markers - When collecting performance data, the user may wish to mark significant events in the execution of the program to permit later filtering of the data. For exam- ple, an event may be entering a routine in the application program. o Page fault data - Information can be collected each time a page fault occurs. o System service counts - The Collector can determine the number of times a user program calls each system service for analysis of event-driven or real-time applications. o Input/Output statistics - Data on a program's input and output characteristics can be collected. o Vector PC sampling data - Can determine the scalar/vector parallelism throughout the entire application program using the wall-clock time during program execution. o Vector CPU sampling data - Can determine the scalar/vector parallelism throughout the entire application program using the process-clock time during program execution. o Vector Execution counts - Allows vector instruction counting to be set in specified individual program locations or for classes of locations, such as the beginning of every routine or for every line of a given routine. The following information describes how the Collector and Ana- lyzer are used: At Compile-Time To enable performance analysis of application programs, the /DEBUG switch must be specified in the compiler command line. This switch specifies that the compiler should generate DST records and place that information in the object file created by the compiler. At Link-Time 3 VAX Performance and Coverage Analyzer, SPD 26.76.06 When linking the application which will be run under control of the Collector phase of the VAX Performance and Coverage Analyzer, /DEBUG=SYS$LIBRARY:PCA$OBJ.OBJ must be specified as a qualifier to the LINK command. At Run-Time The Collector is invoked when the user program is run. The user may specify the data collection options and then specify GO to run the program. The Collector gathers the requested performance and coverage data as the program runs to completion. To Analyze The Data The Analyzer is an image which must be invoked independent of the Collector. The Analyzer uses the data file which the Col- lector has gathered to produce histograms and tabular displays of the data. The Analyzer can be used interactively to view the same performance data in a variety of ways to quickly focus on specific performance problems. Program sources can be shown with the performance data in many displays. Windowing capabilities allow multiple displays to be viewed at the same time on some types of terminals. In addition, data from multiple collections can be merged and analyzed at the same time. Certain features of VAX Performance and Coverage Analyzer are not available when using language preprocessors such as those supplied for VAX Rdb/VMS and VAX DBMS. Please consult your local Digital representative for additional information. HARDWARE REQUIREMENTS VAX, MicroVAX, VAXstation or VAXserver configuration as speci- fied in the System Support Addendum (SSA 26.76.06-x). SOFTWARE REQUIREMENTS For systems using terminals: (No DECwindows interface) 4 VAX Performance and Coverage Analyzer, SPD 26.76.06 o VMS Operating System Note: VMS DECwindows Compute Server component must be installed to use the VAX Performance and Coverage Analyzer. For workstations running VWS: o VMS Operating System o VMS Workstation Software For workstations running DECwindows: o VMS Operating System (and necessary components of VMS DECwin- dows) Refer to the System Support Addendum (SSA 26.76.06-x) for avail- ability and required versions of prerequisite software and for information regarding components of VMS DECwindows. ORDERING INFORMATION Software Licenses: QL-119A*-** Software Media: QA-119A*-** Software Documentation: QA-119AA-GZ Software Product Services: QT-119A*-** * Denotes variant fields. For additional information on avail- able licenses, services and media, refer to the appropriate price book. LICENSE MANAGEMENT FACILITY SUPPORT This layered product supports the VMS License Management Facil- ity. License units for this product are allocated on a CPU-capacity basis. 5 VAX Performance and Coverage Analyzer, SPD 26.76.06 For more information on the License Management Facility, refer to the VMS Operating System Software Product Description (SPD 25.01.xx) or the License Management Facility manual of the VMS Operating System documentation set. SOFTWARE LICENSING This software is furnished under the licensing provisions of Digital Equipment Corporation's Standard Terms and Conditions. For more information about Digital's licensing terms and poli- cies, contact your local Digital office. SOFTWARE PRODUCT SERVICES A variety of service options are available from Digital. For more information, contact your local Digital office. SOFTWARE WARRANTY Warranty for this software product is provided by Digital with the purchase of a license for the product as defined in the Software Warranty Addendum of this SPD. [TM] The DIGITAL Logo, VMS, VAX, MicroVAX, VAXstation, VAXserver, DECwindows and VAXset are trademarks of Digital EquipmentCorporation. 6