node/test/parallel/test-worker-heap-snapshot.js
Robert Nagy fadb214d95
stream: readable read one buffer at a time
Instead of wasting cycles concatenating buffers, just return each
one by one.

Similar (but not exact) old behavior can be achieved by using
`readable.read(readable.readableLength)` instead of
`readable.read()`. In some edge cases it might be necessary
to do a `readable.read(0)` first.

PR: https://github.com/nodejs/node/pull/60441
PR-URL: https://github.com/nodejs/node/pull/60441
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2026-01-21 08:29:40 +00:00

17 lines
580 B
JavaScript

'use strict';
const common = require('../common');
const assert = require('assert');
const { Worker } = require('worker_threads');
const { once } = require('events');
// Ensure that worker.getHeapSnapshot() returns a valid JSON
(async () => {
const worker = new Worker('setInterval(() => {}, 1000);', { eval: true });
await once(worker, 'online');
const stream = await worker.getHeapSnapshot();
stream.read(0); // Trigger the stream to start flowing
assert.ok(JSON.parse(stream.read(stream.readableLength)));
await worker.terminate();
})().then(common.mustCall());