From 2d61022d93b27354e31427ee492ad00b9c31d57e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Farkas?= Date: Thu, 31 Mar 2022 10:48:03 +0200 Subject: [PATCH] logs: better handle missing fields (#46963) --- public/app/core/logs_model.ts | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/public/app/core/logs_model.ts b/public/app/core/logs_model.ts index d2f66114231..3bee4f2b5d3 100644 --- a/public/app/core/logs_model.ts +++ b/public/app/core/logs_model.ts @@ -326,24 +326,27 @@ export function logSeriesToLogsModel(logSeries: DataFrame[]): LogsModel | undefi const seriesWithFields = logSeries.filter((series) => series.fields.length); if (seriesWithFields.length) { - allSeries = seriesWithFields.map((series) => { + seriesWithFields.forEach((series) => { const fieldCache = new FieldCache(series); const stringField = fieldCache.getFirstFieldOfType(FieldType.string); + const timeField = fieldCache.getFirstFieldOfType(FieldType.time); - if (stringField?.labels) { - allLabels.push(stringField.labels); + if (stringField !== undefined && timeField !== undefined) { + if (stringField?.labels) { + allLabels.push(stringField.labels); + } + + allSeries.push({ + series, + timeField, + timeNanosecondField: fieldCache.hasFieldWithNameAndType('tsNs', FieldType.time) + ? fieldCache.getFieldByName('tsNs') + : undefined, + stringField, + logLevelField: fieldCache.getFieldByName('level'), + idField: getIdField(fieldCache), + }); } - - return { - series, - timeField: fieldCache.getFirstFieldOfType(FieldType.time), - timeNanosecondField: fieldCache.hasFieldWithNameAndType('tsNs', FieldType.time) - ? fieldCache.getFieldByName('tsNs') - : undefined, - stringField, - logLevelField: fieldCache.getFieldByName('level'), - idField: getIdField(fieldCache), - } as LogFields; }); }