As more and more distributed mission-critical business applications go into production, application and systems managers are demanding more information to tell them how their information technology (IT) system is performing. The ARM SDK is the first open tool kit that gives them this data.
Has your application stopped responding? Is the response time unacceptable? Are your service level objectives being met? Do you want to know where a transaction is spending its time? The ARM application program interface (API) gives you answers.
The ARM API gives you the application tools to measure, monitor, and take corrective action if performance levels are unacceptable.
Distributed architectures create new challenges for end-to-end management. Your IT management demands strategies that are designed specifically for the distributed environment. The ARM API gives you the capability to meet these challenges. It allows IT managers to build in manageability for end-to-end performance of their client/server applications in business transaction terms.
The ARM SDK contains the specification to the ARM API, including:
- Support for the multivendor environment, including OS/2, AIX, HP-UX, Sun Solaris, NCR MP-RAS, Windows NT and Windows 95
- Sample programs, written in C and C++, provided as examples of how to instrument applications
- Source code, provided to allow porting to other environments
- A sample logging agent to test the instrumentation of your application
The ARM SDK contains everything you need to prepare your applications for transaction monitoring. The default, no-operation (NULL) shared libraries, allows compilation of client/server applications without the need to install any of the ARM-compliant management tools. Your application developers can get started developing their applications right away. The source used to create the NULL libraries is included in the ARM SDK, so you can create a shared library for applications that exist on platforms currently not supported by ARM-compliant management tools.
As the momentum toward distributed architectures continues, the complexity in managing distributed environments increases. Client/server transactions can become very complex, transactions take different execution paths and spawn different sub-transactions, depending on the results of previous sub-transactions. Every permutation can take a different form as it goes across the communication link. This makes it difficult to reliably correlate network or server observations with what the user experiences. The measurement capabilities of ARM API solve that problem.
Monitoring the performance and the availability of distributed applications has proven to be extremely difficult. However, the need to accurately monitor your distributed systems has never been greater. The ARM API makes it easier by letting the application participate in the process. You can instrument key business transactions of the application code, using the following ARM API function calls:
- arm_init, names your application and initializes the ARM environment for the application
- arm_getid, names your transaction and returns a unique transaction identifier to be passed at arm_start
- arm_start, signals the start of a unique transaction and returns a unique identifier tag to be passed to arm_stop and to arm_update,
- arm_update, provides information about the progress of the transaction plus diagnostic or status info(optional)
- arm_stop, signals the end of the transaction
- arm_end, is called upon termination of the application
- application metric information carried in arm_start, arm-update, and arm_stop
- correlation information carried in arm_start
The ARM API meets the challenges of end-to-end application transaction measurement. Applications become management-ready with the ARM API. IT managers can immediately track performance and improve productivity. You know what your application is doing anytime it is running and be able to correlate application performance with other IT performance metrics. This enables you to ensure your business transactions are running efficiently at all times. You also know:
- If your application is running and what level of response time your users are experiencing
- Who is using the application and how often
- Where you need to tune your IT systems to improve your application performance
- Where bottlenecks appear during application execution
- Where the transaction spending its time
The ARM SDK is an open systems management initiative, facilitated by the HP Open View Program and Tivoli Systems Incorporated.
The ARM SDK is available immediately at no charge from the CMG Web site:
http://www.cmg.org
Further information can be obtained by calling the following toll free numbers:
HP 1-800-237-3990
Hewlett-Packard Company
HP OpenView Program Resource and Performance Management Marketing
8000 Foothills Blvd.
Roseville, CA 95747-5731 USATivoli Systems 1-800-9-TIVOLI
9442 Capital of Texas Hwy. N.
Plaza One, Suite 500
Austin, TX 78759 USA
IBM, AIX, OS/2 are trademarks of International Business Machines Corporation
Tivoli is a trademark of Tivoli Systems Incorporated
Windows NT and Windows 95 are trademarks of Microsoft Corporation
HP is a trademark of Hewlett-Packard Company, SUN Solaris is a trademark of SUN Microsystems Incorporated; NCR is a trademark of NCR Corporation; C++ is a trademark of American Telephone and Telegraph Company Incorporated.
Other company, product, and service names may be trademarks of others.