fix: view related trace

This commit is contained in:
Fine 2023-06-16 10:56:26 +08:00
parent 19c09966ef
commit c4489c7640
3 changed files with 19 additions and 10 deletions

View File

@ -122,9 +122,9 @@ export const RespFields: Indexable = {
} }
} }
values { values {
id name: id
value value
traceID refId: traceID
} }
} }
error error

View File

@ -37,7 +37,7 @@ limitations under the License. -->
metricConfig: config.metricConfig, metricConfig: config.metricConfig,
metricMode: config.metricMode, metricMode: config.metricMode,
expressions: config.expressions || [], expressions: config.expressions || [],
typesOfMQE: config.typesOfMQE || [], typesOfMQE: typesOfMQE || [],
subExpressions: config.subExpressions || [], subExpressions: config.subExpressions || [],
subTypesOfMQE: config.subTypesOfMQE || [], subTypesOfMQE: config.subTypesOfMQE || [],
}" }"
@ -80,6 +80,7 @@ limitations under the License. -->
const dashboardStore = useDashboardStore(); const dashboardStore = useDashboardStore();
const title = computed(() => (config.value.widget && config.value.widget.title) || ""); const title = computed(() => (config.value.widget && config.value.widget.title) || "");
const tips = computed(() => (config.value.widget && config.value.widget.tips) || ""); const tips = computed(() => (config.value.widget && config.value.widget.tips) || "");
const typesOfMQE = ref<string[]>([]);
init(); init();
async function init() { async function init() {
@ -137,8 +138,10 @@ limitations under the License. -->
metricConfig: config.value.metricConfig || [], metricConfig: config.value.metricConfig || [],
subExpressions: config.value.subExpressions || [], subExpressions: config.value.subExpressions || [],
}); });
loading.value = false; loading.value = false;
source.value = params.source || {}; source.value = params.source || {};
typesOfMQE.value = params.typesOfMQE;
return; return;
} }
const params = await useQueryProcessor({ ...config.value }); const params = await useQueryProcessor({ ...config.value });
@ -173,6 +176,7 @@ limitations under the License. -->
config, config,
title, title,
tips, tips,
typesOfMQE,
}; };
}, },
}); });

View File

@ -20,7 +20,7 @@ limitations under the License. -->
<div class="desc"> <div class="desc">
<span class="calls mr-10">{{ i.value }}</span> <span class="calls mr-10">{{ i.value }}</span>
<span class="cp mr-20"> <span class="cp mr-20">
{{ i.name || i.id }} {{ i.name }}
</span> </span>
</div> </div>
<el-popover placement="bottom" trigger="click"> <el-popover placement="bottom" trigger="click">
@ -64,21 +64,23 @@ limitations under the License. -->
import copy from "@/utils/copy"; import copy from "@/utils/copy";
import { TextColors } from "@/views/dashboard/data"; import { TextColors } from "@/views/dashboard/data";
import Trace from "@/views/dashboard/related/trace/Index.vue"; import Trace from "@/views/dashboard/related/trace/Index.vue";
import { QueryOrders, Status, RefIdTypes, ProtocolTypes } from "../data"; import { QueryOrders, Status, RefIdTypes, ProtocolTypes, ExpressionResultType } from "../data";
/*global defineProps */ /*global defineProps */
const props = defineProps({ const props = defineProps({
data: { data: {
type: Object as PropType<{ type: Object as PropType<{
[key: string]: { name: string; value: number; id: string }[]; [key: string]: { name: string; value: number; refId: string }[];
}>, }>,
default: () => ({}), default: () => ({}),
}, },
config: { config: {
type: Object as PropType<{ type: Object as PropType<{
metricMode: string;
color: string; color: string;
metrics: string[]; metrics: string[];
metricTypes: string[]; metricTypes: string[];
typesOfMQE: string[];
relatedTrace: any; relatedTrace: any;
}>, }>,
default: () => ({ color: "purple" }), default: () => ({ color: "purple" }),
@ -107,14 +109,17 @@ limitations under the License. -->
function handleClick(i: string) { function handleClick(i: string) {
copy(i); copy(i);
} }
function viewTrace(item: { name: string; id: string; value: unknown }) { function viewTrace(item: { name: string; refId: string; value: unknown }) {
const filters = { const filters = {
...item, ...item,
queryOrder: QueryOrders[1].value, queryOrder: QueryOrders[1].value,
status: Status[2].value, status: Status[2].value,
id: item.id || item.name, id: item.refId,
metricValue: [{ label: props.config.metrics[0], data: item.value, value: item.name }], metricValue: [{ label: props.config.metrics[0], data: item.value, value: item.name }],
isReadRecords: props.config.metricTypes.includes(ProtocolTypes.ReadRecords) || undefined, isReadRecords:
props.config.typesOfMQE.includes(ExpressionResultType.RECORD_LIST) ||
props.config.metricTypes.includes(ProtocolTypes.ReadRecords) ||
undefined,
}; };
traceOptions.value = { traceOptions.value = {
...traceOptions.value, ...traceOptions.value,
@ -163,7 +168,7 @@ limitations under the License. -->
} }
.chart-slow-link { .chart-slow-link {
padding: 4px 10px 7px 10px; padding: 4px 10px 7px;
border-radius: 4px; border-radius: 4px;
border: 1px solid #ddd; border: 1px solid #ddd;
color: #333; color: #333;