diff --git a/public/app/plugins/datasource/elasticsearch/datasource.ts b/public/app/plugins/datasource/elasticsearch/datasource.ts index 3a4856233e2..3f75a3cc0cb 100644 --- a/public/app/plugins/datasource/elasticsearch/datasource.ts +++ b/public/app/plugins/datasource/elasticsearch/datasource.ts @@ -31,6 +31,7 @@ import { SupplementaryQueryOptions, toUtc, AnnotationEvent, + FieldType, } from '@grafana/data'; import { DataSourceWithBackend, getDataSourceSrv, config, BackendSrvRequest } from '@grafana/runtime'; import { getTimeSrv, TimeSrv } from 'app/features/dashboard/services/TimeSrv'; @@ -626,7 +627,7 @@ export class ElasticDatasource { range: request.range, targets: request.targets, - extractLevel: (dataFrame) => getLogLevelFromKey(dataFrame.name || ''), + extractLevel, } ); } @@ -1155,3 +1156,9 @@ function createContextTimeRange(rowTimeEpochMs: number, direction: string, inter } } } + +function extractLevel(dataFrame: DataFrame): LogLevel { + const valueField = dataFrame.fields.find((f) => f.type === FieldType.number); + const name = valueField?.labels?.['level'] ?? ''; + return getLogLevelFromKey(name); +}