blob: 82ebdbbc39e67eeabcb056147f6f0907058fb693 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>TraceFile (OpenJ9 JDK 11)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="keywords" content="com.ibm.jvm.trace.TraceFile class">
<meta name="keywords" content="addTraceBuffer()">
<meta name="keywords" content="addTraceFileHeader()">
<meta name="keywords" content="getHeaderInfo()">
<meta name="keywords" content="getTraceThreads()">
<meta name="keywords" content="getGlobalChronologicalTracePointIterator()">
<meta name="keywords" content="getNextTracePoint()">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="TraceFile (OpenJ9 JDK 11)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TraceFile.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 11</strong></div></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="moduleLabelInType">Module</span>&nbsp;<a href="../../../../module-summary.html">openj9.traceformat</a></div>
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.ibm.jvm.trace</a></div>
<h2 title="Class TraceFile" class="title">Class TraceFile</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" target="_blank" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.ibm.jvm.trace.TraceFile</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">TraceFile</span>
extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" target="_blank" title="class or interface in java.lang" class="externalLink">Object</a></pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">TraceFile</a></span>()</code></th>
<td class="colLast">
<div class="block">Create an empty TraceFile object to which TraceBuffers and a TraceFileHeader can
be added.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String)">TraceFile</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" target="_blank" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;traceFileNameURI)</code></th>
<td class="colLast">
<div class="block">Create a TraceFile object for a binary trace file.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addTraceBuffer(byte%5B%5D)">addTraceBuffer</a></span>&#8203;(byte[]&nbsp;traceBuffer)</code></th>
<td class="colLast">
<div class="block">Add a byte representation of a binary trace buffer to the current TraceFile.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addTraceFileHeader(byte%5B%5D)">addTraceFileHeader</a></span>&#8203;(byte[]&nbsp;traceFileHeader)</code></th>
<td class="colLast">
<div class="block">Add a binary representation of a TraceFileHeader to the current TraceFile.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" target="_blank" title="class or interface in java.util" class="externalLink">Iterator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getGlobalChronologicalTracePointIterator()">getGlobalChronologicalTracePointIterator</a></span>()</code></th>
<td class="colLast">
<div class="block">Get a TracePoint Iterator for the current TraceFile.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="TraceFileHeader.html" title="interface in com.ibm.jvm.trace">TraceFileHeader</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getHeaderInfo()">getHeaderInfo</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the object representation of the current TraceFile's TraceFileHeader</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="TracePoint.html" title="interface in com.ibm.jvm.trace">TracePoint</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getNextTracePoint()">getNextTracePoint</a></span>()</code></th>
<td class="colLast">
<div class="block">Get a tracepoint from the trace file.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="TraceThread.html" title="interface in com.ibm.jvm.trace">TraceThread</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTraceThreads()">getTraceThreads</a></span>()</code></th>
<td class="colLast">
<div class="block">Get an array representing all of the traced threads in the current TraceFile.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods declared in class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" target="_blank" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TraceFile</h4>
<pre>public&nbsp;TraceFile&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" target="_blank" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;traceFileNameURI)</pre>
<div class="block">Create a TraceFile object for a binary trace file.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>traceFileNameURI</code> - a URI of the binary trace file to open and format.</dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TraceFile</h4>
<pre>public&nbsp;TraceFile()</pre>
<div class="block">Create an empty TraceFile object to which TraceBuffers and a TraceFileHeader can
be added.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="addTraceBuffer(byte[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addTraceBuffer</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;addTraceBuffer&#8203;(byte[]&nbsp;traceBuffer)
throws com.ibm.jvm.trace.InvalidTraceBufferException</pre>
<div class="block">Add a byte representation of a binary trace buffer to the current TraceFile.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>traceBuffer</code> - an array of bytes containing the traceBuffer to be added.
The traceBuffer must have the precise length of the complete traceBuffer, and
the traceBuffer must be exactly as generated by the trace engine of an IBM Java
VM. The byte array must not contain any padding.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true on success, false on failure to add the buffer to the current TraceFile.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>com.ibm.jvm.trace.InvalidTraceBufferException</code> - if the byte array does not contain a valid
binary trace buffer.</dd>
</dl>
</li>
</ul>
<a id="addTraceFileHeader(byte[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addTraceFileHeader</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;addTraceFileHeader&#8203;(byte[]&nbsp;traceFileHeader)
throws com.ibm.jvm.trace.InvalidTraceFileHeaderException</pre>
<div class="block">Add a binary representation of a TraceFileHeader to the current TraceFile.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>traceFileHeader</code> - a byte array containing precisely a TraceFileHeader as
generated by the IBM Java VM trace engine. The byte array must not contain
any padding.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the header is added, false if a header has already been added.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>com.ibm.jvm.trace.InvalidTraceFileHeaderException</code> - if the byte array does not contain a valid
binary trace file header.</dd>
</dl>
</li>
</ul>
<a id="getHeaderInfo()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHeaderInfo</h4>
<pre class="methodSignature">public&nbsp;<a href="TraceFileHeader.html" title="interface in com.ibm.jvm.trace">TraceFileHeader</a>&nbsp;getHeaderInfo()</pre>
<div class="block">Get the object representation of the current TraceFile's TraceFileHeader</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a TraceFileHeader object representing the current TraceFile's TraceFileHeader,
or null if the current TraceFile does not contain a valid TraceFileHeader.</dd>
</dl>
</li>
</ul>
<a id="getTraceThreads()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTraceThreads</h4>
<pre class="methodSignature">public&nbsp;<a href="TraceThread.html" title="interface in com.ibm.jvm.trace">TraceThread</a>[]&nbsp;getTraceThreads()</pre>
<div class="block">Get an array representing all of the traced threads in the current TraceFile.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array of TraceThread objects, containing one TraceThread object per
thread found in the current TraceFile, or null if the current TraceFile does
not contain any traced threads.</dd>
</dl>
</li>
</ul>
<a id="getGlobalChronologicalTracePointIterator()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGlobalChronologicalTracePointIterator</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" target="_blank" title="class or interface in java.util" class="externalLink">Iterator</a>&nbsp;getGlobalChronologicalTracePointIterator()</pre>
<div class="block">Get a TracePoint Iterator for the current TraceFile.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an Iterator that can be used to walk every TracePoint in the current
TraceFile in chronological order. The iterator can be used a single time only,
since it consumes the data as it walks it. Requesting an Iterator for a
consumed TraceFile with return an empty Iterator. An empty Iterator will also
be returned in cases where the current TraceFile does not contain any TracePoints.</dd>
</dl>
</li>
</ul>
<a id="getNextTracePoint()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getNextTracePoint</h4>
<pre class="methodSignature">public&nbsp;<a href="TracePoint.html" title="interface in com.ibm.jvm.trace">TracePoint</a>&nbsp;getNextTracePoint()</pre>
<div class="block">Get a tracepoint from the trace file.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the next trace point for this file.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TraceFile.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 11</strong></div></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small><a href="https://www.eclipse.org/openj9/" target="_blank">Eclipse OpenJ9 documentation.</a><br> To raise a bug report or suggest an improvement create an <a href="https://github.com/eclipse/openj9/issues" target="_blank">Eclipse Openj9 issue.</a><br> Copyright &copy; 1998, 2020, IBM Corp. and others.</small></p>
</footer>
</body>
</html>