result_transformer.ts 740 B

12345678910111213141516171819202122232425
  1. import { LokiLogsStream } from './types';
  2. import { parseLabels, FieldType, Labels, DataFrameHelper } from '@grafana/data';
  3. export function logStreamToDataFrame(stream: LokiLogsStream, refId?: string): DataFrameHelper {
  4. let labels: Labels = stream.parsedLabels;
  5. if (!labels && stream.labels) {
  6. labels = parseLabels(stream.labels);
  7. }
  8. const time: string[] = [];
  9. const lines: string[] = [];
  10. for (const entry of stream.entries) {
  11. time.push(entry.ts || entry.timestamp);
  12. lines.push(entry.line);
  13. }
  14. return new DataFrameHelper({
  15. refId,
  16. labels,
  17. fields: [
  18. { name: 'ts', type: FieldType.time, values: time }, // Time
  19. { name: 'line', type: FieldType.string, values: lines }, // Line
  20. ],
  21. });
  22. }