mirror of
https://github.com/apache/skywalking-booster-ui.git
synced 2025-07-18 14:45:25 +00:00
set log tags
This commit is contained in:
parent
310b6289a7
commit
ce8b2e7b88
@ -63,3 +63,15 @@ export const QueryLogsByKeywords = {
|
|||||||
query: `
|
query: `
|
||||||
support: supportQueryLogsByKeywords`,
|
support: supportQueryLogsByKeywords`,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const LogTagKeys = {
|
||||||
|
variable: "$duration: Duration!",
|
||||||
|
query: `
|
||||||
|
tagKeys: queryLogTagAutocompleteKeys(duration: $duration)`,
|
||||||
|
};
|
||||||
|
|
||||||
|
export const LogTagValues = {
|
||||||
|
variable: "$tagKey: String!, $duration: Duration!",
|
||||||
|
query: `
|
||||||
|
tagValues: queryLogTagAutocompleteValues(tagKey: $tagKey, duration: $duration)`,
|
||||||
|
};
|
||||||
|
@ -19,9 +19,13 @@ import {
|
|||||||
QueryBrowserErrorLogs,
|
QueryBrowserErrorLogs,
|
||||||
QueryServiceLogs,
|
QueryServiceLogs,
|
||||||
QueryLogsByKeywords,
|
QueryLogsByKeywords,
|
||||||
|
LogTagValues,
|
||||||
|
LogTagKeys,
|
||||||
} from "../fragments/log";
|
} from "../fragments/log";
|
||||||
|
|
||||||
export const queryBrowserErrorLogs = `query queryBrowserErrorLogs(${QueryBrowserErrorLogs.variable}) {
|
export const queryBrowserErrorLogs = `query queryBrowserErrorLogs(${QueryBrowserErrorLogs.variable}) {
|
||||||
${QueryBrowserErrorLogs.query}}`;
|
${QueryBrowserErrorLogs.query}}`;
|
||||||
export const queryServiceLogs = `query queryLogs(${QueryServiceLogs.variable}) {${QueryServiceLogs.query}}`;
|
export const queryServiceLogs = `query queryLogs(${QueryServiceLogs.variable}) {${QueryServiceLogs.query}}`;
|
||||||
export const queryLogsByKeywords = `query queryLogsByKeywords {${QueryLogsByKeywords.query}}`;
|
export const queryLogsByKeywords = `query queryLogsByKeywords {${QueryLogsByKeywords.query}}`;
|
||||||
|
export const queryLogTagValues = `query queryTagValues(${LogTagValues.variable}) {${LogTagValues.query}}`;
|
||||||
|
export const queryLogTagKeys = `query queryTagKeys(${LogTagKeys.variable}) {${LogTagKeys.query}}`;
|
||||||
|
@ -151,6 +151,20 @@ export const logStore = defineStore({
|
|||||||
this.logsTotal = res.data.data.queryBrowserErrorLogs.total;
|
this.logsTotal = res.data.data.queryBrowserErrorLogs.total;
|
||||||
return res.data;
|
return res.data;
|
||||||
},
|
},
|
||||||
|
async getLogTagKeys() {
|
||||||
|
const res: AxiosResponse = await graphql
|
||||||
|
.query("queryLogTagKeys")
|
||||||
|
.params({ duration: useAppStoreWithOut().durationTime });
|
||||||
|
|
||||||
|
return res.data;
|
||||||
|
},
|
||||||
|
async getLogTagValues(tagKey: string) {
|
||||||
|
const res: AxiosResponse = await graphql
|
||||||
|
.query("queryLogTagValues")
|
||||||
|
.params({ tagKey, duration: useAppStoreWithOut().durationTime });
|
||||||
|
|
||||||
|
return res.data;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -79,14 +79,16 @@ limitations under the License. -->
|
|||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
import { useTraceStore } from "@/store/modules/trace";
|
import { useTraceStore } from "@/store/modules/trace";
|
||||||
|
import { useLogStore } from "@/store/modules/log";
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
|
|
||||||
/*global defineEmits, defineProps */
|
/*global defineEmits, defineProps */
|
||||||
const emit = defineEmits(["update"]);
|
const emit = defineEmits(["update"]);
|
||||||
defineProps({
|
const props = defineProps({
|
||||||
type: { type: String, default: "TRACE" },
|
type: { type: String, default: "TRACE" },
|
||||||
});
|
});
|
||||||
const traceStore = useTraceStore();
|
const traceStore = useTraceStore();
|
||||||
|
const logStore = useLogStore();
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const theme = ref<string>("dark");
|
const theme = ref<string>("dark");
|
||||||
const tags = ref<string>("");
|
const tags = ref<string>("");
|
||||||
@ -100,7 +102,6 @@ const tipsMap = {
|
|||||||
};
|
};
|
||||||
const dropdownTag = ref();
|
const dropdownTag = ref();
|
||||||
|
|
||||||
fetchTagKeys();
|
|
||||||
function removeTags(index: number) {
|
function removeTags(index: number) {
|
||||||
tagsList.value.splice(index, 1);
|
tagsList.value.splice(index, 1);
|
||||||
updateTags();
|
updateTags();
|
||||||
@ -124,7 +125,12 @@ function updateTags() {
|
|||||||
emit("update", { tagsMap, tagsList: tagsList.value });
|
emit("update", { tagsMap, tagsList: tagsList.value });
|
||||||
}
|
}
|
||||||
async function fetchTagKeys() {
|
async function fetchTagKeys() {
|
||||||
const resp = await traceStore.getTagKeys();
|
let resp: any = {};
|
||||||
|
if (props.type === "TRACE") {
|
||||||
|
resp = await traceStore.getTagKeys();
|
||||||
|
} else {
|
||||||
|
resp = await logStore.getLogTagKeys();
|
||||||
|
}
|
||||||
|
|
||||||
if (resp.errors) {
|
if (resp.errors) {
|
||||||
ElMessage.error(resp.errors);
|
ElMessage.error(resp.errors);
|
||||||
@ -136,7 +142,12 @@ async function fetchTagKeys() {
|
|||||||
|
|
||||||
async function fetchTagValues() {
|
async function fetchTagValues() {
|
||||||
const param = tags.value.split("=")[0];
|
const param = tags.value.split("=")[0];
|
||||||
const resp = await traceStore.getTagValues(param);
|
let resp: any = {};
|
||||||
|
if (props.type === "TRACE") {
|
||||||
|
resp = await traceStore.getTagValues(param);
|
||||||
|
} else {
|
||||||
|
resp = await logStore.getLogTagValues(param);
|
||||||
|
}
|
||||||
|
|
||||||
if (resp.errors) {
|
if (resp.errors) {
|
||||||
ElMessage.error(resp.errors);
|
ElMessage.error(resp.errors);
|
||||||
@ -159,6 +170,11 @@ function selectTag(item: string) {
|
|||||||
|
|
||||||
function showClick() {
|
function showClick() {
|
||||||
dropdownTag.value.handleOpen();
|
dropdownTag.value.handleOpen();
|
||||||
|
if (tags.value.includes("=")) {
|
||||||
|
fetchTagValues();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
fetchTagKeys();
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
Loading…
Reference in New Issue
Block a user