CasperSecurity

Current Path : /usr/share/doc/nodejs/api/
Upload File :
Current File : //usr/share/doc/nodejs/api/tracing.html

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <meta name="nodejs.org:node-version" content="v12.22.9">
  <title>Trace events | Node.js v12.22.9 Documentation</title>
  <link rel="stylesheet" href="assets/style.css">
  <link rel="stylesheet" href="assets/hljs.css">
  <link rel="canonical" href="tracing.html">
</head>
<body class="alt apidoc" id="api-section-tracing">
  <div id="content" class="clearfix">
    <div id="column2" class="interior">
      <div id="intro" class="interior">
        <a href="/" title="Go back to the home page">
          Node.js
        </a>
      </div>
      <ul>
<li><a class="nav-documentation" href="documentation.html">About this documentation</a></li>
<li><a class="nav-synopsis" href="synopsis.html">Usage and example</a></li>
</ul>
<hr class="line"/>

<ul>
<li><a class="nav-assert" href="assert.html">Assertion testing</a></li>
<li><a class="nav-async_hooks" href="async_hooks.html">Async hooks</a></li>
<li><a class="nav-buffer" href="buffer.html">Buffer</a></li>
<li><a class="nav-addons" href="addons.html">C++ Addons</a></li>
<li><a class="nav-n-api" href="n-api.html">C/C++ Addons with N-API</a></li>
<li><a class="nav-embedding" href="embedding.html">C++ Embedder API</a></li>
<li><a class="nav-child_process" href="child_process.html">Child Processes</a></li>
<li><a class="nav-cluster" href="cluster.html">Cluster</a></li>
<li><a class="nav-cli" href="cli.html">Command line options</a></li>
<li><a class="nav-console" href="console.html">Console</a></li>
<li><a class="nav-crypto" href="crypto.html">Crypto</a></li>
<li><a class="nav-debugger" href="debugger.html">Debugger</a></li>
<li><a class="nav-deprecations" href="deprecations.html">Deprecated APIs</a></li>
<li><a class="nav-dns" href="dns.html">DNS</a></li>
<li><a class="nav-domain" href="domain.html">Domain</a></li>
<li><a class="nav-errors" href="errors.html">Errors</a></li>
<li><a class="nav-events" href="events.html">Events</a></li>
<li><a class="nav-fs" href="fs.html">File system</a></li>
<li><a class="nav-globals" href="globals.html">Globals</a></li>
<li><a class="nav-http" href="http.html">HTTP</a></li>
<li><a class="nav-http2" href="http2.html">HTTP/2</a></li>
<li><a class="nav-https" href="https.html">HTTPS</a></li>
<li><a class="nav-inspector" href="inspector.html">Inspector</a></li>
<li><a class="nav-intl" href="intl.html">Internationalization</a></li>
<li><a class="nav-modules" href="modules.html">Modules: CommonJS modules</a></li>
<li><a class="nav-esm" href="esm.html">Modules: ECMAScript modules</a></li>
<li><a class="nav-module" href="module.html">Modules: <code>module</code> API</a></li>
<li><a class="nav-packages" href="packages.html">Modules: Packages</a></li>
<li><a class="nav-net" href="net.html">Net</a></li>
<li><a class="nav-os" href="os.html">OS</a></li>
<li><a class="nav-path" href="path.html">Path</a></li>
<li><a class="nav-perf_hooks" href="perf_hooks.html">Performance hooks</a></li>
<li><a class="nav-policy" href="policy.html">Policies</a></li>
<li><a class="nav-process" href="process.html">Process</a></li>
<li><a class="nav-punycode" href="punycode.html">Punycode</a></li>
<li><a class="nav-querystring" href="querystring.html">Query strings</a></li>
<li><a class="nav-readline" href="readline.html">Readline</a></li>
<li><a class="nav-repl" href="repl.html">REPL</a></li>
<li><a class="nav-report" href="report.html">Report</a></li>
<li><a class="nav-stream" href="stream.html">Stream</a></li>
<li><a class="nav-string_decoder" href="string_decoder.html">String decoder</a></li>
<li><a class="nav-timers" href="timers.html">Timers</a></li>
<li><a class="nav-tls" href="tls.html">TLS/SSL</a></li>
<li><a class="nav-tracing active" href="tracing.html">Trace events</a></li>
<li><a class="nav-tty" href="tty.html">TTY</a></li>
<li><a class="nav-dgram" href="dgram.html">UDP/datagram</a></li>
<li><a class="nav-url" href="url.html">URL</a></li>
<li><a class="nav-util" href="util.html">Utilities</a></li>
<li><a class="nav-v8" href="v8.html">V8</a></li>
<li><a class="nav-vm" href="vm.html">VM</a></li>
<li><a class="nav-wasi" href="wasi.html">WASI</a></li>
<li><a class="nav-worker_threads" href="worker_threads.html">Worker threads</a></li>
<li><a class="nav-zlib" href="zlib.html">Zlib</a></li>
</ul>
<hr class="line"/>

