2021-05-10 14:00:59 -05:00
|
|
|
import { DataFrame, FieldType } from '@grafana/data';
|
|
|
|
|
import {
|
2023-01-10 17:42:45 -06:00
|
|
|
isHistogramFrameBucketMinFieldName,
|
|
|
|
|
isHistogramFrameBucketMaxFieldName,
|
2021-05-10 14:00:59 -05:00
|
|
|
} from '@grafana/data/src/transformations/transformers/histogram';
|
|
|
|
|
|
|
|
|
|
export function originalDataHasHistogram(frames?: DataFrame[]): boolean {
|
|
|
|
|
if (frames?.length !== 1) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
const frame = frames[0];
|
|
|
|
|
if (frame.fields.length < 3) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (
|
2023-01-10 17:42:45 -06:00
|
|
|
!isHistogramFrameBucketMinFieldName(frame.fields[0].name) ||
|
|
|
|
|
!isHistogramFrameBucketMaxFieldName(frame.fields[1].name)
|
2021-05-10 14:00:59 -05:00
|
|
|
) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
for (const field of frame.fields) {
|
|
|
|
|
if (field.type !== FieldType.number) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|