123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import Piscina from '..';
- import { test } from 'tap';
- import { resolve } from 'path';
- test('pool will maintain run and wait time histograms by default', async ({ equal, ok }) => {
- const pool = new Piscina({
- filename: resolve(__dirname, 'fixtures/eval.js')
- });
- const tasks = [];
- for (let n = 0; n < 10; n++) {
- tasks.push(pool.runTask('42'));
- }
- await Promise.all(tasks);
- const waitTime = pool.waitTime as any;
- ok(waitTime);
- equal(typeof waitTime.average, 'number');
- equal(typeof waitTime.mean, 'number');
- equal(typeof waitTime.stddev, 'number');
- equal(typeof waitTime.min, 'number');
- equal(typeof waitTime.max, 'number');
- const runTime = pool.runTime as any;
- ok(runTime);
- equal(typeof runTime.average, 'number');
- equal(typeof runTime.mean, 'number');
- equal(typeof runTime.stddev, 'number');
- equal(typeof runTime.min, 'number');
- equal(typeof runTime.max, 'number');
- });
- test('pool will maintain run and wait time histograms when recordTiming is true', async ({ ok }) => {
- const pool = new Piscina({
- filename: resolve(__dirname, 'fixtures/eval.js'),
- recordTiming: true
- });
- const tasks = [];
- for (let n = 0; n < 10; n++) {
- tasks.push(pool.runTask('42'));
- }
- await Promise.all(tasks);
- const waitTime = pool.waitTime as any;
- ok(waitTime);
- const runTime = pool.runTime as any;
- ok(runTime);
- });
- test('pool does not maintain run and wait time histograms when recordTiming is false', async ({ equal }) => {
- const pool = new Piscina({
- filename: resolve(__dirname, 'fixtures/eval.js'),
- recordTiming: false
- });
- const tasks = [];
- for (let n = 0; n < 10; n++) {
- tasks.push(pool.runTask('42'));
- }
- await Promise.all(tasks);
- equal(pool.waitTime, null);
- equal(pool.runTime, null);
- });
|