histogram.ts 908 B

12345678910111213141516171819202122232425262728293031
  1. import Piscina from '..';
  2. import { test } from 'tap';
  3. import { resolve } from 'path';
  4. test('pool will maintain run and wait time histograms', async ({ equal, ok }) => {
  5. const pool = new Piscina({
  6. filename: resolve(__dirname, 'fixtures/eval.js')
  7. });
  8. const tasks = [];
  9. for (let n = 0; n < 10; n++) {
  10. tasks.push(pool.runTask('42'));
  11. }
  12. await Promise.all(tasks);
  13. const waitTime = pool.waitTime as any;
  14. ok(waitTime);
  15. equal(typeof waitTime.average, 'number');
  16. equal(typeof waitTime.mean, 'number');
  17. equal(typeof waitTime.stddev, 'number');
  18. equal(typeof waitTime.min, 'number');
  19. equal(typeof waitTime.max, 'number');
  20. const runTime = pool.runTime as any;
  21. ok(runTime);
  22. equal(typeof runTime.average, 'number');
  23. equal(typeof runTime.mean, 'number');
  24. equal(typeof runTime.stddev, 'number');
  25. equal(typeof runTime.min, 'number');
  26. equal(typeof runTime.max, 'number');
  27. });