|
|
@@ -4,6 +4,21 @@ import {liveSrv} from 'app/core/core';
|
|
|
|
|
|
import {Observable} from 'vendor/npm/rxjs/Observable';
|
|
|
|
|
|
+class DataObservable {
|
|
|
+ target: any;
|
|
|
+
|
|
|
+ constructor(target) {
|
|
|
+ this.target = target;
|
|
|
+ }
|
|
|
+
|
|
|
+ subscribe(options) {
|
|
|
+ var observable = liveSrv.subscribe(this.target.stream);
|
|
|
+ return observable.subscribe(data => {
|
|
|
+ console.log("grafana stream ds data!", data);
|
|
|
+ });
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
export class GrafanaStreamDS {
|
|
|
subscription: any;
|
|
|
|
|
|
@@ -12,30 +27,15 @@ export class GrafanaStreamDS {
|
|
|
|
|
|
}
|
|
|
|
|
|
- query(options) {
|
|
|
+ query(options): any {
|
|
|
if (options.targets.length === 0) {
|
|
|
return Promise.resolve({data: []});
|
|
|
}
|
|
|
|
|
|
var target = options.targets[0];
|
|
|
+ var observable = new DataObservable(target);
|
|
|
|
|
|
- if (this.subscription) {
|
|
|
- if (this.subscription.stream !== target.stream) {
|
|
|
- this.subscription.unsubscribe();
|
|
|
- } else {
|
|
|
- return Promise.resolve({data: []});
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- var observable = liveSrv.subscribe(target.stream);
|
|
|
-
|
|
|
- this.subscription = observable.subscribe(data => {
|
|
|
- console.log("grafana stream ds data!", data);
|
|
|
- });
|
|
|
-
|
|
|
- this.subscription.stream = target.stream;
|
|
|
-
|
|
|
- return Promise.resolve({data: []});
|
|
|
+ return Promise.resolve(observable);
|
|
|
}
|
|
|
}
|
|
|
|