diff --git a/public/app/plugins/datasource/tempo/datasource.ts b/public/app/plugins/datasource/tempo/datasource.ts index bccd697c1db..67b7e708a19 100644 --- a/public/app/plugins/datasource/tempo/datasource.ts +++ b/public/app/plugins/datasource/tempo/datasource.ts @@ -811,7 +811,7 @@ export class TempoDatasource extends DataSourceWithBackend doTempoSearchStreaming( - { ...target, query }, + { ...target, query: this.applyVariables(target, options.scopedVars).query }, this, // the datasource options, this.instanceSettings @@ -857,7 +857,7 @@ export class TempoDatasource extends DataSourceWithBackend doTempoMetricsStreaming( - { ...target, query }, + { ...target, query: this.applyVariables(target, options.scopedVars).query }, this, // the datasource options ) diff --git a/public/app/plugins/datasource/tempo/streaming.ts b/public/app/plugins/datasource/tempo/streaming.ts index 3ea011d3185..ef72768a6d1 100644 --- a/public/app/plugins/datasource/tempo/streaming.ts +++ b/public/app/plugins/datasource/tempo/streaming.ts @@ -5,6 +5,7 @@ import { v4 as uuidv4 } from 'uuid'; import { DataFrame, dataFrameFromJSON, + DataFrameJSON, DataQueryRequest, DataQueryResponse, DataSourceInstanceSettings, @@ -165,7 +166,15 @@ export function doTempoMetricsStreaming( } newResult = { - data: data?.map(dataFrameFromJSON) ?? [], + data: + data?.map((frame: DataFrameJSON) => { + const df = dataFrameFromJSON(frame); + // preserve the query's refId to prevent conflation of series from different queries + if (query.refId) { + df.refId = query.refId; + } + return df; + }) ?? [], state, }; }