blob: cc5f4742d1295c8de0da73b4e2dd4c4d9bbad9af [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (16) -->
<title>TraceFile (OpenJ9 JDK 16)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: module: openj9.traceformat, package: com.ibm.jvm.trace, class: TraceFile">
<meta name="generator" content="javadoc/ClassWriterImpl">
<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="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar.top">
<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 16</strong></div></div>
<ul id="navbar.top.firstrow" class="nav-list" 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="nav-bar-cell1-rev">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>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<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="sub-nav-list">
<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>
<div class="nav-list-search"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip.navbar.top">
<!-- -->
</span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../module-summary.html">openj9.traceformat</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">com.ibm.jvm.trace</a></div>
<h1 title="Class TraceFile" class="title">Class TraceFile</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">java.lang.Object</a>
<div class="inheritance">com.ibm.jvm.trace.TraceFile</div>
</div>
<section class="description">
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">TraceFile</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a></span></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor.summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E()">TraceFile</a></span>()</code></div>
<div class="col-last even-row-color">
<div class="block">Create an empty TraceFile object to which TraceBuffers and a TraceFileHeader can
be added.</div>
</div>
<div class="col-constructor-name odd-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(java.lang.String)">TraceFile</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;traceFileNameURI)</code></div>
<div class="col-last odd-row-color">
<div class="block">Create a TraceFile object for a binary trace file.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method.summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addTraceBuffer(byte%5B%5D)">addTraceBuffer</a></span>&#8203;(byte[]&nbsp;traceBuffer)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Add a byte representation of a binary trace buffer to the current TraceFile.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addTraceFileHeader(byte%5B%5D)">addTraceFileHeader</a></span>&#8203;(byte[]&nbsp;traceFileHeader)</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Add a binary representation of a TraceFileHeader to the current TraceFile.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getGlobalChronologicalTracePointIterator()">getGlobalChronologicalTracePointIterator</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get a TracePoint Iterator for the current TraceFile.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="TraceFileHeader.html" title="interface in com.ibm.jvm.trace">TraceFileHeader</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getHeaderInfo()">getHeaderInfo</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get the object representation of the current TraceFile's TraceFileHeader</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="TracePoint.html" title="interface in com.ibm.jvm.trace">TracePoint</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getNextTracePoint()">getNextTracePoint</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get a tracepoint from the trace file.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="TraceThread.html" title="interface in com.ibm.jvm.trace">TraceThread</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getTraceThreads()">getTraceThreads</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get an array representing all of the traced threads in the current TraceFile.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.java.lang.Object">Methods declared in class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link" target="_blank">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link" target="_blank">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link" target="_blank">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link" target="_blank">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link" target="_blank">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link" target="_blank">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link" target="_blank">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link" target="_blank">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link" target="_blank">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link" target="_blank">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link" target="_blank">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor.detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(java.lang.String)">
<h3>TraceFile</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">TraceFile</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;traceFileNameURI)</span></div>
<div class="block">Create a TraceFile object for a binary trace file.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>traceFileNameURI</code> - a URI of the binary trace file to open and format.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>TraceFile</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">TraceFile</span>()</div>
<div class="block">Create an empty TraceFile object to which TraceBuffers and a TraceFileHeader can
be added.</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method.detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="addTraceBuffer(byte[])">
<h3>addTraceBuffer</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">addTraceBuffer</span>&#8203;<span class="parameters">(byte[]&nbsp;traceBuffer)</span>
throws <span class="exceptions">com.ibm.jvm.trace.InvalidTraceBufferException</span></div>
<div class="block">Add a byte representation of a binary trace buffer to the current TraceFile.</div>
<dl class="notes">
<dt>Parameters:</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>Returns:</dt>
<dd>true on success, false on failure to add the buffer to the current TraceFile.</dd>
<dt>Throws:</dt>
<dd><code>com.ibm.jvm.trace.InvalidTraceBufferException</code> - if the byte array does not contain a valid
binary trace buffer.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addTraceFileHeader(byte[])">
<h3>addTraceFileHeader</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">addTraceFileHeader</span>&#8203;<span class="parameters">(byte[]&nbsp;traceFileHeader)</span>
throws <span class="exceptions">com.ibm.jvm.trace.InvalidTraceFileHeaderException</span></div>
<div class="block">Add a binary representation of a TraceFileHeader to the current TraceFile.</div>
<dl class="notes">
<dt>Parameters:</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>Returns:</dt>
<dd>true if the header is added, false if a header has already been added.</dd>
<dt>Throws:</dt>
<dd><code>com.ibm.jvm.trace.InvalidTraceFileHeaderException</code> - if the byte array does not contain a valid
binary trace file header.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getHeaderInfo()">
<h3>getHeaderInfo</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="TraceFileHeader.html" title="interface in com.ibm.jvm.trace">TraceFileHeader</a></span>&nbsp;<span class="element-name">getHeaderInfo</span>()</div>
<div class="block">Get the object representation of the current TraceFile's TraceFileHeader</div>
<dl class="notes">
<dt>Returns:</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>
</section>
</li>
<li>
<section class="detail" id="getTraceThreads()">
<h3>getTraceThreads</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="TraceThread.html" title="interface in com.ibm.jvm.trace">TraceThread</a>[]</span>&nbsp;<span class="element-name">getTraceThreads</span>()</div>
<div class="block">Get an array representing all of the traced threads in the current TraceFile.</div>
<dl class="notes">
<dt>Returns:</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>
</section>
</li>
<li>
<section class="detail" id="getGlobalChronologicalTracePointIterator()">
<h3>getGlobalChronologicalTracePointIterator</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></span>&nbsp;<span class="element-name">getGlobalChronologicalTracePointIterator</span>()</div>
<div class="block">Get a TracePoint Iterator for the current TraceFile.</div>
<dl class="notes">
<dt>Returns:</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>
</section>
</li>
<li>
<section class="detail" id="getNextTracePoint()">
<h3>getNextTracePoint</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="TracePoint.html" title="interface in com.ibm.jvm.trace">TracePoint</a></span>&nbsp;<span class="element-name">getNextTracePoint</span>()</div>
<div class="block">Get a tracepoint from the trace file.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the next trace point for this file.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small><a href="https://www.eclipse.org/openj9/" target="_blank">Eclipse OpenJ9 website.</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, 2021, IBM Corp. and others.</small></p>
</footer>
</div>
</div>
</body>
</html>