Просмотр исходного кода

Closes #72, added scripted dashboard example (feature inherited from kibana)

Torkel Odegaard 12 лет назад
Родитель
Сommit
f03e4be683
1 измененных файлов с 74 добавлено и 0 удалено
  1. 74 0
      src/app/dashboards/scripted.js

+ 74 - 0
src/app/dashboards/scripted.js

@@ -0,0 +1,74 @@
+/* global _ */
+
+/*
+ * Complex scripted dashboard
+ * This script generates a dashboard object that Grafana can load. It also takes a number of user
+ * supplied URL parameters (int ARGS variable)
+ *
+ */
+
+'use strict';
+
+// Setup some variables
+var dashboard, _d_timespan;
+
+// All url parameters are available via the ARGS object
+var ARGS;
+
+// Set a default timespan if one isn't specified
+_d_timespan = '1d';
+
+// Intialize a skeleton with nothing but a rows array and service object
+dashboard = {
+  rows : [],
+  services : {}
+};
+
+// Set a title
+dashboard.title = 'Scripted dash';
+dashboard.services.filter = {
+  time: {
+    from: "now-"+(ARGS.from || _d_timespan),
+    to: "now"
+  }
+};
+
+var rows = 1;
+var name = 'argName';
+
+if(!_.isUndefined(ARGS.rows)) {
+  rows = parseInt(ARGS.rows, 10);
+}
+
+if(!_.isUndefined(ARGS.name)) {
+  name = ARGS.name;
+}
+
+for (var i = 0; i < rows; i++) {
+
+  dashboard.rows.push({
+    title: 'Chart',
+    height: '300px',
+    panels: [
+      {
+        title: 'Events',
+        type: 'graphite',
+        span: 12,
+        fill: 1,
+        linewidth: 2,
+        targets: [
+          {
+            'target': "randomWalk('" + name + "')"
+          },
+          {
+            'target': "randomWalk('random walk2')"
+          }
+        ],
+      }
+    ]
+  });
+
+}
+
+// Now return the object and we're good!
+return dashboard;