diff options
author | Ali Ijaz Sheikh <ofrobots@google.com> | 2018-05-15 11:52:18 -0700 |
---|---|---|
committer | Ali Ijaz Sheikh <ofrobots@google.com> | 2018-05-18 10:42:35 -0700 |
commit | 3ff723f940c9b18f281131fad1d0c967c45169dd (patch) | |
tree | 65a93544c3db2d00227d2e8a0a5e8f471876087d /test | |
parent | 42a4a606457e01df51943c9c1e68ceaf9cafa0fe (diff) | |
download | android-node-v8-3ff723f940c9b18f281131fad1d0c967c45169dd.tar.gz android-node-v8-3ff723f940c9b18f281131fad1d0c967c45169dd.tar.bz2 android-node-v8-3ff723f940c9b18f281131fad1d0c967c45169dd.zip |
src: trace_events: support for metadata events
Add support for metadata events. At this point they are added to the
main buffer. Emit a metadata event for the main thread.
PR-URL: https://github.com/nodejs/node/pull/20757
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/parallel/test-trace-events-api.js | 3 | ||||
-rw-r--r-- | test/parallel/test-trace-events-binding.js | 3 | ||||
-rw-r--r-- | test/parallel/test-trace-events-bootstrap.js | 3 | ||||
-rw-r--r-- | test/parallel/test-trace-events-metadata.js | 26 | ||||
-rw-r--r-- | test/parallel/test-trace-events-none.js | 8 | ||||
-rw-r--r-- | test/parallel/test-trace-events-perf.js | 3 | ||||
-rw-r--r-- | test/parallel/test-trace-events-vm.js | 3 |
7 files changed, 43 insertions, 6 deletions
diff --git a/test/parallel/test-trace-events-api.js b/test/parallel/test-trace-events-api.js index b4f7112d07..a68a2850a3 100644 --- a/test/parallel/test-trace-events-api.js +++ b/test/parallel/test-trace-events-api.js @@ -130,7 +130,8 @@ if (isChild) { assert(common.fileExists(file)); fs.readFile(file, common.mustCall((err, data) => { - const traces = JSON.parse(data.toString()).traceEvents; + const traces = JSON.parse(data.toString()).traceEvents + .filter((trace) => trace.cat !== '__metadata'); assert.strictEqual(traces.length, expectedMarks.length + expectedBegins.length + diff --git a/test/parallel/test-trace-events-binding.js b/test/parallel/test-trace-events-binding.js index 35fbfc3692..e52f1c769f 100644 --- a/test/parallel/test-trace-events-binding.js +++ b/test/parallel/test-trace-events-binding.js @@ -31,7 +31,8 @@ const proc = cp.spawn(process.execPath, proc.once('exit', common.mustCall(() => { assert(common.fileExists(FILE_NAME)); fs.readFile(FILE_NAME, common.mustCall((err, data) => { - const traces = JSON.parse(data.toString()).traceEvents; + const traces = JSON.parse(data.toString()).traceEvents + .filter((trace) => trace.cat !== '__metadata'); assert.strictEqual(traces.length, 3); assert.strictEqual(traces[0].pid, proc.pid); diff --git a/test/parallel/test-trace-events-bootstrap.js b/test/parallel/test-trace-events-bootstrap.js index a0bfcf123e..6f8c76564a 100644 --- a/test/parallel/test-trace-events-bootstrap.js +++ b/test/parallel/test-trace-events-bootstrap.js @@ -42,7 +42,8 @@ if (process.argv[2] === 'child') { assert(common.fileExists(file)); fs.readFile(file, common.mustCall((err, data) => { - const traces = JSON.parse(data.toString()).traceEvents; + const traces = JSON.parse(data.toString()).traceEvents + .filter((trace) => trace.cat !== '__metadata'); traces.forEach((trace) => { assert.strictEqual(trace.pid, proc.pid); assert(names.includes(trace.name)); diff --git a/test/parallel/test-trace-events-metadata.js b/test/parallel/test-trace-events-metadata.js new file mode 100644 index 0000000000..f8fcdcfe5b --- /dev/null +++ b/test/parallel/test-trace-events-metadata.js @@ -0,0 +1,26 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); +const cp = require('child_process'); +const fs = require('fs'); + +const CODE = + 'setTimeout(() => { for (var i = 0; i < 100000; i++) { "test" + i } }, 1)'; +const FILE_NAME = 'node_trace.1.log'; + +const tmpdir = require('../common/tmpdir'); +tmpdir.refresh(); +process.chdir(tmpdir.path); + +const proc = cp.spawn(process.execPath, + [ '--trace-events-enabled', '-e', CODE ]); +proc.once('exit', common.mustCall(() => { + assert(common.fileExists(FILE_NAME)); + fs.readFile(FILE_NAME, common.mustCall((err, data) => { + const traces = JSON.parse(data.toString()).traceEvents; + assert(traces.length > 0); + assert(traces.some((trace) => + trace.cat === '__metadata' && trace.name === 'thread_name' && + trace.args.name === 'JavaScriptMainThread')); + })); +})); diff --git a/test/parallel/test-trace-events-none.js b/test/parallel/test-trace-events-none.js index 6b60ce999a..a3f0338f28 100644 --- a/test/parallel/test-trace-events-none.js +++ b/test/parallel/test-trace-events-none.js @@ -2,6 +2,7 @@ const common = require('../common'); const assert = require('assert'); const cp = require('child_process'); +const fs = require('fs'); const CODE = 'setTimeout(() => { for (var i = 0; i < 100000; i++) { "test" + i } }, 1)'; @@ -17,5 +18,10 @@ const proc_no_categories = cp.spawn( ); proc_no_categories.once('exit', common.mustCall(() => { - assert(!common.fileExists(FILE_NAME)); + assert(common.fileExists(FILE_NAME)); + // Only __metadata categories should have been emitted. + fs.readFile(FILE_NAME, common.mustCall((err, data) => { + assert.ok(JSON.parse(data.toString()).traceEvents.every( + (trace) => trace.cat === '__metadata')); + })); })); diff --git a/test/parallel/test-trace-events-perf.js b/test/parallel/test-trace-events-perf.js index 5758082b6e..57ac0e3142 100644 --- a/test/parallel/test-trace-events-perf.js +++ b/test/parallel/test-trace-events-perf.js @@ -49,7 +49,8 @@ if (process.argv[2] === 'child') { assert(common.fileExists(file)); fs.readFile(file, common.mustCall((err, data) => { - const traces = JSON.parse(data.toString()).traceEvents; + const traces = JSON.parse(data.toString()).traceEvents + .filter((trace) => trace.cat !== '__metadata'); assert.strictEqual(traces.length, expectedMarks.length + expectedBegins.length + diff --git a/test/parallel/test-trace-events-vm.js b/test/parallel/test-trace-events-vm.js index fc7af34d88..3dc6e263e1 100644 --- a/test/parallel/test-trace-events-vm.js +++ b/test/parallel/test-trace-events-vm.js @@ -32,7 +32,8 @@ if (process.argv[2] === 'child') { assert(common.fileExists(file)); fs.readFile(file, common.mustCall((err, data) => { - const traces = JSON.parse(data.toString()).traceEvents; + const traces = JSON.parse(data.toString()).traceEvents + .filter((trace) => trace.cat !== '__metadata'); traces.forEach((trace) => { assert.strictEqual(trace.pid, proc.pid); assert(names.includes(trace.name)); |