创建数据帧
数据帧是一种柱状数据结构,可以高效查询大量数据。由于数据帧是为 Grafana 开发数据源和其他插件时的核心概念,在本指南中,我们将了解如何使用它们。
DataFrame
接口包含一个 name
和一个 fields
数组,其中每个字段都包含字段的名称、类型和值。
注意
如果您想迁移现有插件以使用数据帧格式,请参阅迁移到数据帧。
创建数据帧
如果您构建数据源插件,那么您很可能希望将来自外部 API 的响应转换为数据帧。让我们看看如何做到这一点。
让我们从创建一个表示时间序列的简单数据帧开始。创建数据帧的最简单方法是使用 toDataFrame
函数。
// Need to be of the same length.
const timeValues = [1599471973065, 1599471975729];
const numberValues = [12.3, 28.6];
// Create data frame from values.
const frame = toDataFrame({
name: 'http_requests_total',
fields: [
{ name: 'Time', type: FieldType.time, values: timeValues },
{ name: 'Value', type: FieldType.number, values: numberValues },
],
});
注意
表示时间序列的数据帧至少包含一个 time
字段和一个 number
字段。按照惯例,内置插件使用 Time
和 Value
作为包含时间序列数据的数据帧的字段名称。
正如您从示例中看到的,要创建这样的数据帧,您的数据必须已经存储为柱状数据。如果您已经拥有对象数组形式的记录,则可以将其传递给 toDataFrame
。在这种情况下,toDataFrame
会尝试根据数组中对象的类型和名称来猜测模式。要以这种方式创建复杂的数据帧,请务必验证您是否获得了期望的模式。
const series = [
{ Time: 1599471973065, Value: 12.3 },
{ Time: 1599471975729, Value: 28.6 },
];
const frame = toDataFrame(series);
frame.name = 'http_requests_total';