Previous section.
Systems Management: Application Response Measurement (ARM) API
Copyright © 1998 The Open Group
Instrumenting an Application
Basic Tasks
There are three basic tasks involved in instrumenting an application
with the ARM API.
-
Define the key business transactions. This is the most important step.
Each application developer needs to define who needs what kind of
data, and what the data will be used for. It is common and useful for
this process to be a joint collaboration between the users and
developers of an application, and system and network administrators.
There are two kinds of transactions that will generally provide the
greatest benefit if they are instrumented. The following procedure is
suggested:
-
Start with transactions that are visible to users or that represent
major business operations. These are the building blocks for service
level agreements, for workload monitoring, and for early problem
detection.
-
Next, focus on transactions that are dependent on external services,
such as a database operation, a Remote Procedure Call (RPC), or a
remote queue operation. These generally are components of a
user/business transaction. Knowing how these types of transactions are
performing can be invaluable when analyzing problems, tuning
applications, and reconfiguring systems and networks.
-
Modify the application to include calls to the ARM API1.
The key
activity here is to decide where to place calls to the ARM API, by
carefully defining the start and end of key business transactions.
-
Install an ARM-compliant agent and associated management
applications2.
The distributed applications can then be monitored.
What to Instrument
The Application Response Measurement API is designed to instrument a
unit of work, such as a business transaction, that is sensitive to
performance time. These transactions should be something that needs to
be measured, monitored, and for which corrective action can be taken
if the performance is determined to be too slow.
This API is not designed to be a programmer profiling tool. The
measurement agents using data generated by this API are designed to
give application/system managers data to understand how their
environment is performing, and whether all services are available.
For information on measurement agents that do transaction monitoring,
refer to the CMG web site at http://www.cmg.org/regions/cmgarmw/.
Links may be found on this site to commercially available measurement
agent solutions.
Some questions you may want to ask yourself when instrumenting a
transaction are:
-
What unit of work does this transaction define?
-
Are the transaction counts and/or response times important?
-
Who will use this information?
-
If performance of this transaction is too slow, is there some
corrective action that can take place (for example, offload work from
the machine, add memory, relocate remote files, etc.)?
Footnotes
- 1.
- The NULL libraries and logging agent which are available
in the ARM SDK (see
The ARM Software Developers Kit (SDK)
)
can be used for initial testing.
- 2.
- If the NULL libraries or logging agent of the ARM SDK were used
for testing, then they would be replaced by these ARM-compliant
agent and associated management applications.
Why not acquire a nicely bound hard copy?
Click here to return to the publication details or order a copy
of this publication.