| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent e71e950 commit 23d1ecf
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -64,42 +64,47 @@ const { sleep } = require('internal/util'); | |||
| 64 | 64 | if (--m > 0) { | |
| 65 | 65 | setTimeout(spinAWhile, common.platformTimeout(500)); | |
| 66 | 66 | } else { | |
| 67 | - histogram.disable(); | ||
| 68 | - // The values are non-deterministic, so we just check that a value is | ||
| 69 | - // present, as opposed to a specific value. | ||
| 70 | - assert(histogram.min > 0); | ||
| 71 | - assert(histogram.max > 0); | ||
| 72 | - assert(histogram.stddev > 0); | ||
| 73 | - assert(histogram.mean > 0); | ||
| 74 | - assert(histogram.percentiles.size > 0); | ||
| 75 | - for (let n = 1; n < 100; n = n + 0.1) { | ||
| 76 | - assert(histogram.percentile(n) >= 0); | ||
| 77 | - } | ||
| 78 | - histogram.reset(); | ||
| 79 | - assert.strictEqual(histogram.min, 9223372036854776000); | ||
| 80 | - assert.strictEqual(histogram.max, 0); | ||
| 81 | - assert(Number.isNaN(histogram.stddev)); | ||
| 82 | - assert(Number.isNaN(histogram.mean)); | ||
| 83 | - assert.strictEqual(histogram.percentiles.size, 1); | ||
| 67 | + // Give the histogram a chance to record final samples before disabling. | ||
| 68 | + // This helps on slower systems where sampling may be delayed. | ||
| 69 | + setImmediate(common.mustCall(() => { | ||
| 70 | + histogram.disable(); | ||
| 71 | + // The values are non-deterministic, so we just check that a value is | ||
| 72 | + // present, as opposed to a specific value. | ||
| 73 | + assert(histogram.count > 0, `Expected samples to be recorded, got count=${histogram.count}`); | ||
| 74 | + assert(histogram.min > 0); | ||
| 75 | + assert(histogram.max > 0); | ||
| 76 | + assert(histogram.stddev > 0); | ||
| 77 | + assert(histogram.mean > 0); | ||
| 78 | + assert(histogram.percentiles.size > 0); | ||
| 79 | + for (let n = 1; n < 100; n = n + 0.1) { | ||
| 80 | + assert(histogram.percentile(n) >= 0); | ||
| 81 | + } | ||
| 82 | + histogram.reset(); | ||
| 83 | + assert.strictEqual(histogram.min, 9223372036854776000); | ||
| 84 | + assert.strictEqual(histogram.max, 0); | ||
| 85 | + assert(Number.isNaN(histogram.stddev)); | ||
| 86 | + assert(Number.isNaN(histogram.mean)); | ||
| 87 | + assert.strictEqual(histogram.percentiles.size, 1); | ||
| 84 | 88 | ||
| 85 | - ['a', false, {}, []].forEach((i) => { | ||
| 86 | - assert.throws( | ||
| 87 | - () => histogram.percentile(i), | ||
| 88 | - { | ||
| 89 | - name: 'TypeError', | ||
| 90 | - code: 'ERR_INVALID_ARG_TYPE', | ||
| 91 | - } | ||
| 92 | - ); | ||
| 93 | - }); | ||
| 94 | - [-1, 0, 101, NaN].forEach((i) => { | ||
| 95 | - assert.throws( | ||
| 96 | - () => histogram.percentile(i), | ||
| 97 | - { | ||
| 98 | - name: 'RangeError', | ||
| 99 | - code: 'ERR_OUT_OF_RANGE', | ||
| 100 | - } | ||
| 101 | - ); | ||
| 102 | - }); | ||
| 89 | + ['a', false, {}, []].forEach((i) => { | ||
| 90 | + assert.throws( | ||
| 91 | + () => histogram.percentile(i), | ||
| 92 | + { | ||
| 93 | + name: 'TypeError', | ||
| 94 | + code: 'ERR_INVALID_ARG_TYPE', | ||
| 95 | + } | ||
| 96 | + ); | ||
| 97 | + }); | ||
| 98 | + [-1, 0, 101, NaN].forEach((i) => { | ||
| 99 | + assert.throws( | ||
| 100 | + () => histogram.percentile(i), | ||
| 101 | + { | ||
| 102 | + name: 'RangeError', | ||
| 103 | + code: 'ERR_OUT_OF_RANGE', | ||
| 104 | + } | ||
| 105 | + ); | ||
| 106 | + }); | ||
| 107 | + })); | ||
| 103 | 108 | } | |
| 104 | 109 | } | |
| 105 | 110 | spinAWhile(); | |
| Back | FazBrowse Home | New Git URL |
0 commit comments