| Index: tracing/tracing/value/histogram_test.html
|
| diff --git a/tracing/tracing/value/histogram_test.html b/tracing/tracing/value/histogram_test.html
|
| index a4c21173a3ef66fad557712ba3907568a2d2c60d..7647366f7529b5064b8649dcd66571f964b03f93 100644
|
| --- a/tracing/tracing/value/histogram_test.html
|
| +++ b/tracing/tracing/value/histogram_test.html
|
| @@ -39,6 +39,93 @@ tr.b.unittest.testSuite(function() {
|
| }
|
| }
|
|
|
| + test('getStatisticScalar', function() {
|
| + const hist = new tr.v.Histogram('', unitlessNumber);
|
| + // getStatisticScalar should work even when the statistics are disabled.
|
| + hist.customizeSummaryOptions({
|
| + avg: false,
|
| + count: false,
|
| + max: false,
|
| + min: false,
|
| + std: false,
|
| + sum: false,
|
| + });
|
| +
|
| + assert.isUndefined(hist.getStatisticScalar('avg'));
|
| + assert.isUndefined(hist.getStatisticScalar('std'));
|
| + assert.strictEqual(0, hist.getStatisticScalar('geometricMean').value);
|
| + assert.strictEqual(Infinity, hist.getStatisticScalar('min').value);
|
| + assert.strictEqual(-Infinity, hist.getStatisticScalar('max').value);
|
| + assert.strictEqual(0, hist.getStatisticScalar('sum').value);
|
| + assert.strictEqual(0, hist.getStatisticScalar('nans').value);
|
| + assert.strictEqual(0, hist.getStatisticScalar('count').value);
|
| + assert.strictEqual(0, hist.getStatisticScalar('pct_000').value);
|
| + assert.strictEqual(0, hist.getStatisticScalar('pct_050').value);
|
| + assert.strictEqual(0, hist.getStatisticScalar('pct_100').value);
|
| +
|
| + assert.isFalse(hist.canCompare());
|
| + assert.throws(() => hist.getStatisticScalar(tr.v.DELTA + 'avg'));
|
| +
|
| + const ref = new tr.v.Histogram('', unitlessNumber);
|
| + for (let i = 0; i < 10; ++i) {
|
| + hist.addSample(i * 10);
|
| + ref.addSample(i);
|
| + }
|
| +
|
| + assert.strictEqual(45, hist.getStatisticScalar('avg').value);
|
| + assert.closeTo(30.277, hist.getStatisticScalar('std').value, 1e-3);
|
| + assert.closeTo(0, hist.getStatisticScalar('geometricMean').value, 1e-4);
|
| + assert.strictEqual(0, hist.getStatisticScalar('min').value);
|
| + assert.strictEqual(90, hist.getStatisticScalar('max').value);
|
| + assert.strictEqual(450, hist.getStatisticScalar('sum').value);
|
| + assert.strictEqual(0, hist.getStatisticScalar('nans').value);
|
| + assert.strictEqual(10, hist.getStatisticScalar('count').value);
|
| + assert.closeTo(18.371, hist.getStatisticScalar('pct_025').value, 1e-3);
|
| + assert.closeTo(55.48, hist.getStatisticScalar('pct_075').value, 1e-3);
|
| +
|
| + assert.strictEqual(40.5, hist.getStatisticScalar(
|
| + tr.v.DELTA + 'avg', ref).value);
|
| + assert.closeTo(27.249, hist.getStatisticScalar(
|
| + tr.v.DELTA + 'std', ref).value, 1e-3);
|
| + assert.closeTo(0, hist.getStatisticScalar(
|
| + tr.v.DELTA + 'geometricMean', ref).value, 1e-4);
|
| + assert.strictEqual(0, hist.getStatisticScalar(
|
| + tr.v.DELTA + 'min', ref).value);
|
| + assert.strictEqual(81, hist.getStatisticScalar(
|
| + tr.v.DELTA + 'max', ref).value);
|
| + assert.strictEqual(405, hist.getStatisticScalar(
|
| + tr.v.DELTA + 'sum', ref).value);
|
| + assert.strictEqual(0, hist.getStatisticScalar(
|
| + tr.v.DELTA + 'nans', ref).value);
|
| + assert.strictEqual(0, hist.getStatisticScalar(
|
| + tr.v.DELTA + 'count', ref).value);
|
| + assert.closeTo(16.357, hist.getStatisticScalar(
|
| + tr.v.DELTA + 'pct_025', ref).value, 1e-3);
|
| + assert.closeTo(49.396, hist.getStatisticScalar(
|
| + tr.v.DELTA + 'pct_075', ref).value, 1e-3);
|
| +
|
| + assert.strictEqual(9, hist.getStatisticScalar(
|
| + `%${tr.v.DELTA}avg`, ref).value);
|
| + assert.closeTo(9, hist.getStatisticScalar(
|
| + `%${tr.v.DELTA}std`, ref).value, 1e-3);
|
| + assert.isTrue(isNaN(hist.getStatisticScalar(
|
| + `%${tr.v.DELTA}geometricMean`, ref).value));
|
| + assert.isTrue(isNaN(hist.getStatisticScalar(
|
| + `%${tr.v.DELTA}min`, ref).value));
|
| + assert.strictEqual(9, hist.getStatisticScalar(
|
| + `%${tr.v.DELTA}max`, ref).value);
|
| + assert.strictEqual(9, hist.getStatisticScalar(
|
| + `%${tr.v.DELTA}sum`, ref).value);
|
| + assert.isTrue(isNaN(hist.getStatisticScalar(
|
| + `%${tr.v.DELTA}nans`, ref).value));
|
| + assert.strictEqual(0, hist.getStatisticScalar(
|
| + `%${tr.v.DELTA}count`, ref).value);
|
| + assert.closeTo(8.12, hist.getStatisticScalar(
|
| + `%${tr.v.DELTA}pct_025`, ref).value, 1e-3);
|
| + assert.closeTo(8.12, hist.getStatisticScalar(
|
| + `%${tr.v.DELTA}pct_075`, ref).value, 1e-3);
|
| + });
|
| +
|
| test('serializationSize', function() {
|
| // Ensure that serialized Histograms don't take up too much more space than
|
| // necessary.
|
|
|