series.ts 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { PluginMeta } from './plugins';
  2. import { TimeSeries, TimeRange, RawTimeRange } from '@grafana/ui';
  3. export interface DataQueryResponse {
  4. data: TimeSeries[];
  5. }
  6. export interface DataQuery {
  7. refId: string;
  8. [key: string]: any;
  9. }
  10. export interface DataQueryOptions {
  11. timezone: string;
  12. range: TimeRange;
  13. rangeRaw: RawTimeRange;
  14. targets: DataQuery[];
  15. panelId: number;
  16. dashboardId: number;
  17. cacheTimeout?: string;
  18. interval: string;
  19. intervalMs: number;
  20. maxDataPoints: number;
  21. scopedVars: object;
  22. }
  23. export interface DataSourceApi {
  24. /**
  25. * min interval range
  26. */
  27. interval?: string;
  28. /**
  29. * Imports queries from a different datasource
  30. */
  31. importQueries?(queries: DataQuery[], originMeta: PluginMeta): Promise<DataQuery[]>;
  32. /**
  33. * Initializes a datasource after instantiation
  34. */
  35. init?: () => void;
  36. /**
  37. * Main metrics / data query action
  38. */
  39. query(options: DataQueryOptions): Promise<DataQueryResponse>;
  40. /**
  41. * Test & verify datasource settings & connection details
  42. */
  43. testDatasource(): Promise<any>;
  44. }