diff --git a/src/graphql/fragments/trace.ts b/src/graphql/fragments/trace.ts index 2dd391a1..c1492f94 100644 --- a/src/graphql/fragments/trace.ts +++ b/src/graphql/fragments/trace.ts @@ -74,3 +74,14 @@ export const TraceSpans = { } `, }; +export const TraceTagKeys = { + variable: "$duration: Duration!", + query: ` + tagKeys: queryTraceTagAutocompleteKeys(duration: $duration)`, +}; + +export const TraceTagValues = { + variable: "tagKey: String!, $duration: Duration!", + query: ` + tagValues: queryTraceTagAutocompleteValues(tagKey: $tagKey, duration: $duration)`, +}; diff --git a/src/graphql/query/trace.ts b/src/graphql/query/trace.ts index 6195160a..c4ce706f 100644 --- a/src/graphql/query/trace.ts +++ b/src/graphql/query/trace.ts @@ -15,8 +15,17 @@ * limitations under the License. */ -import { Traces, TraceSpans } from "../fragments/trace"; +import { + Traces, + TraceSpans, + TraceTagKeys, + TraceTagValues, +} from "../fragments/trace"; export const queryTraces = `query queryTraces(${Traces.variable}) {${Traces.query}}`; export const queryTrace = `query queryTrace(${TraceSpans.variable}) {${TraceSpans.query}}`; + +export const queryTraceTagKeys = `query queryTraceTagKeys(${TraceTagKeys.variable}) {${TraceTagKeys.query}}`; + +export const queryTraceTagValues = `query queryTraceTagValues(${TraceTagValues.variable}) {${TraceTagValues.query}}`; diff --git a/src/store/modules/trace.ts b/src/store/modules/trace.ts index 794cdffa..85a3fec3 100644 --- a/src/store/modules/trace.ts +++ b/src/store/modules/trace.ts @@ -161,6 +161,20 @@ export const traceStore = defineStore({ this.traceSpanLogsTotal = res.data.data.queryLogs.total; return res.data; }, + async getTagKeys() { + const res: AxiosResponse = await graphql + .query("queryTraceTagKeys") + .params({ duration: useAppStoreWithOut().durationTime }); + + return res.data; + }, + async getTagValues(tagKey: string) { + const res: AxiosResponse = await graphql + .query("queryTraceTagValues") + .params({ tagKey, duration: useAppStoreWithOut().durationTime }); + + return res.data; + }, }, }); diff --git a/src/views/components/ConditionTags.vue b/src/views/components/ConditionTags.vue index 19b58548..66e0df76 100644 --- a/src/views/components/ConditionTags.vue +++ b/src/views/components/ConditionTags.vue @@ -26,12 +26,22 @@ limitations under the License. --> + + +