diff --git a/src/hooks/useExpressionsProcessor.ts b/src/hooks/useExpressionsProcessor.ts index 408dd724..11f57a95 100644 --- a/src/hooks/useExpressionsProcessor.ts +++ b/src/hooks/useExpressionsProcessor.ts @@ -126,7 +126,15 @@ export async function useExpressionsQueryProcessor(config: Indexable) { } } if (type === ExpressionResultType.SINGLE_VALUE) { - source[c.label || name] = (results[0].values[0] || {}).value; + for (const item of results) { + const label = item.metric.labels.map((d: any) => `${d.key}=${d.value}`).join(","); + const values = item.values.map((d: { value: unknown }) => d.value) || []; + if (results.length === 1) { + source[label || c.label || name] = values; + } else { + source[label] = values; + } + } } if (([ExpressionResultType.RECORD_LIST, ExpressionResultType.SORTED_LIST] as string[]).includes(type)) { source[name] = results[0].values; diff --git a/src/views/dashboard/graphs/Table.vue b/src/views/dashboard/graphs/Table.vue index 5813c075..b5f3cd95 100644 --- a/src/views/dashboard/graphs/Table.vue +++ b/src/views/dashboard/graphs/Table.vue @@ -76,10 +76,6 @@ limitations under the License. --> const keys = Object.keys(props.data || {}); return keys; } - if (props.config.typesOfMQE && props.config.typesOfMQE[0] === ExpressionResultType.SINGLE_VALUE) { - const keys = Object.keys(props.data || {}); - return keys; - } const keys = Object.keys(props.data || {}).filter( (i: string) => Array.isArray(props.data[i]) && props.data[i].length, );