305 lines
10 KiB
HTML
305 lines
10 KiB
HTML
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
|
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
|
||
|
<title>End Transaction (QYPEENDT, qypeEndTransaction) API</title>
|
||
|
<!-- Begin Header Records ========================================== -->
|
||
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
||
|
<!-- US Government Users Restricted Rights -->
|
||
|
<!-- Use, duplication or disclosure restricted by -->
|
||
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
||
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
||
|
<!-- Change History: -->
|
||
|
<!-- YYMMDD USERID Change description -->
|
||
|
<!-- Created for V5R2 -->
|
||
|
<!-- End Header Records -->
|
||
|
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
|
||
|
</head>
|
||
|
<body>
|
||
|
<a name="Top_Of_Page"></a>
|
||
|
<!-- Java sync-link -->
|
||
|
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
|
||
|
</script>
|
||
|
|
||
|
<h2>End Transaction (QYPEENDT, qypeEndTransaction) API</h2>
|
||
|
|
||
|
<div class="box" style="width: 80%;">
|
||
|
<br>
|
||
|
Required Parameter Group:<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
<table width="100%">
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top" width="10%">1</td>
|
||
|
<td align="left" valign="top" width="50%">Application identifier</td>
|
||
|
<td align="left" valign="top" width="15%">Input</td>
|
||
|
<td align="left" valign="top" width="25%">Char(20)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">2</td>
|
||
|
<td align="left" valign="top">Transaction identifier</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Binary(4) Unsigned</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">3</td>
|
||
|
<td align="left" valign="top">Application trace data</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Char(*)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">Length of application trace data</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Binary(4) Unsigned</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">5</td>
|
||
|
<td align="left" valign="top">Transaction start time</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Char(8)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">6</td>
|
||
|
<td align="left" valign="top">Application performance counters</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Char(*)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">7</td>
|
||
|
<td align="left" valign="top">Length of application performance counters</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Binary(4) Unsigned</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="left" valign="top">Error code</td>
|
||
|
<td align="left" valign="top">I/O</td>
|
||
|
<td align="left" valign="top">Char(*)</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
Service Program Name: QYPESVPG<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
Default Public Authority: *USE<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
Threadsafe: Yes<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
</div>
|
||
|
|
||
|
<p>The End Transaction (OPM, QYPEENDT; ILE, qypeEndTransaction) API is used
|
||
|
together with the <a href="qypestrt.htm">Start Transaction</a> (QYPESTRT,
|
||
|
qypeStartTransaction) API and the <a href="qypelogt.htm">Log Transaction</a>
|
||
|
(QYPELOGT, qypeLogTransaction) API to collect performance data for user-defined
|
||
|
transactions. The End Transaction API is called by an application at the end of
|
||
|
a user-defined transaction.</p>
|
||
|
|
||
|
<p>This API can be used to provide both trace type of performance data -
|
||
|
collected by Performance Explorer (PEX) - and interval type of performance data
|
||
|
- collected by Collection Services.</p>
|
||
|
|
||
|
<p>If the Performance Explorer (PEX) is running, this API generates an end of
|
||
|
transaction trace record. In addition to the data supplied by the application
|
||
|
in the application trace data parameter, PEX will capture the current values of
|
||
|
performance counters associated with the current thread such as CPU time used,
|
||
|
I/O activity and seize/lock activity. After the End Performance Explorer
|
||
|
(ENDPEX) command is run, the application-supplied data
|
||
|
for this record is written to the QMUDTA field in the QAYPEMIUSR file. The
|
||
|
performance counters are written to individual fields in the QAYPEMIUSR and
|
||
|
QAYPETIDX files.</p>
|
||
|
|
||
|
<p>If Collection Services is collecting data for the user-defined transaction
|
||
|
(*USRTNS) category, this API will save transaction performance data for the
|
||
|
current transaction. This data includes transaction response time as well as
|
||
|
optional performance counters provided by the application in the application
|
||
|
performance counters parameter.</p>
|
||
|
|
||
|
<p>See <a href="qypestrt.htm#USAGENOTES">Usage Notes</a> for the Start
|
||
|
Transaction (QYPESTRT, qypeStartTransaction) API for more information.</p>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3>Authorities and Locks</h3>
|
||
|
|
||
|
<dl>
|
||
|
<dt><em>API Public Authority</em></dt>
|
||
|
|
||
|
<dd>*USE</dd>
|
||
|
</dl>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3>Required Parameter Group</h3>
|
||
|
|
||
|
<dl>
|
||
|
<dt><strong>Application identifier</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(20)
|
||
|
|
||
|
<p>The name of the application. Given that many applications could use this
|
||
|
API, the name should be chosen so that it is unique. Application identifiers
|
||
|
starting with "QIBM_Qccc_", where ccc is a component identifier, are reserved
|
||
|
for IBM use.</p>
|
||
|
|
||
|
<p>The application identifier is used as the transaction type by Collection
|
||
|
Services. The application identifier should be chosen carefully, because
|
||
|
Collection Services will only report information about the first 15 unique
|
||
|
transaction types for every job which uses user-defined transaction APIs. All
|
||
|
other transaction types for each job will be combined in a single type
|
||
|
*OTHER.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Transaction identifier</strong></dt>
|
||
|
|
||
|
<dd>INPUT; BINARY(4) UNSIGNED
|
||
|
|
||
|
<p>Any sort of unique transaction identifier, such as a sequential number. In
|
||
|
order to collect meaningful data, the identifier passed to the End Transaction
|
||
|
API should be the same as the identifier used in the call to the Start
|
||
|
Transaction API for the same transaction.</p>
|
||
|
|
||
|
<p>The transaction identifier is not used by Collection Services.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Application trace data</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(*)
|
||
|
|
||
|
<p>Application-defined trace data to be saved by PEX. This can be any data that
|
||
|
the user wants to associate with this transaction - for example, the user ID of
|
||
|
the client performing the transaction, the name of the file being updated by
|
||
|
the transaction, or the account ID being accessed by the transaction. The data
|
||
|
can be up to 3032 bytes long. This data is reported by PEX in the QAYPEMIUSR
|
||
|
file. Application trace data is not processed by Collection Services.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Length of application trace data</strong></dt>
|
||
|
|
||
|
<dd>INPUT; BINARY(4) UNSIGNED
|
||
|
|
||
|
<p>The length (in bytes) of application-defined trace data to be saved by PEX.
|
||
|
The value must be between 0 and 3032.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Transaction start time</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(8)
|
||
|
|
||
|
<p>The time (in MI timestamp format) that the transaction started. The user
|
||
|
should provide the transaction start time that was previously returned from the
|
||
|
call to the corresponding Start Transaction API. If a null pointer is passed
|
||
|
for this parameter, Collection Services will ignore this request. Transaction
|
||
|
start time is not used by PEX.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Application performance counters</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(*)
|
||
|
|
||
|
<p>Application-provided counter data to be collected by Collection Services.
|
||
|
The application can define from 0 to 16 BINARY(8) UNSIGNED counters that
|
||
|
Collection Services will collect. These counters may contain any kind of
|
||
|
information the application wants to associate with this transaction; for exampel,
|
||
|
the number of SQL statements processed to serve the transaction, the number of
|
||
|
pages printed for the transaction, and so on. The user should reset these counters
|
||
|
just before calling the Start Transaction API and provide these counters when
|
||
|
calling the corresponding End Transaction API. If the application trace data is
|
||
|
suitably organized - if it is a sequence of BINARY(8) UNSIGNED counters - the
|
||
|
application performance counters parameter can be a subset of the application
|
||
|
trace data parameter .</p>
|
||
|
|
||
|
<p>Application performance counters are not processed by PEX.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Length of application performance counters</strong></dt>
|
||
|
|
||
|
<dd>INPUT; BINARY(4) UNSIGNED
|
||
|
|
||
|
<p>The length (in bytes) of the application-provided counter data to be
|
||
|
collected by Collection Services. This length can range from 0 (no counters) to
|
||
|
128 (16 BINARY(8) UNSIGNED counters) and must be a multiple of 8.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Error code</strong></dt>
|
||
|
|
||
|
<dd>I/O; CHAR(*)
|
||
|
|
||
|
<p>The structure in which to return error information. For the format of the
|
||
|
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>.</p>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3>Usage Notes</h3>
|
||
|
|
||
|
<p>For the description of how Performance Explorer (PEX) and Collection
|
||
|
Services save and report performance data for this API, see <a href=
|
||
|
"qypestrt.htm#USAGENOTES">Usage Notes</a> for the Start Transaction API.</p>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3>Error Messages</h3>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<th align="left" valign="top" nowrap>Message ID</th>
|
||
|
<th align="left" valign="top">Error Message Text</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF3C36 E</td>
|
||
|
<td align="left" valign="top">Number of parameters, &1, entered
|
||
|
for this API was not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF3C3C E</td>
|
||
|
<td align="left" valign="top">Value for parameter &1 is not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF3CF2 E</td>
|
||
|
<td align="left" valign="top">Error(s) occurred during running of &1
|
||
|
API.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<hr>
|
||
|
API introduced: V5R2
|
||
|
|
||
|
<hr>
|
||
|
<center>
|
||
|
<table cellpadding="2" cellspacing="2">
|
||
|
<tr align="center">
|
||
|
<td valign="middle" align="center"><a href="qypscsca.htm">Top</a> | <a href=
|
||
|
"perfmgmt.htm">Performance Management APIs</a> | <a href="aplist.htm">APIs by
|
||
|
category</a></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</center>
|
||
|
</body>
|
||
|
</html>
|
||
|
|