<ul>
<li><a class="nav-https-github-com-nodejs-node" href="https://github.com/nodejs/node">Code repository and issue tracker</a></li>
</ul>

    </div>

    <div id="column1" data-id="tracing" class="interior">
      <header>
        <h1>Node.js v12.22.9 Documentation</h1>
        <div id="gtoc">
          <ul>
            <li>
              <a href="index.html">Index</a>
            </li>
            <li>
              <a href="all.html">View on single page</a>
            </li>
            <li>
              <a href="tracing.json">View as JSON</a>
            </li>
            
            <li class="edit_on_github"><a href="https://github.com/nodejs/node/edit/master/doc/api/tracing.md"><span class="github_icon"><svg height="16" width="16" viewBox="0 0 16.1 16.1" fill="currentColor"><path d="M8 0a8 8 0 0 0-2.5 15.6c.4 0 .5-.2.5-.4v-1.5c-2 .4-2.5-.5-2.7-1 0-.1-.5-.9-.8-1-.3-.2-.7-.6 0-.6.6 0 1 .6 1.2.8.7 1.2 1.9 1 2.4.7 0-.5.2-.9.5-1-1.8-.3-3.7-1-3.7-4 0-.9.3-1.6.8-2.2 0-.2-.3-1 .1-2 0 0 .7-.3 2.2.7a7.4 7.4 0 0 1 4 0c1.5-1 2.2-.8 2.2-.8.5 1.1.2 2 .1 2.1.5.6.8 1.3.8 2.2 0 3-1.9 3.7-3.6 4 .3.2.5.7.5 1.4v2.2c0 .2.1.5.5.4A8 8 0 0 0 16 8a8 8 0 0 0-8-8z"/></svg></span>Edit on GitHub</a></li>
          </ul>
        </div>
        <hr>
      </header>

      <div id="toc">
        <h2>Table of Contents</h2>
        <ul>
<li><a href="#tracing_trace_events">Trace events</a><ul>
<li><a href="#tracing_the_trace_events_module">The <code>trace_events</code> module</a><ul>
<li><a href="#tracing_tracing_object"><code>Tracing</code> object</a><ul>
<li><a href="#tracing_tracing_categories"><code>tracing.categories</code></a></li>
<li><a href="#tracing_tracing_disable"><code>tracing.disable()</code></a></li>
<li><a href="#tracing_tracing_enable"><code>tracing.enable()</code></a></li>
<li><a href="#tracing_tracing_enabled"><code>tracing.enabled</code></a></li>
</ul>
</li>
<li><a href="#tracing_trace_events_createtracing_options"><code>trace_events.createTracing(options)</code></a></li>
<li><a href="#tracing_trace_events_getenabledcategories"><code>trace_events.getEnabledCategories()</code></a></li>
</ul>
</li>
</ul>
</li>
</ul>

      </div>

      <div id="apicontent">
        <h1>Trace events<span><a class="mark" href="#tracing_trace_events" id="tracing_trace_events">#</a></span></h1>
<!--introduced_in=v7.7.0-->

<blockquote>
<p>Stability: 1 - Experimental</p>
</blockquote>
<!-- source_link=lib/trace_events.js -->

