diff --git a/public/app/plugins/datasource/elasticsearch/datasource.ts b/public/app/plugins/datasource/elasticsearch/datasource.ts index 8f280972dc7..266c513397d 100644 --- a/public/app/plugins/datasource/elasticsearch/datasource.ts +++ b/public/app/plugins/datasource/elasticsearch/datasource.ts @@ -32,6 +32,7 @@ import { Field, LogRowContextQueryDirection, LogRowContextOptions, + FieldType, } from '@grafana/data'; import { BackendSrvRequest, DataSourceWithBackend, getBackendSrv, getDataSourceSrv, config } from '@grafana/runtime'; import { queryLogsVolume } from 'app/core/logsModel'; @@ -683,7 +684,7 @@ export class ElasticDatasource { range: request.range, targets: request.targets, - extractLevel: (dataFrame) => getLogLevelFromKey(dataFrame.name || ''), + extractLevel, } ); } @@ -1282,3 +1283,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); +}