datasource.ts 674 B

12345678910111213141516171819202122232425262728293031323334
  1. import { liveSrv } from 'app/core/core';
  2. class DataObservable {
  3. target: any;
  4. constructor(target) {
  5. this.target = target;
  6. }
  7. subscribe(options) {
  8. const observable = liveSrv.subscribe(this.target.stream);
  9. return observable.subscribe(data => {
  10. console.log('grafana stream ds data!', data);
  11. });
  12. }
  13. }
  14. export class GrafanaStreamDS {
  15. subscription: any;
  16. /** @ngInject */
  17. constructor() {}
  18. query(options): any {
  19. if (options.targets.length === 0) {
  20. return Promise.resolve({ data: [] });
  21. }
  22. const target = options.targets[0];
  23. const observable = new DataObservable(target);
  24. return Promise.resolve(observable);
  25. }
  26. }