<p>The <code>trace_events</code> module provides a mechanism to centralize tracing information
generated by V8, Node.js core, and userspace code.</p>
<p>Tracing can be enabled with the <code>--trace-event-categories</code> command-line flag
or by using the <code>trace_events</code> module. The <code>--trace-event-categories</code> flag
accepts a list of comma-separated category names.</p>
<p>The available categories are:</p>
<ul>
<li><code>node</code>: An empty placeholder.</li>
<li><code>node.async_hooks</code>: Enables capture of detailed <a href="async_hooks.html"><code>async_hooks</code></a> trace data.
The <a href="async_hooks.html"><code>async_hooks</code></a> events have a unique <code>asyncId</code> and a special <code>triggerId</code>
<code>triggerAsyncId</code> property.</li>
<li><code>node.bootstrap</code>: Enables capture of Node.js bootstrap milestones.</li>
<li><code>node.console</code>: Enables capture of <code>console.time()</code> and <code>console.count()</code>
output.</li>
<li><code>node.dns.native</code>: Enables capture of trace data for DNS queries.</li>
<li><code>node.environment</code>: Enables capture of Node.js Environment milestones.</li>
<li><code>node.fs.sync</code>: Enables capture of trace data for file system sync methods.</li>
<li><code>node.perf</code>: Enables capture of <a href="perf_hooks.html">Performance API</a> measurements.<ul>
<li><code>node.perf.usertiming</code>: Enables capture of only Performance API User Timing
measures and marks.</li>
<li><code>node.perf.timerify</code>: Enables capture of only Performance API timerify
measurements.</li>
</ul>
</li>
<li><code>node.promises.rejections</code>: Enables capture of trace data tracking the number
of unhandled Promise rejections and handled-after-rejections.</li>
<li><code>node.vm.script</code>: Enables capture of trace data for the <code>vm</code> module&#39;s
<code>runInNewContext()</code>, <code>runInContext()</code>, and <code>runInThisContext()</code> methods.</li>
<li><code>v8</code>: The <a href="v8.html">V8</a> events are GC, compiling, and execution related.</li>
</ul>
<p>By default the <code>node</code>, <code>node.async_hooks</code>, and <code>v8</code> categories are enabled.</p>
<pre><code class="language-bash">node --trace-event-categories v8,node,node.async_hooks server.js
</code></pre>
<p>Prior versions of Node.js required the use of the <code>--trace-events-enabled</code>
flag to enable trace events. This requirement has been removed. However, the
<code>--trace-events-enabled</code> flag <em>may</em> still be used and will enable the
<code>node</code>, <code>node.async_hooks</code>, and <code>v8</code> trace event categories by default.</p>
<pre><code class="language-bash">node --trace-events-enabled

# is equivalent to

