mirror of
https://github.com/apache/skywalking-booster-ui.git
synced 2025-05-02 06:34:01 +00:00
feat: remove the total filed from query conditions (#93)
This commit is contained in:
parent
7e0d716111
commit
b953904c71
@ -54,7 +54,6 @@ export const QueryServiceLogs = {
|
|||||||
value
|
value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
total
|
|
||||||
}`,
|
}`,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -27,7 +27,6 @@ export const Traces = {
|
|||||||
isError
|
isError
|
||||||
traceIds
|
traceIds
|
||||||
}
|
}
|
||||||
total
|
|
||||||
}`,
|
}`,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -31,7 +31,6 @@ interface LogState {
|
|||||||
selectorStore: any;
|
selectorStore: any;
|
||||||
supportQueryLogsByKeywords: boolean;
|
supportQueryLogsByKeywords: boolean;
|
||||||
logs: any[];
|
logs: any[];
|
||||||
logsTotal: number;
|
|
||||||
loadLogs: boolean;
|
loadLogs: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,12 +42,11 @@ export const logStore = defineStore({
|
|||||||
endpoints: [{ value: "0", label: "All" }],
|
endpoints: [{ value: "0", label: "All" }],
|
||||||
conditions: {
|
conditions: {
|
||||||
queryDuration: useAppStoreWithOut().durationTime,
|
queryDuration: useAppStoreWithOut().durationTime,
|
||||||
paging: { pageNum: 1, pageSize: 15, needTotal: true },
|
paging: { pageNum: 1, pageSize: 15 },
|
||||||
},
|
},
|
||||||
supportQueryLogsByKeywords: true,
|
supportQueryLogsByKeywords: true,
|
||||||
selectorStore: useSelectorStore(),
|
selectorStore: useSelectorStore(),
|
||||||
logs: [],
|
logs: [],
|
||||||
logsTotal: 0,
|
|
||||||
loadLogs: false,
|
loadLogs: false,
|
||||||
}),
|
}),
|
||||||
actions: {
|
actions: {
|
||||||
@ -131,7 +129,6 @@ export const logStore = defineStore({
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.logs = res.data.data.queryLogs.logs;
|
this.logs = res.data.data.queryLogs.logs;
|
||||||
this.logsTotal = res.data.data.queryLogs.total;
|
|
||||||
return res.data;
|
return res.data;
|
||||||
},
|
},
|
||||||
async getBrowserLogs() {
|
async getBrowserLogs() {
|
||||||
@ -145,7 +142,6 @@ export const logStore = defineStore({
|
|||||||
return res.data;
|
return res.data;
|
||||||
}
|
}
|
||||||
this.logs = res.data.data.queryBrowserErrorLogs.logs;
|
this.logs = res.data.data.queryBrowserErrorLogs.logs;
|
||||||
this.logsTotal = res.data.data.queryBrowserErrorLogs.total;
|
|
||||||
return res.data;
|
return res.data;
|
||||||
},
|
},
|
||||||
async getLogTagKeys() {
|
async getLogTagKeys() {
|
||||||
|
@ -28,12 +28,10 @@ interface TraceState {
|
|||||||
instances: Instance[];
|
instances: Instance[];
|
||||||
endpoints: Endpoint[];
|
endpoints: Endpoint[];
|
||||||
traceList: Trace[];
|
traceList: Trace[];
|
||||||
traceTotal: number;
|
|
||||||
traceSpans: Span[];
|
traceSpans: Span[];
|
||||||
currentTrace: Trace | any;
|
currentTrace: Trace | any;
|
||||||
conditions: any;
|
conditions: any;
|
||||||
traceSpanLogs: any[];
|
traceSpanLogs: any[];
|
||||||
traceSpanLogsTotal: number;
|
|
||||||
selectorStore: any;
|
selectorStore: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,16 +43,14 @@ export const traceStore = defineStore({
|
|||||||
endpoints: [{ value: "0", label: "All" }],
|
endpoints: [{ value: "0", label: "All" }],
|
||||||
traceList: [],
|
traceList: [],
|
||||||
traceSpans: [],
|
traceSpans: [],
|
||||||
traceTotal: 0,
|
|
||||||
currentTrace: {},
|
currentTrace: {},
|
||||||
conditions: {
|
conditions: {
|
||||||
queryDuration: useAppStoreWithOut().durationTime,
|
queryDuration: useAppStoreWithOut().durationTime,
|
||||||
traceState: "ALL",
|
traceState: "ALL",
|
||||||
queryOrder: "BY_START_TIME",
|
queryOrder: "BY_START_TIME",
|
||||||
paging: { pageNum: 1, pageSize: 15, needTotal: true },
|
paging: { pageNum: 1, pageSize: 20 },
|
||||||
},
|
},
|
||||||
traceSpanLogs: [],
|
traceSpanLogs: [],
|
||||||
traceSpanLogsTotal: 0,
|
|
||||||
selectorStore: useSelectorStore(),
|
selectorStore: useSelectorStore(),
|
||||||
}),
|
}),
|
||||||
actions: {
|
actions: {
|
||||||
@ -115,7 +111,6 @@ export const traceStore = defineStore({
|
|||||||
return res.data;
|
return res.data;
|
||||||
}
|
}
|
||||||
if (!res.data.data.data.traces.length) {
|
if (!res.data.data.data.traces.length) {
|
||||||
this.traceTotal = 0;
|
|
||||||
this.traceList = [];
|
this.traceList = [];
|
||||||
this.setCurrentTrace({});
|
this.setCurrentTrace({});
|
||||||
this.setTraceSpans([]);
|
this.setTraceSpans([]);
|
||||||
@ -128,7 +123,6 @@ export const traceStore = defineStore({
|
|||||||
});
|
});
|
||||||
return d;
|
return d;
|
||||||
});
|
});
|
||||||
this.traceTotal = res.data.data.data.total;
|
|
||||||
this.setCurrentTrace(res.data.data.data.traces[0] || {});
|
this.setCurrentTrace(res.data.data.data.traces[0] || {});
|
||||||
return res.data;
|
return res.data;
|
||||||
},
|
},
|
||||||
@ -148,11 +142,9 @@ export const traceStore = defineStore({
|
|||||||
.params(params);
|
.params(params);
|
||||||
if (res.data.errors) {
|
if (res.data.errors) {
|
||||||
this.traceSpanLogs = [];
|
this.traceSpanLogs = [];
|
||||||
this.traceSpanLogsTotal = 0;
|
|
||||||
return res.data;
|
return res.data;
|
||||||
}
|
}
|
||||||
this.traceSpanLogs = res.data.data.queryLogs.logs || [];
|
this.traceSpanLogs = res.data.data.queryLogs.logs || [];
|
||||||
this.traceSpanLogsTotal = res.data.data.queryLogs.total;
|
|
||||||
return res.data;
|
return res.data;
|
||||||
},
|
},
|
||||||
async getTagKeys() {
|
async getTagKeys() {
|
||||||
|
@ -94,6 +94,8 @@ function setCurrentLog(log: any) {
|
|||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
border-bottom: 1px solid #eee;
|
border-bottom: 1px solid #eee;
|
||||||
|
width: 100%;
|
||||||
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.log-header {
|
.log-header {
|
||||||
|
@ -229,7 +229,7 @@ function searchLogs() {
|
|||||||
keywordsOfContent: keywordsOfContent.value,
|
keywordsOfContent: keywordsOfContent.value,
|
||||||
excludingKeywordsOfContent: excludingKeywordsOfContent.value,
|
excludingKeywordsOfContent: excludingKeywordsOfContent.value,
|
||||||
tags: tagsMap.value.length ? tagsMap.value : undefined,
|
tags: tagsMap.value.length ? tagsMap.value : undefined,
|
||||||
paging: { pageNum: 1, pageSize: 15, needTotal: true },
|
paging: { pageNum: 1, pageSize: 15 },
|
||||||
relatedTrace: traceId.value ? { traceId: traceId.value } : undefined,
|
relatedTrace: traceId.value ? { traceId: traceId.value } : undefined,
|
||||||
});
|
});
|
||||||
queryLogs();
|
queryLogs();
|
||||||
|
@ -26,8 +26,10 @@ limitations under the License. -->
|
|||||||
<el-pagination
|
<el-pagination
|
||||||
v-model:currentPage="logStore.conditions.paging.pageNum"
|
v-model:currentPage="logStore.conditions.paging.pageNum"
|
||||||
v-model:page-size="pageSize"
|
v-model:page-size="pageSize"
|
||||||
layout="prev, pager, next, jumper"
|
:small="true"
|
||||||
:total="logStore.logsTotal"
|
layout="prev, pager, next"
|
||||||
|
:pager-count="5"
|
||||||
|
:total="total"
|
||||||
@current-change="updatePage"
|
@current-change="updatePage"
|
||||||
:style="`float: right`"
|
:style="`float: right`"
|
||||||
/>
|
/>
|
||||||
@ -35,7 +37,7 @@ limitations under the License. -->
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref } from "vue";
|
import { ref, computed } from "vue";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
import LogTable from "@/views/dashboard/related/components/LogTable/Index.vue";
|
import LogTable from "@/views/dashboard/related/components/LogTable/Index.vue";
|
||||||
import { useLogStore } from "@/store/modules/log";
|
import { useLogStore } from "@/store/modules/log";
|
||||||
@ -49,9 +51,14 @@ const type = ref<string>(
|
|||||||
dashboardStore.layerId === "BROWSER" ? "browser" : "service"
|
dashboardStore.layerId === "BROWSER" ? "browser" : "service"
|
||||||
);
|
);
|
||||||
const pageSize = ref<number>(15);
|
const pageSize = ref<number>(15);
|
||||||
|
const total = computed(() =>
|
||||||
|
logStore.logs.length === pageSize.value
|
||||||
|
? pageSize.value * logStore.conditions.paging.pageNum + 1
|
||||||
|
: pageSize.value * logStore.conditions.paging.pageNum
|
||||||
|
);
|
||||||
function updatePage(p: number) {
|
function updatePage(p: number) {
|
||||||
logStore.setLogCondition({
|
logStore.setLogCondition({
|
||||||
paging: { pageNum: p, pageSize: pageSize.value, needTotal: true },
|
paging: { pageNum: p, pageSize: pageSize.value },
|
||||||
});
|
});
|
||||||
queryLogs();
|
queryLogs();
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,9 @@ limitations under the License. -->
|
|||||||
v-model:currentPage="pageNum"
|
v-model:currentPage="pageNum"
|
||||||
v-model:page-size="pageSize"
|
v-model:page-size="pageSize"
|
||||||
:small="true"
|
:small="true"
|
||||||
:total="traceStore.traceSpanLogsTotal"
|
layout="prev, pager, next"
|
||||||
|
:pager-count="5"
|
||||||
|
:total="total"
|
||||||
@current-change="turnLogsPage"
|
@current-change="turnLogsPage"
|
||||||
/>
|
/>
|
||||||
<LogTable
|
<LogTable
|
||||||
@ -146,7 +148,7 @@ limitations under the License. -->
|
|||||||
</template>
|
</template>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import { ref, defineComponent } from "vue";
|
import { ref, defineComponent, computed } 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 { Option } from "@/types/app";
|
import { Option } from "@/types/app";
|
||||||
@ -171,6 +173,11 @@ export default defineComponent({
|
|||||||
const displayMode = ref<string>("List");
|
const displayMode = ref<string>("List");
|
||||||
const pageNum = ref<number>(1);
|
const pageNum = ref<number>(1);
|
||||||
const pageSize = 10;
|
const pageSize = 10;
|
||||||
|
const total = computed(() =>
|
||||||
|
traceStore.traceList.length === pageSize
|
||||||
|
? pageSize * pageNum.value + 1
|
||||||
|
: pageSize * pageNum.value
|
||||||
|
);
|
||||||
const dateFormat = (date: number, pattern = "YYYY-MM-DD HH:mm:ss") =>
|
const dateFormat = (date: number, pattern = "YYYY-MM-DD HH:mm:ss") =>
|
||||||
dayjs(date).format(pattern);
|
dayjs(date).format(pattern);
|
||||||
const showTraceLogs = ref<boolean>(false);
|
const showTraceLogs = ref<boolean>(false);
|
||||||
@ -202,7 +209,7 @@ export default defineComponent({
|
|||||||
relatedTrace: {
|
relatedTrace: {
|
||||||
traceId: traceId.value || traceStore.currentTrace.traceIds[0].value,
|
traceId: traceId.value || traceStore.currentTrace.traceIds[0].value,
|
||||||
},
|
},
|
||||||
paging: { pageNum: pageNum.value, pageSize, needTotal: true },
|
paging: { pageNum: pageNum.value, pageSize },
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
if (res.errors) {
|
if (res.errors) {
|
||||||
@ -227,6 +234,7 @@ export default defineComponent({
|
|||||||
pageSize,
|
pageSize,
|
||||||
pageNum,
|
pageNum,
|
||||||
loading,
|
loading,
|
||||||
|
total,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -72,9 +72,19 @@ limitations under the License. -->
|
|||||||
</div>
|
</div>
|
||||||
<div class="mr-10">
|
<div class="mr-10">
|
||||||
<span class="sm b grey mr-5">{{ t("duration") }}:</span>
|
<span class="sm b grey mr-5">{{ t("duration") }}:</span>
|
||||||
<el-input size="small" class="inputs mr-5" v-model="minTraceDuration" />
|
<el-input
|
||||||
|
size="small"
|
||||||
|
class="inputs mr-5"
|
||||||
|
v-model="minTraceDuration"
|
||||||
|
type="number"
|
||||||
|
/>
|
||||||
<span class="grey mr-5">-</span>
|
<span class="grey mr-5">-</span>
|
||||||
<el-input size="small" class="inputs" v-model="maxTraceDuration" />
|
<el-input
|
||||||
|
size="small"
|
||||||
|
class="inputs"
|
||||||
|
v-model="maxTraceDuration"
|
||||||
|
type="number"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-h">
|
<div class="flex-h">
|
||||||
@ -100,8 +110,8 @@ const selectorStore = useSelectorStore();
|
|||||||
const dashboardStore = useDashboardStore();
|
const dashboardStore = useDashboardStore();
|
||||||
const traceStore = useTraceStore();
|
const traceStore = useTraceStore();
|
||||||
const traceId = ref<string>("");
|
const traceId = ref<string>("");
|
||||||
const minTraceDuration = ref<string>("");
|
const minTraceDuration = ref<number>(NaN);
|
||||||
const maxTraceDuration = ref<string>("");
|
const maxTraceDuration = ref<number>(NaN);
|
||||||
const tagsList = ref<string[]>([]);
|
const tagsList = ref<string[]>([]);
|
||||||
const tagsMap = ref<Option[]>([]);
|
const tagsMap = ref<Option[]>([]);
|
||||||
const state = reactive<any>({
|
const state = reactive<any>({
|
||||||
@ -174,11 +184,11 @@ function searchTraces() {
|
|||||||
serviceInstanceId: instance || state.instance.id || undefined,
|
serviceInstanceId: instance || state.instance.id || undefined,
|
||||||
traceState: state.status.value || "ALL",
|
traceState: state.status.value || "ALL",
|
||||||
queryDuration: appStore.durationTime,
|
queryDuration: appStore.durationTime,
|
||||||
minTraceDuration: appStore.minTraceDuration || undefined,
|
minTraceDuration: Number(minTraceDuration.value),
|
||||||
maxTraceDuration: appStore.maxTraceDuration || undefined,
|
maxTraceDuration: Number(maxTraceDuration.value),
|
||||||
queryOrder: "BY_DURATION",
|
queryOrder: "BY_DURATION",
|
||||||
tags: tagsMap.value.length ? tagsMap.value : undefined,
|
tags: tagsMap.value.length ? tagsMap.value : undefined,
|
||||||
paging: { pageNum: 1, pageSize: 15, needTotal: true },
|
paging: { pageNum: 1, pageSize: 20 },
|
||||||
});
|
});
|
||||||
queryTraces();
|
queryTraces();
|
||||||
}
|
}
|
||||||
|
@ -17,9 +17,9 @@ limitations under the License. -->
|
|||||||
v-model:currentPage="traceStore.conditions.paging.pageNum"
|
v-model:currentPage="traceStore.conditions.paging.pageNum"
|
||||||
v-model:page-size="pageSize"
|
v-model:page-size="pageSize"
|
||||||
:small="true"
|
:small="true"
|
||||||
layout="prev, pager, next, jumper"
|
layout="prev, pager, next"
|
||||||
:total="traceStore.traceTotal"
|
:pager-count="5"
|
||||||
v-model:pager-count="pageCount"
|
:total="total"
|
||||||
@current-change="updatePage"
|
@current-change="updatePage"
|
||||||
/>
|
/>
|
||||||
<div class="selectors">
|
<div class="selectors">
|
||||||
@ -71,7 +71,7 @@ limitations under the License. -->
|
|||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import { ref } from "vue";
|
import { ref, computed } 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 { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
@ -83,8 +83,12 @@ const { t } = useI18n();
|
|||||||
const traceStore = useTraceStore();
|
const traceStore = useTraceStore();
|
||||||
const loading = ref<boolean>(false);
|
const loading = ref<boolean>(false);
|
||||||
const selectedKey = ref<string>("");
|
const selectedKey = ref<string>("");
|
||||||
const pageSize = ref<number>(15);
|
const pageSize = ref<number>(20);
|
||||||
const pageCount = ref<number>(5);
|
const total = computed(() =>
|
||||||
|
traceStore.traceList.length === pageSize.value
|
||||||
|
? pageSize.value * traceStore.conditions.paging.pageNum + 1
|
||||||
|
: pageSize.value * traceStore.conditions.paging.pageNum
|
||||||
|
);
|
||||||
const dateFormat = (date: number, pattern = "YYYY-MM-DD HH:mm:ss") =>
|
const dateFormat = (date: number, pattern = "YYYY-MM-DD HH:mm:ss") =>
|
||||||
dayjs(date).format(pattern);
|
dayjs(date).format(pattern);
|
||||||
|
|
||||||
@ -96,7 +100,7 @@ function searchTrace() {
|
|||||||
|
|
||||||
function updatePage(p: number) {
|
function updatePage(p: number) {
|
||||||
traceStore.setTraceCondition({
|
traceStore.setTraceCondition({
|
||||||
paging: { pageNum: p, pageSize: pageSize.value, needTotal: true },
|
paging: { pageNum: p, pageSize: pageSize.value },
|
||||||
});
|
});
|
||||||
searchTrace();
|
searchTrace();
|
||||||
}
|
}
|
||||||
@ -104,7 +108,7 @@ function updatePage(p: number) {
|
|||||||
function changeSort(opt: Option[] | any) {
|
function changeSort(opt: Option[] | any) {
|
||||||
traceStore.setTraceCondition({
|
traceStore.setTraceCondition({
|
||||||
queryOrder: opt[0].value,
|
queryOrder: opt[0].value,
|
||||||
paging: { pageNum: 1, pageSize: pageSize.value, needTotal: true },
|
paging: { pageNum: 1, pageSize: pageSize.value },
|
||||||
});
|
});
|
||||||
searchTrace();
|
searchTrace();
|
||||||
}
|
}
|
||||||
@ -167,7 +171,7 @@ async function queryTraces() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.list {
|
.list {
|
||||||
width: 400px;
|
width: 300px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.trace-tr {
|
.trace-tr {
|
||||||
|
@ -91,7 +91,9 @@ limitations under the License. -->
|
|||||||
v-model:currentPage="pageNum"
|
v-model:currentPage="pageNum"
|
||||||
v-model:page-size="pageSize"
|
v-model:page-size="pageSize"
|
||||||
:small="true"
|
:small="true"
|
||||||
:total="traceStore.traceSpanLogsTotal"
|
layout="prev, pager, next"
|
||||||
|
:pager-count="5"
|
||||||
|
:total="total"
|
||||||
@current-change="turnPage"
|
@current-change="turnPage"
|
||||||
/>
|
/>
|
||||||
<LogTable
|
<LogTable
|
||||||
@ -106,7 +108,7 @@ limitations under the License. -->
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref } from "vue";
|
import { ref, computed } from "vue";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
import type { PropType } from "vue";
|
import type { PropType } from "vue";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
@ -124,6 +126,11 @@ const traceStore = useTraceStore();
|
|||||||
const pageNum = ref<number>(1);
|
const pageNum = ref<number>(1);
|
||||||
const showRelatedLogs = ref<boolean>(false);
|
const showRelatedLogs = ref<boolean>(false);
|
||||||
const pageSize = 10;
|
const pageSize = 10;
|
||||||
|
const total = computed(() =>
|
||||||
|
traceStore.traceList.length === pageSize
|
||||||
|
? pageSize * pageNum.value + 1
|
||||||
|
: pageSize * pageNum.value
|
||||||
|
);
|
||||||
const dateFormat = (date: number, pattern = "YYYY-MM-DD HH:mm:ss") =>
|
const dateFormat = (date: number, pattern = "YYYY-MM-DD HH:mm:ss") =>
|
||||||
dayjs(date).format(pattern);
|
dayjs(date).format(pattern);
|
||||||
async function getTaceLogs() {
|
async function getTaceLogs() {
|
||||||
@ -135,7 +142,7 @@ async function getTaceLogs() {
|
|||||||
segmentId: props.currentSpan.segmentId,
|
segmentId: props.currentSpan.segmentId,
|
||||||
spanId: props.currentSpan.spanId,
|
spanId: props.currentSpan.spanId,
|
||||||
},
|
},
|
||||||
paging: { pageNum: pageNum.value, pageSize, needTotal: true },
|
paging: { pageNum: pageNum.value, pageSize },
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
if (res.errors) {
|
if (res.errors) {
|
||||||
|
Loading…
Reference in New Issue
Block a user