Convert frames to wide format if possible

This commit is contained in:
Alexander Zobnin
2021-05-28 13:02:11 +03:00
parent 4bb7fdd1fc
commit 3dd00c4699
2 changed files with 7 additions and 8 deletions

View File

@@ -103,8 +103,8 @@ func seriesToDataFrame(series *timeseries.TimeSeriesData) *data.Frame {
timeFileld.Name = data.TimeSeriesTimeFieldName
seriesName := series.Meta.Name
valueField := data.NewFieldFromFieldType(data.FieldTypeNullableFloat64, 0)
valueField.Name = seriesName
frame := data.NewFrame("", timeFileld, valueField)
valueField.Name = data.TimeSeriesValueFieldName
frame := data.NewFrame(seriesName, timeFileld, valueField)
for _, point := range series.TS {
timeFileld.Append(point.Time)

View File

@@ -252,6 +252,10 @@ export class ZabbixDatasource extends DataSourceApi<ZabbixMetricsQuery, ZabbixDS
const resp = toDataQueryResponse(rsp);
this.sortByRefId(resp);
this.applyFrontendFunctions(resp, request);
if (responseHandler.isConvertibleToWide(resp.data)) {
console.log('Converting response to the wide format');
resp.data = responseHandler.convertToWide(resp.data);
}
return resp;
}),
catchError((err) => {
@@ -388,12 +392,7 @@ export class ZabbixDatasource extends DataSourceApi<ZabbixMetricsQuery, ZabbixDS
// Apply alias functions
const aliasFunctions = bindFunctionDefs(target.functions, 'Alias');
for (let fieldIndex = 0; fieldIndex < frame.fields.length; fieldIndex++) {
const field = frame.fields[fieldIndex];
if (field.type !== FieldType.time) {
utils.sequence(aliasFunctions)(field);
}
}
utils.sequence(aliasFunctions)(frame);
}
return response;
}