From b678daa744ea78cf4b3928a11080b8fd86aeb30e Mon Sep 17 00:00:00 2001 From: utkarshcmu Date: Thu, 5 Nov 2015 22:31:33 -0800 Subject: [PATCH 1/3] Added throughput units. --- public/app/components/kbn.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/public/app/components/kbn.js b/public/app/components/kbn.js index ad2d4c3c422..825df91ff3c 100644 --- a/public/app/components/kbn.js +++ b/public/app/components/kbn.js @@ -344,6 +344,12 @@ function($, _) { kbn.valueFormats.bps = kbn.formatBuilders.decimalSIPrefix('bps'); kbn.valueFormats.Bps = kbn.formatBuilders.decimalSIPrefix('Bps'); + // Throughput + kbn.valueFormats.ops = kbn.formatBuilders.fixedUnit('ops'); + kbn.valueFormats.rps = kbn.formatBuilders.fixedUnit('rps'); + kbn.valueFormats.wps = kbn.formatBuilders.fixedUnit('wps'); + kbn.valueFormats.iops = kbn.formatBuilders.fixedUnit('iops'); + // Energy kbn.valueFormats.watt = kbn.formatBuilders.decimalSIPrefix('W'); kbn.valueFormats.kwatt = kbn.formatBuilders.decimalSIPrefix('W', 1); @@ -522,6 +528,15 @@ function($, _) { {text: 'bytes/sec', value: 'Bps'}, ] }, + { + text: 'throughput', + submenu: [ + {text: 'ops/sec (ops)', value: 'ops' }, + {text: 'reads/sec (rps)', value: 'rps' }, + {text: 'writes/sec (wps)', value: 'wps' }, + {text: 'I/O ops/sec (iops)', value: 'iops'}, + ] + }, { text: 'length', submenu: [ @@ -576,7 +591,7 @@ function($, _) { {text: 'Inches of mercury', value: 'pressurehg' }, {text: 'PSI', value: 'pressurepsi' }, ] - }, + } ]; }; From 22c3ec2d638e94c985e40bff3aea6e8515f7841b Mon Sep 17 00:00:00 2001 From: utkarshcmu Date: Thu, 5 Nov 2015 22:57:05 -0800 Subject: [PATCH 2/3] Made the units more readable --- public/app/components/kbn.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/public/app/components/kbn.js b/public/app/components/kbn.js index 825df91ff3c..34d943ed028 100644 --- a/public/app/components/kbn.js +++ b/public/app/components/kbn.js @@ -310,6 +310,16 @@ function($, _) { }; }; + kbn.formatBuilders.simpleCountUnit = function(symbol) { + var units = ['', 'K', 'M', 'B', 'T']; + var scaler = kbn.formatBuilders.scaledUnits(1000, units); + return function(size, decimals, scaledDecimals) { + if (size === null) { return ""; } + var scaled = scaler(size, decimals, scaledDecimals); + return scaled + " " + symbol; + }; + }; + ///// VALUE FORMATS ///// // Dimensionless Units @@ -345,10 +355,10 @@ function($, _) { kbn.valueFormats.Bps = kbn.formatBuilders.decimalSIPrefix('Bps'); // Throughput - kbn.valueFormats.ops = kbn.formatBuilders.fixedUnit('ops'); - kbn.valueFormats.rps = kbn.formatBuilders.fixedUnit('rps'); - kbn.valueFormats.wps = kbn.formatBuilders.fixedUnit('wps'); - kbn.valueFormats.iops = kbn.formatBuilders.fixedUnit('iops'); + kbn.valueFormats.ops = kbn.formatBuilders.simpleCountUnit('ops'); + kbn.valueFormats.rps = kbn.formatBuilders.simpleCountUnit('rps'); + kbn.valueFormats.wps = kbn.formatBuilders.simpleCountUnit('wps'); + kbn.valueFormats.iops = kbn.formatBuilders.simpleCountUnit('iops'); // Energy kbn.valueFormats.watt = kbn.formatBuilders.decimalSIPrefix('W'); From b5f18561ab401a49446d5e46cf334679b94c0b67 Mon Sep 17 00:00:00 2001 From: utkarshcmu Date: Thu, 5 Nov 2015 23:13:53 -0800 Subject: [PATCH 3/3] Added unit tests to verify units --- public/test/specs/kbn-format-specs.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/test/specs/kbn-format-specs.js b/public/test/specs/kbn-format-specs.js index f84544fff4f..3e4803633e3 100644 --- a/public/test/specs/kbn-format-specs.js +++ b/public/test/specs/kbn-format-specs.js @@ -62,6 +62,12 @@ define([ describeValueFormat('ns', 25, 1, 0, '25 ns'); describeValueFormat('ns', 2558, 50, 0, '2.56 µs'); + describeValueFormat('ops', 123, 1, 0, '123 ops'); + describeValueFormat('rps', 456000, 1000, -1, '456K rps'); + describeValueFormat('rps', 123456789, 1000000, 2, '123.457M rps'); + describeValueFormat('wps', 789000000, 1000000, -1, '789M wps'); + describeValueFormat('iops', 11000000000, 1000000000, -1, '11B iops'); + describe('kbn.toFixed and negative decimals', function() { it('should treat as zero decimals', function() { var str = kbn.toFixed(186.123, -2);