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

prometheus: add builtin template variable as range vectors

add $__interval and $__interval_ms as range vectors to
prometheus editor
bergquist 8 лет назад
Родитель
Сommit
c2c5f529f3

+ 2 - 0
public/app/plugins/datasource/prometheus/completer.ts

@@ -80,6 +80,8 @@ export class PromCompleter {
          vectors.push({caption: value+unit, value: '['+value+unit, meta: 'range vector'});
         }
       }
+      vectors.push({caption: '$__interval', value: '[$__interval', meta: 'range vector'});
+      vectors.push({caption: '$__interval_ms', value: '[$__interval_ms', meta: 'range vector'});
       callback(null, vectors);
       return;
     }

+ 11 - 5
public/app/plugins/datasource/prometheus/specs/completer_specs.ts

@@ -44,12 +44,18 @@ describe('Prometheus editor completer', function() {
   describe('When inside brackets', () => {
     it('Should return range vectors', () => {
       const session = getSessionStub({
-        currentToken: {},
-        tokens: [],
-        line: '',
+        currentToken: {type: 'paren.lparen', value: '[', index: 2, start: 9},
+        tokens: [
+          {type: 'identifier', value: 'node_cpu'},
+          {type: 'paren.lparen', value: '['}
+        ],
+        line: 'node_cpu[',
       });
-      completer.getCompletions(editor, session, {row: 0, column: 10}, '[', (s, res) => {
-        expect(res[0]).to.eql({caption: '1s', value: '[1s', meta: 'range vector'});
+
+      return completer.getCompletions(editor, session, {row: 0, column: 10}, '[', (s, res) => {
+        expect(res[0].caption).to.eql('1s');
+        expect(res[0].value).to.eql('[1s');
+        expect(res[0].meta).to.eql('range vector');
       });
     });
   });