mirror of
https://github.com/apache/skywalking-booster-ui.git
synced 2025-07-18 20:45:24 +00:00
reset duration
This commit is contained in:
parent
eb58ff1d62
commit
f59b0c536a
@ -49,7 +49,7 @@ limitations under the License. -->
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref, watch, computed } from "vue";
|
import { ref, watch } from "vue";
|
||||||
import { useRoute } from "vue-router";
|
import { useRoute } from "vue-router";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
import timeFormat from "@/utils/timeFormat";
|
import timeFormat from "@/utils/timeFormat";
|
||||||
@ -62,12 +62,14 @@ const appStore = useAppStoreWithOut();
|
|||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const pageName = ref<string>("");
|
const pageName = ref<string>("");
|
||||||
const timeRange = ref<number>(0);
|
const timeRange = ref<number>(0);
|
||||||
|
const time = ref<Date[]>([appStore.duration.start, appStore.duration.end]);
|
||||||
|
|
||||||
|
resetDuration();
|
||||||
getVersion();
|
getVersion();
|
||||||
const setConfig = (value: string) => {
|
const setConfig = (value: string) => {
|
||||||
pageName.value = value || "";
|
pageName.value = value || "";
|
||||||
};
|
};
|
||||||
const time = computed(() => [appStore.duration.start, appStore.duration.end]);
|
|
||||||
const handleReload = () => {
|
const handleReload = () => {
|
||||||
const gap =
|
const gap =
|
||||||
appStore.duration.end.getTime() - appStore.duration.start.getTime();
|
appStore.duration.end.getTime() - appStore.duration.start.getTime();
|
||||||
@ -98,6 +100,20 @@ async function getVersion() {
|
|||||||
ElMessage.error(res.errors);
|
ElMessage.error(res.errors);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function resetDuration() {
|
||||||
|
const { duration }: any = route.params;
|
||||||
|
if (duration) {
|
||||||
|
const d = JSON.parse(duration);
|
||||||
|
|
||||||
|
appStore.updateDurationRow({
|
||||||
|
start: getLocalTime(d.utc, d.start),
|
||||||
|
end: getLocalTime(d.utc, d.end),
|
||||||
|
step: d.step,
|
||||||
|
});
|
||||||
|
appStore.updateUTC(d.utc);
|
||||||
|
time.value = [getLocalTime(d.utc, d.start), getLocalTime(d.utc, d.end)];
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.nav-bar {
|
.nav-bar {
|
||||||
|
@ -234,6 +234,14 @@ export const routesDashboard: Array<RouteRecordRaw> = [
|
|||||||
),
|
),
|
||||||
name: "ViewProcessRelationActiveTabIndex",
|
name: "ViewProcessRelationActiveTabIndex",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/dashboard/:layerId/:entity/:serviceId/:podId/:processId/:destServiceId/:destPodId/:destProcessId/:name/duration/:duration",
|
||||||
|
component: () =>
|
||||||
|
import(
|
||||||
|
/* webpackChunkName: "dashboards" */ "@/views/dashboard/Edit.vue"
|
||||||
|
),
|
||||||
|
name: "ViewProcessRelationDuration",
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
@ -119,12 +119,18 @@ export const appStore = defineStore({
|
|||||||
}
|
}
|
||||||
this.runEventStack();
|
this.runEventStack();
|
||||||
},
|
},
|
||||||
|
updateDurationRow(data: Duration) {
|
||||||
|
this.durationRow = data;
|
||||||
|
},
|
||||||
setUTC(utcHour: number, utcMin: number): void {
|
setUTC(utcHour: number, utcMin: number): void {
|
||||||
this.runEventStack();
|
this.runEventStack();
|
||||||
this.utcMin = utcMin;
|
this.utcMin = utcMin;
|
||||||
this.utcHour = utcHour;
|
this.utcHour = utcHour;
|
||||||
this.utc = `${utcHour}:${utcMin}`;
|
this.utc = `${utcHour}:${utcMin}`;
|
||||||
},
|
},
|
||||||
|
updateUTC(data: string) {
|
||||||
|
this.utc = data;
|
||||||
|
},
|
||||||
setIsMobile(mode: boolean) {
|
setIsMobile(mode: boolean) {
|
||||||
this.isMobile = mode;
|
this.isMobile = mode;
|
||||||
},
|
},
|
||||||
@ -155,10 +161,9 @@ export const appStore = defineStore({
|
|||||||
.params({});
|
.params({});
|
||||||
if (res.data.errors) {
|
if (res.data.errors) {
|
||||||
this.utc = -(new Date().getTimezoneOffset() / 60) + ":0";
|
this.utc = -(new Date().getTimezoneOffset() / 60) + ":0";
|
||||||
return res.data;
|
} else {
|
||||||
}
|
|
||||||
this.utc = res.data.data.getTimeInfo.timezone / 100 + ":0";
|
this.utc = res.data.data.getTimeInfo.timezone / 100 + ":0";
|
||||||
|
}
|
||||||
const utcArr = this.utc.split(":");
|
const utcArr = this.utc.split(":");
|
||||||
this.utcHour = isNaN(Number(utcArr[0])) ? 0 : Number(utcArr[0]);
|
this.utcHour = isNaN(Number(utcArr[0])) ? 0 : Number(utcArr[0]);
|
||||||
this.utcMin = isNaN(Number(utcArr[1])) ? 0 : Number(utcArr[1]);
|
this.utcMin = isNaN(Number(utcArr[1])) ? 0 : Number(utcArr[1]);
|
||||||
|
@ -27,7 +27,7 @@ limitations under the License. -->
|
|||||||
</template>
|
</template>
|
||||||
<Settings @update="updateSettings" />
|
<Settings @update="updateSettings" />
|
||||||
</el-popover>
|
</el-popover>
|
||||||
<TimeLine />
|
<TimeLine @get="getDates" />
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import type { PropType } from "vue";
|
import type { PropType } from "vue";
|
||||||
@ -51,6 +51,8 @@ import { EntityType } from "@/views/dashboard/data";
|
|||||||
import getDashboard from "@/hooks/useDashboardsSession";
|
import getDashboard from "@/hooks/useDashboardsSession";
|
||||||
import { Layout } from "./Graph/layout";
|
import { Layout } from "./Graph/layout";
|
||||||
import TimeLine from "./TimeLine.vue";
|
import TimeLine from "./TimeLine.vue";
|
||||||
|
import { useAppStoreWithOut } from "@/store/modules/app";
|
||||||
|
import getLocalTime from "@/utils/localtime";
|
||||||
|
|
||||||
/*global Nullable, defineProps */
|
/*global Nullable, defineProps */
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@ -60,6 +62,7 @@ const props = defineProps({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
|
const appStore = useAppStoreWithOut();
|
||||||
const dashboardStore = useDashboardStore();
|
const dashboardStore = useDashboardStore();
|
||||||
const selectorStore = useSelectorStore();
|
const selectorStore = useSelectorStore();
|
||||||
const networkProfilingStore = useNetworkProfilingStore();
|
const networkProfilingStore = useNetworkProfilingStore();
|
||||||
@ -77,6 +80,7 @@ const oldVal = ref<{ width: number; height: number }>({ width: 0, height: 0 });
|
|||||||
const config = ref<any>({});
|
const config = ref<any>({});
|
||||||
const diff = ref<number[]>([220, 200]);
|
const diff = ref<number[]>([220, 200]);
|
||||||
const radius = 210;
|
const radius = 210;
|
||||||
|
const dates = ref<Nullable<{ start: number; end: number }>>(null);
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
init();
|
init();
|
||||||
@ -362,12 +366,33 @@ function handleLinkClick(event: any, d: Call) {
|
|||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const path = `/dashboard/${dashboard.layer}/${EntityType[7].value}/${d.source.serviceId}/${d.source.serviceInstanceId}/${d.source.id}/${d.target.serviceId}/${d.target.serviceInstanceId}/${d.target.id}/${dashboard.name}`;
|
let times: any = {};
|
||||||
|
if (dates.value) {
|
||||||
|
times = dates.value;
|
||||||
|
} else {
|
||||||
|
const { taskStartTime, fixedTriggerDuration } =
|
||||||
|
networkProfilingStore.selectedNetworkTask;
|
||||||
|
const startTime =
|
||||||
|
fixedTriggerDuration > 1800
|
||||||
|
? taskStartTime + fixedTriggerDuration * 1000 - 30 * 60 * 1000
|
||||||
|
: taskStartTime;
|
||||||
|
times = {
|
||||||
|
start: startTime,
|
||||||
|
end: taskStartTime + fixedTriggerDuration * 1000,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
const param = JSON.stringify({
|
||||||
|
...times,
|
||||||
|
step: appStore.duration.step,
|
||||||
|
utc: appStore.utc,
|
||||||
|
});
|
||||||
|
const path = `/dashboard/${dashboard.layer}/${EntityType[7].value}/${d.source.serviceId}/${d.source.serviceInstanceId}/${d.source.id}/${d.target.serviceId}/${d.target.serviceInstanceId}/${d.target.id}/${dashboard.name}/duration/${param}`;
|
||||||
const routeUrl = router.resolve({ path });
|
const routeUrl = router.resolve({ path });
|
||||||
|
|
||||||
window.open(routeUrl.href, "_blank");
|
window.open(routeUrl.href, "_blank");
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateSettings(param: any) {
|
function updateSettings(param: unknown) {
|
||||||
config.value = param;
|
config.value = param;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -375,6 +400,10 @@ function setConfig() {
|
|||||||
dashboardStore.selectWidget(props.config);
|
dashboardStore.selectWidget(props.config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getDates(times: any) {
|
||||||
|
this.dates.value = times;
|
||||||
|
}
|
||||||
|
|
||||||
function resize() {
|
function resize() {
|
||||||
const observer = new ResizeObserver((entries) => {
|
const observer = new ResizeObserver((entries) => {
|
||||||
const entry = entries[0];
|
const entry = entries[0];
|
||||||
|
@ -47,7 +47,8 @@ import dateFormatStep from "@/utils/dateFormat";
|
|||||||
import getLocalTime from "@/utils/localtime";
|
import getLocalTime from "@/utils/localtime";
|
||||||
import { useAppStoreWithOut } from "@/store/modules/app";
|
import { useAppStoreWithOut } from "@/store/modules/app";
|
||||||
|
|
||||||
/*global Nullable */
|
/*global Nullable, defineEmits */
|
||||||
|
const emits = defineEmits(["get"]);
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const selectorStore = useSelectorStore();
|
const selectorStore = useSelectorStore();
|
||||||
const appStore = useAppStoreWithOut();
|
const appStore = useAppStoreWithOut();
|
||||||
@ -127,6 +128,10 @@ function visTimeline() {
|
|||||||
}
|
}
|
||||||
async function updateTopology() {
|
async function updateTopology() {
|
||||||
isUpdate.value = true;
|
isUpdate.value = true;
|
||||||
|
emits("get", {
|
||||||
|
start: task.value[0].start.getTime(),
|
||||||
|
end: task.value[0].end.getTime(),
|
||||||
|
});
|
||||||
const serviceInstanceId =
|
const serviceInstanceId =
|
||||||
(selectorStore.currentPod && selectorStore.currentPod.id) || "";
|
(selectorStore.currentPod && selectorStore.currentPod.id) || "";
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user