node --trace-event-categories v8,node,node.async_hooks
</code></pre>
<p>Alternatively, trace events may be enabled using the <code>trace_events</code> module:</p>
<pre><code class="language-js">const trace_events = require(&#39;trace_events&#39;);
const tracing = trace_events.createTracing({ categories: [&#39;node.perf&#39;] });
tracing.enable();  // Enable trace event capture for the &#39;node.perf&#39; category

// do work

tracing.disable();  // Disable trace event capture for the &#39;node.perf&#39; category
</code></pre>
<p>Running Node.js with tracing enabled will produce log files that can be opened
in the <a href="https://www.chromium.org/developers/how-tos/trace-event-profiling-tool"><code>chrome://tracing</code></a>
tab of Chrome.</p>
<p>The logging file is by default called <code>node_trace.${rotation}.log</code>, where
<code>${rotation}</code> is an incrementing log-rotation id. The filepath pattern can
be specified with <code>--trace-event-file-pattern</code> that accepts a template
string that supports <code>${rotation}</code> and <code>${pid}</code>:</p>
<pre><code class="language-bash">node --trace-event-categories v8 --trace-event-file-pattern &#39;${pid}-${rotation}.log&#39; server.js
</code></pre>
<p>The tracing system uses the same time source
as the one used by <code>process.hrtime()</code>.
However the trace-event timestamps are expressed in microseconds,
unlike <code>process.hrtime()</code> which returns nanoseconds.</p>
<p>The features from this module are not available in <a href="worker_threads.html#worker_threads_class_worker"><code>Worker</code></a> threads.</p>
<h2>The <code>trace_events</code> module<span><a class="mark" href="#tracing_the_trace_events_module" id="tracing_the_trace_events_module">#</a></span></h2>
<div class="api_metadata">
<span>Added in: v10.0.0</span>
</div><h3><code>Tracing</code> object<span><a class="mark" href="#tracing_tracing_object" id="tracing_tracing_object">#</a></span></h3>
<div class="api_metadata">
<span>Added in: v10.0.0</span>
</div><p>The <code>Tracing</code> object is used to enable or disable tracing for sets of
categories. Instances are created using the <code>trace_events.createTracing()</code>
method.</p>
<p>When created, the <code>Tracing</code> object is disabled. Calling the
<code>tracing.enable()</code> method adds the categories to the set of enabled trace event
categories. Calling <code>tracing.disable()</code> will remove the categories from the
set of enabled trace event categories.</p>
<h4><code>tracing.categories</code><span><a class="mark" href="#tracing_tracing_categories" id="tracing_tracing_categories">#</a></span></h4>
<div class="api_metadata">
<span>Added in: v10.0.0</span>
</div><ul>
<li>{string}</li>
</ul>
<p>A comma-separated list of the trace event categories covered by this
<code>Tracing</code> object.</p>
<h4><code>tracing.disable()</code><span><a class="mark" href="#tracing_tracing_disable" id="tracing_tracing_disable">#</a></span></h4>
<div class="api_metadata">
<span>Added in: v10.0.0</span>
</div><p>Disables this <code>Tracing</code> object.</p>
<p>Only trace event categories <em>not</em> covered by other enabled <code>Tracing</code> objects
and <em>not</em> specified by the <code>--trace-event-categories</code> flag will be disabled.</p>
<pre><code class="language-js">const trace_events = require(&#39;trace_events&#39;);
const t1 = trace_events.createTracing({ categories: [&#39;node&#39;, &#39;v8&#39;] });
const t2 = trace_events.createTracing({ categories: [&#39;node.perf&#39;, &#39;node&#39;] });
t1.enable();
t2.enable();

// Prints &#39;node,node.perf,v8&#39;
console.log(trace_events.getEnabledCategories());

t2.disable(); // Will only disable emission of the &#39;node.perf&#39; category

// Prints &#39;node,v8&#39;
console.log(trace_events.getEnabledCategories());
</code></pre>
<h4><code>tracing.enable()</code><span><a class="mark" href="#tracing_tracing_enable" id="tracing_tracing_enable">#</a></span></h4>
<div class="api_metadata">
<span>Added in: v10.0.0</span>
</div><p>Enables this <code>Tracing</code> object for the set of categories covered by the
<code>Tracing</code> object.</p>
<h4><code>tracing.enabled</code><span><a class="mark" href="#tracing_tracing_enabled" id="tracing_tracing_enabled">#</a></span></h4>
<div class="api_metadata">
<span>Added in: v10.0.0</span>
</div><ul>
<li>{boolean} <code>true</code> only if the <code>Tracing</code> object has been enabled.</li>
</ul>
<h3><code>trace_events.createTracing(options)</code><span><a class="mark" href="#tracing_trace_events_createtracing_options" id="tracing_trace_events_createtracing_options">#</a></span></h3>
<div class="api_metadata">
<span>Added in: v10.0.0</span>
</div><ul>
<li><code>options</code> {Object}<ul>
<li><code>categories</code> {string[]} An array of trace category names. Values included
in the array are coerced to a string when possible. An error will be
thrown if the value cannot be coerced.</li>
</ul>
</li>
<li>Returns: {Tracing}.</li>
</ul>
<p>Creates and returns a <code>Tracing</code> object for the given set of <code>categories</code>.</p>
<pre><code class="language-js">const trace_events = require(&#39;trace_events&#39;);
const categories = [&#39;node.perf&#39;, &#39;node.async_hooks&#39;];
const tracing = trace_events.createTracing({ categories });
tracing.enable();
// do stuff
tracing.disable();
</code></pre>
<h3><code>trace_events.getEnabledCategories()</code><span><a class="mark" href="#tracing_trace_events_getenabledcategories" id="tracing_trace_events_getenabledcategories">#</a></span></h3>
<div class="api_metadata">
<span>Added in: v10.0.0</span>
</div><ul>
<li>Returns: {string}</li>
</ul>
<p>Returns a comma-separated list of all currently-enabled trace event
categories. The current set of enabled trace event categories is determined
by the <em>union</em> of all currently-enabled <code>Tracing</code> objects and any categories
enabled using the <code>--trace-event-categories</code> flag.</p>
<p>Given the file <code>test.js</code> below, the command
<code>node --trace-event-categories node.perf test.js</code> will print
<code>&#39;node.async_hooks,node.perf&#39;</code> to the console.</p>
<pre><code class="language-js">const trace_events = require(&#39;trace_events&#39;);
const t1 = trace_events.createTracing({ categories: [&#39;node.async_hooks&#39;] });
const t2 = trace_events.createTracing({ categories: [&#39;node.perf&#39;] });
const t3 = trace_events.createTracing({ categories: [&#39;v8&#39;] });

t1.enable();
t2.enable();

console.log(trace_events.getEnabledCategories());
</code></pre>

        <!-- API END -->
      </div>
    </div>
  </div>
</body>
</html>

Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY