summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAli Ijaz Sheikh <ofrobots@google.com>2018-05-15 11:52:18 -0700
committerAli Ijaz Sheikh <ofrobots@google.com>2018-05-18 10:42:35 -0700
commit3ff723f940c9b18f281131fad1d0c967c45169dd (patch)
tree65a93544c3db2d00227d2e8a0a5e8f471876087d /test
parent42a4a606457e01df51943c9c1e68ceaf9cafa0fe (diff)
downloadandroid-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.js3
-rw-r--r--test/parallel/test-trace-events-binding.js3
-rw-r--r--test/parallel/test-trace-events-bootstrap.js3
-rw-r--r--test/parallel/test-trace-events-metadata.js26
-rw-r--r--test/parallel/test-trace-events-none.js8
-rw-r--r--test/parallel/test-trace-events-perf.js3
-rw-r--r--test/parallel/test-trace-events-vm.js3
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));