Procházet zdrojové kódy

Stackdriver: Add backed query using

Erik Sundell před 7 roky
rodič
revize
97727d167b

+ 23 - 2
public/app/plugins/datasource/stackdriver/datasource.ts

@@ -1,5 +1,6 @@
 /** @ngInject */
 /** @ngInject */
 export default class StackdriverDatasource {
 export default class StackdriverDatasource {
+  id: number;
   url: string;
   url: string;
   baseUrl: string;
   baseUrl: string;
 
 
@@ -7,10 +8,30 @@ export default class StackdriverDatasource {
     this.baseUrl = `/stackdriver/`;
     this.baseUrl = `/stackdriver/`;
     this.url = instanceSettings.url;
     this.url = instanceSettings.url;
     this.doRequest = this.doRequest;
     this.doRequest = this.doRequest;
+    this.id = instanceSettings.id;
   }
   }
 
 
-  query() {
-    return Promise.resolve();
+  async query(options) {
+    const queries = options.targets.filter(target => !target.hide).map(t => ({
+      queryType: 'raw',
+      refId: t.refId,
+      datasourceId: this.id,
+      metric: t.metricType,
+    }));
+    try {
+      const response = await this.backendSrv.datasourceRequest({
+        url: '/api/tsdb/query',
+        method: 'POST',
+        data: {
+          from: options.range.from.valueOf().toString(),
+          to: options.range.to.valueOf().toString(),
+          queries,
+        },
+      });
+      return response;
+    } catch (error) {
+      console.log(error);
+    }
   }
   }
 
 
   testDatasource() {
   testDatasource() {