\new;poff 8;text off;join off;justify off;head " ";subhead " " \sect "ASAPX T0403D40 01SEP98 Page " 1;center SOFTWARE RELEASE DOCUMENT Product Name: Compaq Availability, Stats And Performance Application Extension Product Number: T0403V01 Date: 15APR99 Copyright Notice: COPYRIGHT COMPAQ COMPUTER CORPORATION 1999. Summary: EAP Refresh release. Contains all bug fixes and enhancements as described below. Required Hardware: TNS/R Systems Required Firmware: None Required Software: NSK Release D42 or greater T0402 ASAP Server V01 or greater Manuals: ASAPX Manual Migration Considerations: None. \NEED ON Installation Considerations: 1) Insert the ASAPX CD into a CD-ROM drive on a Windows NT or Windows 95/98 workstation that can connect to the NSK system via TCP/IP. 2) Follow the README file instructions on the ASAPX CD to create the ASAPX ISV subvolume on each node where ASAPX will execute, or place the ISV onto a central node for distribution. 3) If you have previously run ASAPX. You MUST first do the following on each node where ASAPX resides before installing the new version: 1. Stop all applications using ASAPX. 2. Shutdown ASAP using the ASAP SHUTDOWN command. 3. Delete shared memory and the domain table using the ASAPX CLEANUP DOMAINS command. 4) Install ASAPX by running the INSTALL macro in the ISV subvolume. The INSTALL macro can distribute files to a local or remote system. 5) Configure ASAP to enable ASAPX. In the ASAPCONF file, include the SET APP ON command, being sure to define the locatation of the ASAPXCNF config file using the PARAM option if running multiple copies of ASAPX. 6) Start ASAP. Use EMS to verify that all components start successfully. ASAP START [\] 7) Change application source code to use the ASAPX API procedures. 8) Point your applications to the ASAPX procedure library, ASAPXLIB. This can be done using the ?library or ?search compiler directive, the LIB runtime parameter or by binding the library into your application object file. \NEED OFF; SPACE 2 \NEED ON New Features: 1) ASAPX is a new Application Extension that allows applications to cooperate with ASAP, OEM, OIL and open Enterprise Managers. 2) ASAPX now reads reserved names from an ISV file, ZASPXNAM. This provides the list of names not allowed by the ASAPX domain name parser, and is the set of ASAP/OEM/OIL/CM reserved names. Add a "SET NAMEFILE <$isv subvol>.ZASPXNAM" to the ASAPXCNF to convert from older versions of ASAPX. 3) Command function has been enhanced for the DELETE, INFO, LIST and REMOVE commands as follows: DELETE - domain names must be exact names or they can end in a wildcard (*) to indicate a group of domains. - ASAPX now displays the objective records that are deleted. INFO - if the metric id is not specified, then all metrics are assumed. - if metric and domain are not specified, then all are assumed. - domain names must be exact names or they can end in a wildcard (*) to indicate a group of domains. - the DETAIL parameter now returns an error. - an OBEYFORM parameter is now supported, causing ASAPX to output data in a format suitable for replay. - a total is now output for all records processed. LIST - domain names must be exact names or they can end in a wildcard (*) to indicate a group of domains. - domain numbers may now be used in commands. - the CPU number is now displayed in LIST output. - CPU is no longer a required parameter, when no CPU is specified the command is sent to all CPUs. - DATAITEM values are now displayed when using the DETAIL parameter. - a total is now output for each processor and a grand total is output when the command is sent to multiple processors. REMOVE - domain names must be exact names or they can end in a wildcard (*) to indicate a group of domains. - CPU is no longer a required parameter, when no CPU is specified the command is sent to all CPUs. - domain numbers may now be used in commands. - a total is now output for each processor and a grand total is output when the command is sent to multiple processors. 4) ASAPX has been enhanced so that it no longer terminates whenever it cannot find the ASAPCONF or ASAPXCNF files. It will execute without any pre-defined configuration. 5) A new command, ASAP, has been added to ASAPX. The ASAP command causes ASAPX to read an ASAPCONF configuration file to reset its configuration. The ASAP command also supports specification of the ASAP ID and ASAPXCNF files. 6) The ASAPX API procedures now handle all address and arithmetic overflow traps. For address violations they return an error to the caller. For overflow violations on application DATAITEMS ASAPX resets the DATAITEM to zero and returns a warning to the caller. 7) The ASAPXMON process has been protected from address and overflow TRAPS to prevent bogus application data in shared memory from causing problems. 8) An /OUT / option has been added to all ASAPX commands. 9) The DISABLE and ENABLE RANK commands have been changed to DEACTIVATE and ACTIVATE, respectively. The DISABLE STATS and ENABLE STATS commands remain unchanged. 10) ASAPX now supports mutiple calls to ASAP_REGISTER_ using the same domain name without an intervening call to ASAP_REMOVE_. ASAPX continues to assume the domain has failed and restarted and will log the time from its last DATAITEM update to its re-registration as downtime. The domain is allocated to the same domain number. 11) ASAPX now supports management of remote ASAPX subsystems via the ASAPX CI on a central node. The following commands now accept node names in the command: ACTIVATE, CLEANUP, COMMIT, DEACTIVATE, DISABLE STATS, ENABLE STATS, LIST, REMOVE and STATUS. 12) The SEG^OFFSET parameter to the ASAP_REGISTER_ procedure now returns a value of -1d if an error occurs during the registration. This is true in all cases except when the SEG^OFFSET pointer has not been initialized before calling ASAP_REGISTER_. Previously the value of SEG^OFFSET was undefined upon exit on error conditions. 13) ASAPX now supports a \ option on the OPEN command. If remote copies of ASAPX use a central configuration or if the non-central configurations of ASAPX place the Objectives table in the same location (for example, $SYSTEM.ZASAPX), then the OPEN \ form of the OPEN command can now be used to open and maintain the remote Objectives table. Example: ASAPX 1+ INFO/OUT OBJBKUP/ 2+ OPEN \REMOTE 3+ DELETE *,* 3+ OBEY OBJBKUP FCS-RC1 14) Added seconds to the LIST, DETAIL command's Last-Update_Time output for a domain. FCS-RC1 15) Removed the math restriction and strict syntax requirements for SET METRICS. The command has been changed in the following ways: a) The command is now SET METRIC (not plural.) b) The command now applies to only one metric, a separate command must be used to define each metric. c) An equal sign "=" is now required between the metric number and the formula. d) The formula can now be in complex algrebraic form. Standard precendence operators apply. 2) Formulas can contain multiplication, division, subtraction or addition. e) A metric definition formula can contain up to 40 discreet calculations. f) Constant values can now be included in formulas by preceding them with the letter "C". h) The +/- offset feature has been removed. You can accomplish the same result by multiplying or dividing by multiples of 10. SET METRIC Notation: # - use a DATAITEM. This is the difference between samples for non-constant DATAITEMs, and is the DATAITEM value for constant DATAITEMS. DATAITEMs in micro and milliseconds are converted to seconds automatically. C - a constant to be included in the formula. A 32-bit integer. S - use the number of seconds in the interval. The following are valid SET METRIC commands: SET METRIC 0 = #0 SET METRIC 0 = #0/S SET METRIC 0 = #0/(#0*#1) * C100 SET METRIC 0 = #0 + #1 + #2 + #3 + #4 + #5 + #6 SET METRIC 0 = ((#0 + #1 + #2) * (#3 + #4 + #5 + #6))/(#5/C12) FCS-RC1 16) ASAPX now provides a native Shared Runtime Library (SRL) version of the ASAPXLIB API. In this release the ASAPX API is delivered in three forms: ASAPXLIB - TNS procedure library. It is installed into the installation subvolume, usually $SYSTEM.SYSTEM. ASAPXSRL - A private SRL for use by native applications. It is installed into the installatoin subvolume, usually $SYSTEM.SYSTEM. ASAPXSRO - pTAL output that can be bound into an already existing private application SRL. Is is not installed by the ASAPX installer. It can be found in the ASAPX ISV. FCS-RC1 17) For testing and education purposes, the internal ASAPXTST program is now included as a part of ASAPX. ASAPXTST is a command interpreter that lets a user manually execute the ASAPX API procedures. To learn more about ASAPXTST, type H or HELP at any ASAPXTST prompt. NOTE: ASAPXTST is not automatically installed by the ASAPX installer. It can be found in the ASAPX ISV. To install it, do the following: 1. VOLUME $ 2. FUP DUP ASAPXTST, $, SOURCEDATE 3. FUP SECURE $.ASAPXTST, "NNNN" FCS-RC1 \NEED OFF; SPACE 2 \NEED ON Problems Corrected: 1) The blank domain name problem after rebuilding from memory is now corrected. The domain name was not being parsed correctly from the shared memory copy. No case. 2) The number available counter was periodically off by various amounts. It was corrected automatically when the blank domain name problem was fixed. No case. 3) ASAPXMON abended with a divide by zero error if either a high or low objective value was entered as 0, and Percent or Historical ranking was turned on. ASAPXMON now handles 0 value objectives correctly. No case. 4) If a domain restarted after a manual remove command was entered, but before the end of the statistics interval, the domain was removed at the end of the interval even though the domain was up and active. ASAPXMON now resets the removed required indicator at domain restart time. No case. 5) ASAPXMON failed to properly track domains that registered in multiple CPUs during a single interval when the registering process was not running at the end of the interval. This has now been corrected. Reported by Rabobank. 6) Changes in DATAITEM definitions were not noted by ASAPX during a restart if shared memory was not corrupted. The DATAITEM definitions have been relocated in memory to avoid mutex and checksum problems and ASAPX now refreshes them at each restart. Reported by Rabobank. 7) If the ASAPX configuration files were not available at startup ASAPX would abend and allow the SIO procedures to write an out-dated error message to the home terminal. This is now corrected, see the enhancements section above. Reported by Rabobank. 8) Total values for domains processed were not calculated correctly when the response spanned multiple buffers. This has now been corrected. No case. 9) The long real(64) number formatter lost precision after 15 digits. The formatting algorithm has been re-written to insure precision to appromimately 17 digits as specified in our documentation. No case. 10) The Unavailability metric was being incorrectly calculated for domains that were registering or restarting within an interval. Metric = (ET-DT)/ET has been changed to Metric = (ET-(ET-DT))/ET where ET = elapsed time and DT = sum of all downtime for the interval. No case. 11) ASAPX gave priority to low objective alerts over high objective alerts even though the alert level on the high objective was greater. ASAPX now returns the highest alert level for the metric, regardless of whether the alert was caused by a high or a low objective. No case. 12) ASAPX used low-level trap handling that was flawed in that certain traps caused a trap in the trap handler. ASAPX now handles traps in two ways. First, ASAPX always does a bounds check on the extended memory address (SEG^OFFSET), and will return an address trap error when the address is out of bounds. Second, ASAPX disables overflow traps in the ASAP_UPDATE_ and ASAP_UPDATELIST_ procedures. It performs all match and checks for overflow conditions afterward. If an overflow is detected, the dataitem value is reset to 0 and an overflow warning is returned to the caller. No case, FCS RC1. 13) Processes could not register into multiple ASAPX subsystems, and processes that allocated extended flat segments prior to calling ASAP_REGISTER_ could receive SEGMNENT_ALLOCATE_ error 15. Since the ASAPX API is in a library, context is not preserverd between calls to SEGMENT_ALLOCATE_ in the calling process and the call used by ASAP_REGISTER_. This could result in an attempt to reallocate the same 32mb address range. To correct this problem the ASAP_REGISTER_ procedure has been extended to include a new parameter called SEGMENT^BASE. If supplied, ASAP_REGISTER_ will use that address as the starting address range for the segment it allocates. No case, FCS RC1. 14) COMMIT processing was slow when there were many domains with very similar domain names. The COMMIT algorithm has been redesigned to reduce disk I/O in these cases. Reported by Rabobank, FCS RC1. \NEED OFF; SPACE 1 \NEED ON Known Problems Remaining: 1) none. \NEED OFF