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. -->
+
+
+