diff --git a/src/hooks/useExpressionsProcessor.ts b/src/hooks/useExpressionsProcessor.ts index 408dd724..60c66abe 100644 --- a/src/hooks/useExpressionsProcessor.ts +++ b/src/hooks/useExpressionsProcessor.ts @@ -119,14 +119,26 @@ export async function useExpressionsQueryProcessor(config: Indexable) { } else { for (const item of results) { const values = item.values.map((d: { value: unknown }) => d.value) || []; - const label = item.metric.labels.map((d: any) => `${d.key}=${d.value}`).join(","); + const label = item.metric.labels + .map((d: { key: string; value: string }) => `${d.key}=${d.value}`) + .join(","); source[label] = values; } } } 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: { key: string; value: string }) => `${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..2ab46c05 100644 --- a/src/views/dashboard/graphs/Table.vue +++ b/src/views/dashboard/graphs/Table.vue @@ -37,12 +37,7 @@ limitations under the License. --> >{{ k.split("=")[1] }}