summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/tools/wtstats/template/models/chart.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/tools/wtstats/template/models/chart.js')
-rw-r--r--src/third_party/wiredtiger/tools/wtstats/template/models/chart.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/third_party/wiredtiger/tools/wtstats/template/models/chart.js b/src/third_party/wiredtiger/tools/wtstats/template/models/chart.js
new file mode 100644
index 00000000000..ad273632419
--- /dev/null
+++ b/src/third_party/wiredtiger/tools/wtstats/template/models/chart.js
@@ -0,0 +1,54 @@
+var AmpersandState = require('ampersand-state'),
+ _ = require('lodash'),
+ debug = require('debug')('model:chart');
+
+var Chart = module.exports = AmpersandState.extend({
+ props: {
+ xSetting: {
+ type: 'string',
+ default: 'relative',
+ values: ['relative', 'absolute']
+ },
+ ySetting: {
+ type: 'string',
+ default: 'linear',
+ values: ['linear', 'log-scale']
+ },
+ allowSampling: {
+ type: 'boolean',
+ default: true
+ },
+ subSampled: {
+ type: 'boolean',
+ default: false
+ },
+ recalcXDomain: {
+ type: 'boolean',
+ default: true
+ }
+ },
+ derived: {
+ // proxy stats from parent
+ series: {
+ deps: ['parent'],
+ cache: false,
+ fn: function () {
+ var series = this.parent.stats
+ .filter(function (stat) {
+ return stat.selected;
+ })
+ .map(function (stat) {
+ return _.pick(stat, ['color', 'data', 'name', 'cid', 'selected']);
+ })
+ return series;
+ }
+ },
+ empty: {
+ deps: ['parent', 'series'],
+ cache: false,
+ fn: function () {
+ return this.series.length === 0;
+ }
+ }
+ }
+});