Skip to content

Commit f54ace6

Browse files
theanarkhtargos
authored andcommitted
worker: add worker name to report
PR-URL: #58935 Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Stefan Stojanovic <stefan.stojanovic@janeasystems.com>
1 parent b35041c commit f54ace6

File tree

3 files changed

+9
-6
lines changed

3 files changed

+9
-6
lines changed

src/node_report.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -233,11 +233,11 @@ static void WriteNodeReport(Isolate* isolate,
233233
size_t expected_results = 0;
234234

235235
env->ForEachWorker([&](Worker* w) {
236-
expected_results += w->RequestInterrupt([&](Environment* env) {
236+
expected_results += w->RequestInterrupt([&, w = w](Environment* env) {
237237
std::ostringstream os;
238-
239-
GetNodeReport(
240-
env, "Worker thread subreport", trigger, Local<Value>(), os);
238+
std::string name =
239+
"Worker thread subreport [" + std::string(w->name()) + "]";
240+
GetNodeReport(env, name.c_str(), trigger, Local<Value>(), os);
241241

242242
Mutex::ScopedLock lock(workers_mutex);
243243
worker_infos.emplace_back(os.str());

src/node_worker.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ class Worker : public AsyncWrap {
6262
bool is_stopped() const;
6363
const SnapshotData* snapshot_data() const { return snapshot_data_; }
6464
bool is_internal() const { return is_internal_; }
65+
std::string_view name() const { return name_; }
6566

6667
static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
6768
static void CloneParentEnvVars(

test/report/test-report-worker.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ async function basic() {
1313
parentPort.once('message', () => {
1414
/* Wait for message to stop the Worker */
1515
});
16-
`, { eval: true });
16+
`, { eval: true, name: 'hello' });
1717

1818
await once(w, 'online');
1919

@@ -22,7 +22,9 @@ async function basic() {
2222
assert.strictEqual(report.workers.length, 1);
2323
helper.validateContent(report.workers[0]);
2424
assert.strictEqual(report.workers[0].header.threadId, w.threadId);
25-
25+
assert.strictEqual(report.workers[0].header.event,
26+
'Worker thread subreport [hello]',
27+
report.workers[0].header.event);
2628
w.postMessage({});
2729

2830
await once(w, 'exit');

0 commit comments

Comments
 (0)