331 lines
8.9 KiB
HTML
331 lines
8.9 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>Add Trace Point (QYPEADDT, qypeAddTracePoint) 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>Add Trace Point (QYPEADDT, qypeAddTracePoint) 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="45%">Application identifier</td>
|
|
<td align="left" valign="top" width="15%">Input</td>
|
|
<td align="left" valign="top" width="30%">Char(20)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">2</td>
|
|
<td align="left" valign="top">Event subtype identifier</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(10)</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">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 Add Trace Point (OPM, QYPEADDT; ILE, qypeAddTracePoint) API is used to
|
|
record application-defined trace data.</p>
|
|
|
|
<p>If Performance Explorer (PEX) is running, this API generates a trace record
|
|
of the type specified in the event subtype identifier parameter. 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
|
|
trace data is written to the QMUDTA field in the QAYPEMIUSR file (see <a href=
|
|
"#USAGENOTES">Usage Notes</a>). The performance counters are written to
|
|
individual fields in the QAYPEMIUSR and QAYPETIDX files.</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>
|
|
</dd>
|
|
|
|
<dt><strong>Event subtype identifier</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(10)
|
|
|
|
<p>The Performance Explorer (PEX) event subtype to be used for the trace
|
|
record. Allowed values for this parameter are:</p>
|
|
<ul>
|
|
<li><em>*APPEVT1</em></li>
|
|
<li><em>*APPEVT2</em></li>
|
|
<li><em>*APPEVT3</em></li>
|
|
<li><em>*APPEVT4</em></li>
|
|
</ul>
|
|
|
|
<p>To configure PEX to collect data generated by this API, use the same event
|
|
subtype identifier on the application events (APPEVT) parameter of the Add PEX
|
|
Definition (ADDPEXDFN) command.</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 trace record. The data can be up to 3042
|
|
bytes long. This data is reported by PEX in the QAYPEMIUSR file.</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 3042.</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><a name="USAGENOTES"></a>Usage Notes</h3>
|
|
|
|
<p>Application-defined trace data is reported in the QMUDTA field of the
|
|
QAYPEMIUSR file.</p>
|
|
|
|
<p>The format of the QMUDTA field of the QAYPEMIUSR file is described
|
|
below.</p>
|
|
|
|
<p>The QMUDTA field has a common header. The following APIs use this
|
|
header:</p>
|
|
|
|
<ul>
|
|
<li><a href="qypestrt.htm">Start Transaction (QYPESTRT,
|
|
qypeStartTransaction)</a></li>
|
|
|
|
<li><a href="qypeendt.htm">End Transaction (QYPEENDT,
|
|
qypeEndTransaction)</a></li>
|
|
|
|
<li><a href="qypelogt.htm">Log Transaction (QYPELOGT,
|
|
qypeLogTransaction)</a></li>
|
|
|
|
<li><a href="#Top_Of_Page">Add Trace point (QYPEADDT,
|
|
qypeAddTracePoint)</a></li>
|
|
</ul>
|
|
|
|
<table border width="80%">
|
|
<tr>
|
|
<th align="center" valign="bottom" colspan="2">Offset</th>
|
|
<th align="left" valign="bottom" rowspan="2">Type</th>
|
|
<th align="left" valign="bottom" rowspan="2">Field</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th align="center" valign="bottom">Dec</th>
|
|
<th align="center" valign="bottom">Hex</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">0</td>
|
|
<td align="center" valign="top" width="10%">0</td>
|
|
<td align="left" valign="top" width="20%">CHAR(4)</td>
|
|
<td align="left" valign="top" width="60%">"API " eye catcher</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="left" valign="top">CHAR(20)</td>
|
|
<td align="left" valign="top">Application identifier</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">24</td>
|
|
<td align="center" valign="top">18</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Type of data:
|
|
|
|
<table>
|
|
<tr>
|
|
<td align="left" valign="top"><em>0</em></td>
|
|
<td align="left" valign="top">Generic trace point</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>1</em></td>
|
|
<td align="left" valign="top">Start of transaction</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>2</em></td>
|
|
<td align="left" valign="top">End of transaction</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>3</em></td>
|
|
<td align="left" valign="top">Log transaction</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>After the common header, the QMUDTA field has the following format for the
|
|
Add Trace Point API:</p>
|
|
|
|
<table border width="80%">
|
|
<tr>
|
|
<th align="center" valign="bottom" colspan="2">Offset</th>
|
|
<th align="left" valign="bottom" rowspan="2">Type</th>
|
|
<th align="left" valign="bottom" rowspan="2">Field</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th align="center" valign="bottom">Dec</th>
|
|
<th align="center" valign="bottom">Hex</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">25</td>
|
|
<td align="center" valign="top" width="10%">19</td>
|
|
<td align="left" valign="top" width="20%">CHAR(1)</td>
|
|
<td align="left" valign="top" width="60%">Reserved</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">26</td>
|
|
<td align="center" valign="top">1A</td>
|
|
<td align="left" valign="top">BINARY(4) UNSIGNED</td>
|
|
<td align="left" valign="top">Length of application trace data</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">30</td>
|
|
<td align="center" valign="top">1E</td>
|
|
<td align="left" valign="top">CHAR(*)</td>
|
|
<td align="left" valign="top">Application trace data</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
<h3>Error Messages</h3>
|
|
|
|
<table width="100%" cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<th align="left" valign="top">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>
|
|
</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>
|
|
|