datasource.ts 858 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. ///<reference path="../../../headers/common.d.ts" />
  2. import {liveSrv} from 'app/core/core';
  3. import {Observable} from 'vendor/npm/rxjs/Observable';
  4. export class GrafanaStreamDS {
  5. subscription: any;
  6. /** @ngInject */
  7. constructor() {
  8. }
  9. query(options) {
  10. if (options.targets.length === 0) {
  11. return Promise.resolve({data: []});
  12. }
  13. var target = options.targets[0];
  14. if (this.subscription) {
  15. if (this.subscription.stream !== target.stream) {
  16. this.subscription.unsubscribe();
  17. } else {
  18. return Promise.resolve({data: []});
  19. }
  20. }
  21. var observable = liveSrv.subscribe(target.stream);
  22. this.subscription = observable.subscribe(data => {
  23. console.log("grafana stream ds data!", data);
  24. });
  25. this.subscription.stream = target.stream;
  26. return Promise.resolve({data: []});
  27. }
  28. }