From 15e172cd9c377c2ddb06bb43c82a099959f08348 Mon Sep 17 00:00:00 2001 From: theanarkh Date: Thu, 3 Jul 2025 01:35:09 +0800 Subject: [PATCH] worker: add worker name to report --- src/node_report.cc | 6 +++--- src/node_worker.h | 1 + test/report/test-report-worker.js | 6 ++++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/node_report.cc b/src/node_report.cc index c64fc1a2d5f08f..5610fabbd40f31 100644 --- a/src/node_report.cc +++ b/src/node_report.cc @@ -234,9 +234,9 @@ static void WriteNodeReport(Isolate* isolate, env->ForEachWorker([&](Worker* w) { expected_results += w->RequestInterrupt([&](Environment* env) { std::ostringstream os; - - GetNodeReport( - env, "Worker thread subreport", trigger, Local(), os); + std::string name = + "Worker thread subreport [" + std::string(w->name()) + "]"; + GetNodeReport(env, name.c_str(), trigger, Local(), os); Mutex::ScopedLock lock(workers_mutex); worker_infos.emplace_back(os.str()); diff --git a/src/node_worker.h b/src/node_worker.h index c1d8619d28a908..b50e34e71ac20f 100644 --- a/src/node_worker.h +++ b/src/node_worker.h @@ -62,6 +62,7 @@ class Worker : public AsyncWrap { bool is_stopped() const; const SnapshotData* snapshot_data() const { return snapshot_data_; } bool is_internal() const { return is_internal_; } + std::string_view name() const { return name_; } static void New(const v8::FunctionCallbackInfo& args); static void CloneParentEnvVars( diff --git a/test/report/test-report-worker.js b/test/report/test-report-worker.js index 26b28219c84088..f17e3986e97813 100644 --- a/test/report/test-report-worker.js +++ b/test/report/test-report-worker.js @@ -13,7 +13,7 @@ async function basic() { parentPort.once('message', () => { /* Wait for message to stop the Worker */ }); - `, { eval: true }); + `, { eval: true, name: 'hello' }); await once(w, 'online'); @@ -22,7 +22,9 @@ async function basic() { assert.strictEqual(report.workers.length, 1); helper.validateContent(report.workers[0]); assert.strictEqual(report.workers[0].header.threadId, w.threadId); - + assert.strictEqual(report.workers[0].header.event, + 'Worker thread subreport [hello]', + report.workers[0].header.event); w.postMessage({}); await once(w, 'exit');