mirror of
https://github.com/OneUptime/oneuptime.git
synced 2026-04-06 00:32:12 +02:00
Refactor exception handling components and routes for improved clarity and organization
This commit is contained in:
@@ -20,7 +20,7 @@ const TelemetryExceptionElement: FunctionComponent<ComponentProps> = (
|
||||
props: ComponentProps,
|
||||
): ReactElement => {
|
||||
const viewRoute: Route = RouteUtil.populateRouteParams(
|
||||
RouteMap[PageMap.TELEMETRY_EXCEPTIONS_ROOT]!,
|
||||
RouteMap[PageMap.EXCEPTIONS_VIEW_ROOT]!,
|
||||
);
|
||||
|
||||
const getResolvedIcon: GetReactElementFunction = (): ReactElement => {
|
||||
|
||||
@@ -35,19 +35,10 @@ export interface ComponentProps {
|
||||
const TelemetryExceptionTable: FunctionComponent<ComponentProps> = (
|
||||
props: ComponentProps,
|
||||
): ReactElement => {
|
||||
let viewRoute: Route = RouteUtil.populateRouteParams(
|
||||
const viewRoute: Route = RouteUtil.populateRouteParams(
|
||||
RouteMap[PageMap.EXCEPTIONS_VIEW_ROOT]!,
|
||||
);
|
||||
|
||||
if (props.telemetryServiceId) {
|
||||
viewRoute = RouteUtil.populateRouteParams(
|
||||
RouteMap[PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS]!,
|
||||
{
|
||||
modelId: props.telemetryServiceId,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<ModelTable<TelemetryException>
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
import PageComponentProps from "../../PageComponentProps";
|
||||
import ErrorMessage from "Common/UI/Components/ErrorMessage/ErrorMessage";
|
||||
import React, { FunctionComponent, ReactElement } from "react";
|
||||
import ExceptionsTable from "../../../Components/Exceptions/ExceptionsTable";
|
||||
|
||||
const Services: FunctionComponent<PageComponentProps> = (
|
||||
props: PageComponentProps,
|
||||
): ReactElement => {
|
||||
const disableTelemetryForThisProject: boolean =
|
||||
props.currentProject?.reseller?.enableTelemetryFeatures === false;
|
||||
|
||||
if (disableTelemetryForThisProject) {
|
||||
return (
|
||||
<ErrorMessage message="Looks like you have bought this plan from a reseller. It did not include telemetry features in your plan. Telemetry features are disabled for this project." />
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<ExceptionsTable
|
||||
query={{
|
||||
isArchived: true,
|
||||
}}
|
||||
title="Archived Exceptions"
|
||||
description="All the exceptions that have been archived. You will not be notified about these exceptions."
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
export default Services;
|
||||
@@ -1,30 +0,0 @@
|
||||
import PageComponentProps from "../../PageComponentProps";
|
||||
import ErrorMessage from "Common/UI/Components/ErrorMessage/ErrorMessage";
|
||||
import React, { FunctionComponent, ReactElement } from "react";
|
||||
import ExceptionsTable from "../../../Components/Exceptions/ExceptionsTable";
|
||||
|
||||
const Services: FunctionComponent<PageComponentProps> = (
|
||||
props: PageComponentProps,
|
||||
): ReactElement => {
|
||||
const disableTelemetryForThisProject: boolean =
|
||||
props.currentProject?.reseller?.enableTelemetryFeatures === false;
|
||||
|
||||
if (disableTelemetryForThisProject) {
|
||||
return (
|
||||
<ErrorMessage message="Looks like you have bought this plan from a reseller. It did not include telemetry features in your plan. Telemetry features are disabled for this project." />
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<ExceptionsTable
|
||||
query={{
|
||||
isResolved: true,
|
||||
isArchived: false,
|
||||
}}
|
||||
title="Resolved Exceptions"
|
||||
description="All the exceptions that have been resolved."
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
export default Services;
|
||||
@@ -1,30 +0,0 @@
|
||||
import PageComponentProps from "../../PageComponentProps";
|
||||
import ErrorMessage from "Common/UI/Components/ErrorMessage/ErrorMessage";
|
||||
import React, { FunctionComponent, ReactElement } from "react";
|
||||
import ExceptionsTable from "../../../Components/Exceptions/ExceptionsTable";
|
||||
|
||||
const Services: FunctionComponent<PageComponentProps> = (
|
||||
props: PageComponentProps,
|
||||
): ReactElement => {
|
||||
const disableTelemetryForThisProject: boolean =
|
||||
props.currentProject?.reseller?.enableTelemetryFeatures === false;
|
||||
|
||||
if (disableTelemetryForThisProject) {
|
||||
return (
|
||||
<ErrorMessage message="Looks like you have bought this plan from a reseller. It did not include telemetry features in your plan. Telemetry features are disabled for this project." />
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<ExceptionsTable
|
||||
query={{
|
||||
isResolved: false,
|
||||
isArchived: false,
|
||||
}}
|
||||
title="Unresolved Exceptions"
|
||||
description="All the exceptions that have not been resolved."
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
export default Services;
|
||||
@@ -1,19 +0,0 @@
|
||||
import Navigation from "Common/UI/Utils/Navigation";
|
||||
import ExceptionExplorer from "../../../../Components/Exceptions/ExceptionExplorer";
|
||||
import PageComponentProps from "../../../PageComponentProps";
|
||||
import React, { Fragment, FunctionComponent, ReactElement } from "react";
|
||||
import ObjectID from "Common/Types/ObjectID";
|
||||
|
||||
const TelemetryMetricViewPage: FunctionComponent<
|
||||
PageComponentProps
|
||||
> = (): ReactElement => {
|
||||
const exceptionId: string = Navigation.getLastParamAsString(0);
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<ExceptionExplorer telemetryExceptionId={new ObjectID(exceptionId)} />
|
||||
</Fragment>
|
||||
);
|
||||
};
|
||||
|
||||
export default TelemetryMetricViewPage;
|
||||
@@ -1,35 +0,0 @@
|
||||
import { getTelemetryBreadcrumbs } from "../../../../Utils/Breadcrumbs";
|
||||
import RouteMap, { RouteUtil } from "../../../../Utils/RouteMap";
|
||||
import PageComponentProps from "../../../PageComponentProps";
|
||||
import Page from "Common/UI/Components/Page/Page";
|
||||
import Navigation from "Common/UI/Utils/Navigation";
|
||||
import React, { FunctionComponent, ReactElement } from "react";
|
||||
import { Outlet } from "react-router-dom";
|
||||
import PageMap from "../../../../Utils/PageMap";
|
||||
|
||||
const MetricsLayout: FunctionComponent<
|
||||
PageComponentProps
|
||||
> = (): ReactElement => {
|
||||
const path: string = Navigation.getRoutePath(RouteUtil.getRoutes());
|
||||
|
||||
if (path.endsWith("exceptions")) {
|
||||
Navigation.navigate(
|
||||
RouteUtil.populateRouteParams(
|
||||
RouteMap[PageMap.TELEMETRY_EXCEPTIONS_UNRESOLVED]!,
|
||||
),
|
||||
);
|
||||
|
||||
return <></>;
|
||||
}
|
||||
|
||||
return (
|
||||
<Page
|
||||
title="Exception Explorer"
|
||||
breadcrumbLinks={getTelemetryBreadcrumbs(path)}
|
||||
>
|
||||
<Outlet />
|
||||
</Page>
|
||||
);
|
||||
};
|
||||
|
||||
export default MetricsLayout;
|
||||
@@ -1,86 +0,0 @@
|
||||
import PageComponentProps from "../../../../PageComponentProps";
|
||||
import ObjectID from "Common/Types/ObjectID";
|
||||
import Navigation from "Common/UI/Utils/Navigation";
|
||||
import React, {
|
||||
FunctionComponent,
|
||||
ReactElement,
|
||||
useEffect,
|
||||
useState,
|
||||
} from "react";
|
||||
import TelemetryService from "Common/Models/DatabaseModels/TelemetryService";
|
||||
import ErrorMessage from "Common/UI/Components/ErrorMessage/ErrorMessage";
|
||||
import PageLoader from "Common/UI/Components/Loader/PageLoader";
|
||||
import ModelAPI from "Common/UI/Utils/ModelAPI/ModelAPI";
|
||||
import API from "Common/UI/Utils/API/API";
|
||||
import { PromiseVoidFunction } from "Common/Types/FunctionTypes";
|
||||
import ExceptionsTable from "../../../../../Components/Exceptions/ExceptionsTable";
|
||||
|
||||
const MetricsTablePage: FunctionComponent<
|
||||
PageComponentProps
|
||||
> = (): ReactElement => {
|
||||
const modelId: ObjectID = Navigation.getLastParamAsObjectID(2);
|
||||
|
||||
const [telemetryService, setTelemetryService] =
|
||||
useState<TelemetryService | null>(null);
|
||||
const [isLoading, setIsLoading] = useState<boolean>(false);
|
||||
const [error, setError] = useState<string>("");
|
||||
|
||||
useEffect(() => {
|
||||
fetchTelemetryService().catch((err: Error) => {
|
||||
setError(API.getFriendlyMessage(err));
|
||||
});
|
||||
}, []);
|
||||
|
||||
const fetchTelemetryService: PromiseVoidFunction =
|
||||
async (): Promise<void> => {
|
||||
try {
|
||||
setIsLoading(true);
|
||||
|
||||
const telemetryService: TelemetryService | null =
|
||||
await ModelAPI.getItem({
|
||||
modelType: TelemetryService,
|
||||
id: modelId,
|
||||
select: {
|
||||
name: true,
|
||||
},
|
||||
});
|
||||
|
||||
if (!telemetryService) {
|
||||
setIsLoading(false);
|
||||
setError("Telemetry Service not found.");
|
||||
return;
|
||||
}
|
||||
|
||||
setTelemetryService(telemetryService);
|
||||
setIsLoading(false);
|
||||
} catch (err) {
|
||||
setIsLoading(false);
|
||||
setError(API.getFriendlyMessage(err));
|
||||
}
|
||||
};
|
||||
|
||||
if (error) {
|
||||
return <ErrorMessage message={error} />;
|
||||
}
|
||||
|
||||
if (isLoading) {
|
||||
return <PageLoader isVisible={true} />;
|
||||
}
|
||||
|
||||
if (!telemetryService) {
|
||||
return <ErrorMessage message="Telemetry Service not found." />;
|
||||
}
|
||||
|
||||
return (
|
||||
<ExceptionsTable
|
||||
query={{
|
||||
isArchived: true,
|
||||
}}
|
||||
telemetryServiceId={telemetryService.id!}
|
||||
title="Archived Exceptions"
|
||||
description="All the exceptions that have been archived. You will not be notified about these exceptions."
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
export default MetricsTablePage;
|
||||
@@ -1,87 +0,0 @@
|
||||
import PageComponentProps from "../../../../PageComponentProps";
|
||||
import ObjectID from "Common/Types/ObjectID";
|
||||
import Navigation from "Common/UI/Utils/Navigation";
|
||||
import React, {
|
||||
FunctionComponent,
|
||||
ReactElement,
|
||||
useEffect,
|
||||
useState,
|
||||
} from "react";
|
||||
import TelemetryService from "Common/Models/DatabaseModels/TelemetryService";
|
||||
import ErrorMessage from "Common/UI/Components/ErrorMessage/ErrorMessage";
|
||||
import PageLoader from "Common/UI/Components/Loader/PageLoader";
|
||||
import ModelAPI from "Common/UI/Utils/ModelAPI/ModelAPI";
|
||||
import API from "Common/UI/Utils/API/API";
|
||||
import { PromiseVoidFunction } from "Common/Types/FunctionTypes";
|
||||
import ExceptionsTable from "../../../../../Components/Exceptions/ExceptionsTable";
|
||||
|
||||
const MetricsTablePage: FunctionComponent<
|
||||
PageComponentProps
|
||||
> = (): ReactElement => {
|
||||
const modelId: ObjectID = Navigation.getLastParamAsObjectID(2);
|
||||
|
||||
const [telemetryService, setTelemetryService] =
|
||||
useState<TelemetryService | null>(null);
|
||||
const [isLoading, setIsLoading] = useState<boolean>(false);
|
||||
const [error, setError] = useState<string>("");
|
||||
|
||||
useEffect(() => {
|
||||
fetchTelemetryService().catch((err: Error) => {
|
||||
setError(API.getFriendlyMessage(err));
|
||||
});
|
||||
}, []);
|
||||
|
||||
const fetchTelemetryService: PromiseVoidFunction =
|
||||
async (): Promise<void> => {
|
||||
try {
|
||||
setIsLoading(true);
|
||||
|
||||
const telemetryService: TelemetryService | null =
|
||||
await ModelAPI.getItem({
|
||||
modelType: TelemetryService,
|
||||
id: modelId,
|
||||
select: {
|
||||
name: true,
|
||||
},
|
||||
});
|
||||
|
||||
if (!telemetryService) {
|
||||
setIsLoading(false);
|
||||
setError("Telemetry Service not found.");
|
||||
return;
|
||||
}
|
||||
|
||||
setTelemetryService(telemetryService);
|
||||
setIsLoading(false);
|
||||
} catch (err) {
|
||||
setIsLoading(false);
|
||||
setError(API.getFriendlyMessage(err));
|
||||
}
|
||||
};
|
||||
|
||||
if (error) {
|
||||
return <ErrorMessage message={error} />;
|
||||
}
|
||||
|
||||
if (isLoading) {
|
||||
return <PageLoader isVisible={true} />;
|
||||
}
|
||||
|
||||
if (!telemetryService) {
|
||||
return <ErrorMessage message="Telemetry Service not found." />;
|
||||
}
|
||||
|
||||
return (
|
||||
<ExceptionsTable
|
||||
telemetryServiceId={telemetryService.id!}
|
||||
query={{
|
||||
isResolved: true,
|
||||
isArchived: false,
|
||||
}}
|
||||
title="Resolved Exceptions"
|
||||
description="All the exceptions that have been resolved."
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
export default MetricsTablePage;
|
||||
@@ -1,87 +0,0 @@
|
||||
import PageComponentProps from "../../../../PageComponentProps";
|
||||
import ObjectID from "Common/Types/ObjectID";
|
||||
import Navigation from "Common/UI/Utils/Navigation";
|
||||
import React, {
|
||||
FunctionComponent,
|
||||
ReactElement,
|
||||
useEffect,
|
||||
useState,
|
||||
} from "react";
|
||||
import TelemetryService from "Common/Models/DatabaseModels/TelemetryService";
|
||||
import ErrorMessage from "Common/UI/Components/ErrorMessage/ErrorMessage";
|
||||
import PageLoader from "Common/UI/Components/Loader/PageLoader";
|
||||
import ModelAPI from "Common/UI/Utils/ModelAPI/ModelAPI";
|
||||
import API from "Common/UI/Utils/API/API";
|
||||
import { PromiseVoidFunction } from "Common/Types/FunctionTypes";
|
||||
import ExceptionsTable from "../../../../../Components/Exceptions/ExceptionsTable";
|
||||
|
||||
const MetricsTablePage: FunctionComponent<
|
||||
PageComponentProps
|
||||
> = (): ReactElement => {
|
||||
const modelId: ObjectID = Navigation.getLastParamAsObjectID(2);
|
||||
|
||||
const [telemetryService, setTelemetryService] =
|
||||
useState<TelemetryService | null>(null);
|
||||
const [isLoading, setIsLoading] = useState<boolean>(false);
|
||||
const [error, setError] = useState<string>("");
|
||||
|
||||
useEffect(() => {
|
||||
fetchTelemetryService().catch((err: Error) => {
|
||||
setError(API.getFriendlyMessage(err));
|
||||
});
|
||||
}, []);
|
||||
|
||||
const fetchTelemetryService: PromiseVoidFunction =
|
||||
async (): Promise<void> => {
|
||||
try {
|
||||
setIsLoading(true);
|
||||
|
||||
const telemetryService: TelemetryService | null =
|
||||
await ModelAPI.getItem({
|
||||
modelType: TelemetryService,
|
||||
id: modelId,
|
||||
select: {
|
||||
name: true,
|
||||
},
|
||||
});
|
||||
|
||||
if (!telemetryService) {
|
||||
setIsLoading(false);
|
||||
setError("Telemetry Service not found.");
|
||||
return;
|
||||
}
|
||||
|
||||
setTelemetryService(telemetryService);
|
||||
setIsLoading(false);
|
||||
} catch (err) {
|
||||
setIsLoading(false);
|
||||
setError(API.getFriendlyMessage(err));
|
||||
}
|
||||
};
|
||||
|
||||
if (error) {
|
||||
return <ErrorMessage message={error} />;
|
||||
}
|
||||
|
||||
if (isLoading) {
|
||||
return <PageLoader isVisible={true} />;
|
||||
}
|
||||
|
||||
if (!telemetryService) {
|
||||
return <ErrorMessage message="Telemetry Service not found." />;
|
||||
}
|
||||
|
||||
return (
|
||||
<ExceptionsTable
|
||||
query={{
|
||||
isResolved: false,
|
||||
isArchived: false,
|
||||
}}
|
||||
telemetryServiceId={telemetryService.id!}
|
||||
title="Unresolved Exceptions"
|
||||
description="All the exceptions that have not been resolved."
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
export default MetricsTablePage;
|
||||
@@ -1,19 +0,0 @@
|
||||
import PageComponentProps from "../../../../../PageComponentProps";
|
||||
import ObjectID from "Common/Types/ObjectID";
|
||||
import Navigation from "Common/UI/Utils/Navigation";
|
||||
import React, { Fragment, FunctionComponent, ReactElement } from "react";
|
||||
import ExceptionExplorer from "../../../../../../Components/Exceptions/ExceptionExplorer";
|
||||
|
||||
const ServiceDelete: FunctionComponent<
|
||||
PageComponentProps
|
||||
> = (): ReactElement => {
|
||||
const modelId: ObjectID = Navigation.getLastParamAsObjectID();
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<ExceptionExplorer telemetryExceptionId={modelId} />
|
||||
</Fragment>
|
||||
);
|
||||
};
|
||||
|
||||
export default ServiceDelete;
|
||||
@@ -3,14 +3,10 @@ import RouteMap, { RouteUtil } from "../../../../Utils/RouteMap";
|
||||
import Route from "Common/Types/API/Route";
|
||||
import IconProp from "Common/Types/Icon/IconProp";
|
||||
import ObjectID from "Common/Types/ObjectID";
|
||||
import { BadgeType } from "Common/UI/Components/Badge/Badge";
|
||||
import SideMenu from "Common/UI/Components/SideMenu/SideMenu";
|
||||
import SideMenuItem from "Common/UI/Components/SideMenu/SideMenuItem";
|
||||
import SideMenuSection from "Common/UI/Components/SideMenu/SideMenuSection";
|
||||
import React, { FunctionComponent, ReactElement } from "react";
|
||||
import TelemetryException from "Common/Models/DatabaseModels/TelemetryException";
|
||||
import CountModelSideMenuItem from "Common/UI/Components/SideMenu/CountModelSideMenuItem";
|
||||
import ProjectUtil from "Common/UI/Utils/Project";
|
||||
|
||||
export interface ComponentProps {
|
||||
modelId: ObjectID;
|
||||
@@ -75,52 +71,6 @@ const DashboardSideMenu: FunctionComponent<ComponentProps> = (
|
||||
icon={IconProp.ChartBar}
|
||||
/>
|
||||
</SideMenuSection>
|
||||
<SideMenuSection title="Exceptions">
|
||||
<CountModelSideMenuItem<TelemetryException>
|
||||
link={{
|
||||
title: "Unresolved",
|
||||
to: RouteUtil.populateRouteParams(
|
||||
RouteMap[
|
||||
PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_UNRESOLVED
|
||||
] as Route,
|
||||
{ modelId: props.modelId },
|
||||
),
|
||||
}}
|
||||
badgeType={BadgeType.DANGER}
|
||||
icon={IconProp.Alert}
|
||||
countQuery={{
|
||||
projectId: ProjectUtil.getCurrentProjectId()!,
|
||||
isResolved: false,
|
||||
isArchived: false,
|
||||
telemetryServiceId: props.modelId,
|
||||
}}
|
||||
modelType={TelemetryException}
|
||||
/>
|
||||
<SideMenuItem
|
||||
link={{
|
||||
title: "Resolved",
|
||||
to: RouteUtil.populateRouteParams(
|
||||
RouteMap[
|
||||
PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_RESOLVED
|
||||
] as Route,
|
||||
{ modelId: props.modelId },
|
||||
),
|
||||
}}
|
||||
icon={IconProp.Check}
|
||||
/>
|
||||
<SideMenuItem
|
||||
link={{
|
||||
title: "Archived",
|
||||
to: RouteUtil.populateRouteParams(
|
||||
RouteMap[
|
||||
PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_ARCHIVED
|
||||
] as Route,
|
||||
{ modelId: props.modelId },
|
||||
),
|
||||
}}
|
||||
icon={IconProp.Archive}
|
||||
/>
|
||||
</SideMenuSection>
|
||||
<SideMenuSection title="Advanced">
|
||||
<SideMenuItem
|
||||
link={{
|
||||
|
||||
@@ -45,12 +45,6 @@ const TelemetryTraces: LazyExoticComponent<FunctionComponent<ComponentProps>> =
|
||||
return import("../Pages/Telemetry/Traces");
|
||||
});
|
||||
|
||||
const TelemetryServiceViewException: LazyExoticComponent<
|
||||
FunctionComponent<ComponentProps>
|
||||
> = lazy(() => {
|
||||
return import("../Pages/Telemetry/Services/View/Exceptions/View/Index");
|
||||
});
|
||||
|
||||
const TelemetryMetrics: LazyExoticComponent<FunctionComponent<ComponentProps>> =
|
||||
lazy(() => {
|
||||
return import("../Pages/Telemetry/Metrics");
|
||||
@@ -103,25 +97,6 @@ const TelemetryServiceViewMetrics: LazyExoticComponent<
|
||||
return import("../Pages/Telemetry/Services/View/Metrics/Index");
|
||||
});
|
||||
|
||||
// Exceptions Service
|
||||
const TelemetryExceptionsServiceUnresolved: LazyExoticComponent<
|
||||
FunctionComponent<ComponentProps>
|
||||
> = lazy(() => {
|
||||
return import("../Pages/Telemetry/Services/View/Exceptions/Unresolved");
|
||||
});
|
||||
|
||||
const TelemetryExceptionsServiceResolved: LazyExoticComponent<
|
||||
FunctionComponent<ComponentProps>
|
||||
> = lazy(() => {
|
||||
return import("../Pages/Telemetry/Services/View/Exceptions/Resolved");
|
||||
});
|
||||
|
||||
const TelemetryExceptionsServiceArchived: LazyExoticComponent<
|
||||
FunctionComponent<ComponentProps>
|
||||
> = lazy(() => {
|
||||
return import("../Pages/Telemetry/Services/View/Exceptions/Archived");
|
||||
});
|
||||
|
||||
const TelemetryServicesViewSettings: LazyExoticComponent<
|
||||
FunctionComponent<ComponentProps>
|
||||
> = lazy(() => {
|
||||
@@ -323,82 +298,6 @@ const TelemetryRoutes: FunctionComponent<ComponentProps> = (
|
||||
}
|
||||
/>
|
||||
|
||||
{/** Telemetry Service Exceptions */}
|
||||
|
||||
<PageRoute
|
||||
path={RouteUtil.getLastPathForKey(
|
||||
PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_UNRESOLVED,
|
||||
2,
|
||||
)}
|
||||
element={
|
||||
<Suspense fallback={Loader}>
|
||||
<TelemetryExceptionsServiceUnresolved
|
||||
{...props}
|
||||
pageRoute={
|
||||
RouteMap[
|
||||
PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_UNRESOLVED
|
||||
] as Route
|
||||
}
|
||||
/>
|
||||
</Suspense>
|
||||
}
|
||||
/>
|
||||
|
||||
<PageRoute
|
||||
path={RouteUtil.getLastPathForKey(
|
||||
PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_RESOLVED,
|
||||
2,
|
||||
)}
|
||||
element={
|
||||
<Suspense fallback={Loader}>
|
||||
<TelemetryExceptionsServiceResolved
|
||||
{...props}
|
||||
pageRoute={
|
||||
RouteMap[
|
||||
PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_RESOLVED
|
||||
] as Route
|
||||
}
|
||||
/>
|
||||
</Suspense>
|
||||
}
|
||||
/>
|
||||
|
||||
<PageRoute
|
||||
path={RouteUtil.getLastPathForKey(
|
||||
PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTION,
|
||||
2,
|
||||
)}
|
||||
element={
|
||||
<Suspense fallback={Loader}>
|
||||
<TelemetryServiceViewException
|
||||
{...props}
|
||||
pageRoute={
|
||||
RouteMap[PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTION] as Route
|
||||
}
|
||||
/>
|
||||
</Suspense>
|
||||
}
|
||||
/>
|
||||
|
||||
<PageRoute
|
||||
path={RouteUtil.getLastPathForKey(
|
||||
PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_ARCHIVED,
|
||||
2,
|
||||
)}
|
||||
element={
|
||||
<Suspense fallback={Loader}>
|
||||
<TelemetryExceptionsServiceArchived
|
||||
{...props}
|
||||
pageRoute={
|
||||
RouteMap[
|
||||
PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_ARCHIVED
|
||||
] as Route
|
||||
}
|
||||
/>
|
||||
</Suspense>
|
||||
}
|
||||
/>
|
||||
|
||||
<PageRoute
|
||||
path={RouteUtil.getLastPathForKey(
|
||||
PageMap.TELEMETRY_SERVICES_VIEW_TRACE,
|
||||
|
||||
@@ -26,34 +26,6 @@ export function getTelemetryBreadcrumbs(path: string): Array<Link> | undefined {
|
||||
"Metrics",
|
||||
]),
|
||||
|
||||
...BuildBreadcrumbLinksByTitles(PageMap.TELEMETRY_EXCEPTIONS_ARCHIVED, [
|
||||
"Project",
|
||||
"Telemetry",
|
||||
"Exceptions",
|
||||
"Archived",
|
||||
]),
|
||||
|
||||
...BuildBreadcrumbLinksByTitles(PageMap.TELEMETRY_EXCEPTIONS_RESOLVED, [
|
||||
"Project",
|
||||
"Telemetry",
|
||||
"Exceptions",
|
||||
"Resolved",
|
||||
]),
|
||||
|
||||
...BuildBreadcrumbLinksByTitles(PageMap.TELEMETRY_EXCEPTIONS_UNRESOLVED, [
|
||||
"Project",
|
||||
"Telemetry",
|
||||
"Exceptions",
|
||||
"Unresolved",
|
||||
]),
|
||||
|
||||
...BuildBreadcrumbLinksByTitles(PageMap.TELEMETRY_EXCEPTIONS_VIEW, [
|
||||
"Project",
|
||||
"Telemetry",
|
||||
"Exceptions",
|
||||
"View Exception",
|
||||
]),
|
||||
|
||||
...BuildBreadcrumbLinksByTitles(PageMap.TELEMETRY_METRIC_VIEW, [
|
||||
"Project",
|
||||
"Telemetry",
|
||||
@@ -97,55 +69,6 @@ export function getTelemetryBreadcrumbs(path: string): Array<Link> | undefined {
|
||||
"Metrics",
|
||||
]),
|
||||
|
||||
// service exceptions.
|
||||
...BuildBreadcrumbLinksByTitles(
|
||||
PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS,
|
||||
["Project", "Telemetry", "Services", "View Service", "Exceptions"],
|
||||
),
|
||||
|
||||
// service exceptions.
|
||||
...BuildBreadcrumbLinksByTitles(PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTION, [
|
||||
"Project",
|
||||
"Telemetry",
|
||||
"Services",
|
||||
"View Service",
|
||||
"Exceptions",
|
||||
"View Exception",
|
||||
]),
|
||||
|
||||
...BuildBreadcrumbLinksByTitles(
|
||||
PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_UNRESOLVED,
|
||||
[
|
||||
"Project",
|
||||
"Telemetry",
|
||||
"Services",
|
||||
"View Service",
|
||||
"Exceptions",
|
||||
"Unresolved",
|
||||
],
|
||||
),
|
||||
...BuildBreadcrumbLinksByTitles(
|
||||
PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_RESOLVED,
|
||||
[
|
||||
"Project",
|
||||
"Telemetry",
|
||||
"Services",
|
||||
"View Service",
|
||||
"Exceptions",
|
||||
"Resolved",
|
||||
],
|
||||
),
|
||||
...BuildBreadcrumbLinksByTitles(
|
||||
PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_ARCHIVED,
|
||||
[
|
||||
"Project",
|
||||
"Telemetry",
|
||||
"Services",
|
||||
"View Service",
|
||||
"Exceptions",
|
||||
"Archived",
|
||||
],
|
||||
),
|
||||
...BuildBreadcrumbLinksByTitles(PageMap.TELEMETRY_SERVICES_VIEW_TRACES, [
|
||||
"Project",
|
||||
"Telemetry",
|
||||
|
||||
@@ -13,20 +13,12 @@ enum PageMap {
|
||||
TELEMETRY_METRIC_ROOT = "TELEMETRY_METRIC_ROOT",
|
||||
TELEMETRY_TRACE_ROOT = "TELEMETRY_TRACE_ROOT",
|
||||
TELEMETRY_LOG_ROOT = "TELEMETRY_LOG_ROOT",
|
||||
TELEMETRY_EXCEPTIONS_ROOT = "TELEMETRY_EXCEPTIONS_ROOT",
|
||||
|
||||
TELEMETRY_SERVICES_VIEW_ROOT = "TELEMETRY_SERVICES_VIEW_ROOT",
|
||||
TELEMETRY = "TELEMETRY",
|
||||
TELEMETRY_SERVICES = "TELEMETRY_SERVICES",
|
||||
TELEMETRY_DOCUMENTATION = "TELEMETRY_DOCUMENTATION",
|
||||
|
||||
TELEMETRY_EXCEPTIONS = "TELEMETRY_EXCEPTIONS",
|
||||
TELEMETRY_EXCEPTIONS_UNRESOLVED = "TELEMETRY_EXCEPTIONS_UNRESOLVED",
|
||||
TELEMETRY_EXCEPTIONS_RESOLVED = "TELEMETRY_EXCEPTIONS_RESOLVED",
|
||||
TELEMETRY_EXCEPTIONS_ARCHIVED = "TELEMETRY_EXCEPTIONS_ARCHIVED",
|
||||
TELEMETRY_EXCEPTIONS_VIEW = "TELEMETRY_EXCEPTIONS_VIEW",
|
||||
TELEMETRY_EXCEPTIONS_VIEW_DELETE = "TELEMETRY_EXCEPTIONS_VIEW_DELETE",
|
||||
|
||||
TELEMETRY_TRACES = "TELEMETRY_TRACES",
|
||||
TELEMETRY_TRACE_VIEW = "TELEMETRY_TRACE_VIEW",
|
||||
|
||||
@@ -42,16 +34,6 @@ enum PageMap {
|
||||
// Telemetry - LOGS
|
||||
TELEMETRY_SERVICES_VIEW_LOGS = "TELEMETRY_SERVICE_VIEW_LOGS",
|
||||
|
||||
// Exceptions
|
||||
TELEMETRY_SERVICES_VIEW_EXCEPTIONS = "TELEMETRY_SERVICE_VIEW_EXCEPTIONS",
|
||||
TELEMETRY_SERVICES_VIEW_EXCEPTION = "TELEMETRY_SERVICE_VIEW_EXCEPTION",
|
||||
// Exceptions - Unresolved
|
||||
TELEMETRY_SERVICES_VIEW_EXCEPTIONS_UNRESOLVED = "TELEMETRY_SERVICE_VIEW_EXCEPTIONS_UNRESOLVED",
|
||||
// Exceptions - Resolved
|
||||
TELEMETRY_SERVICES_VIEW_EXCEPTIONS_RESOLVED = "TELEMETRY_SERVICE_VIEW_EXCEPTIONS_RESOLVED",
|
||||
// Exceptions - Archived
|
||||
TELEMETRY_SERVICES_VIEW_EXCEPTIONS_ARCHIVED = "TELEMETRY_SERVICE_VIEW_EXCEPTIONS_ARCHIVED",
|
||||
|
||||
// Traces
|
||||
TELEMETRY_SERVICES_VIEW_TRACES = "TELEMETRY_SERVICE_VIEW_TRACES",
|
||||
TELEMETRY_SERVICES_VIEW_TRACE = "TELEMETRY_SERVICE_VIEW_TRACE",
|
||||
|
||||
@@ -78,10 +78,6 @@ export const TelemetryRoutePath: Dictionary<string> = {
|
||||
[PageMap.TELEMETRY_LOGS]: "logs",
|
||||
[PageMap.TELEMETRY_TRACES]: "traces",
|
||||
[PageMap.TELEMETRY_METRICS]: "metrics",
|
||||
[PageMap.TELEMETRY_EXCEPTIONS]: "exceptions/unresolved",
|
||||
[PageMap.TELEMETRY_EXCEPTIONS_RESOLVED]: "exceptions/resolved",
|
||||
[PageMap.TELEMETRY_EXCEPTIONS_UNRESOLVED]: "exceptions/unresolved",
|
||||
[PageMap.TELEMETRY_EXCEPTIONS_ARCHIVED]: "exceptions/archived",
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_ROOT]: "services",
|
||||
|
||||
[PageMap.TELEMETRY_METRIC_ROOT]: `metric`,
|
||||
@@ -90,27 +86,17 @@ export const TelemetryRoutePath: Dictionary<string> = {
|
||||
[PageMap.TELEMETRY_TRACE_ROOT]: `traces/view`,
|
||||
[PageMap.TELEMETRY_TRACE_VIEW]: `traces/view/${RouteParams.ModelID}`, // modelID is spanId
|
||||
|
||||
[PageMap.TELEMETRY_EXCEPTIONS_ROOT]: `exceptions`,
|
||||
[PageMap.TELEMETRY_EXCEPTIONS_VIEW]: `exceptions/${RouteParams.ModelID}`,
|
||||
|
||||
[PageMap.TELEMETRY_LOG_ROOT]: `logs`,
|
||||
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW]: `services/${RouteParams.ModelID}`,
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_DELETE]: `services/${RouteParams.ModelID}/delete`,
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_LOGS]: `services/${RouteParams.ModelID}/logs`,
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTION]: `services/${RouteParams.ModelID}/exceptions/${RouteParams.SubModelID}`,
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_TRACES]: `services/${RouteParams.ModelID}/traces`,
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_TRACE]: `services/${RouteParams.ModelID}/traces/${RouteParams.SubModelID}`,
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_METRICS]: `services/${RouteParams.ModelID}/metrics`,
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_METRIC]: `services/${RouteParams.ModelID}/metrics/view`,
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_SETTINGS]: `services/${RouteParams.ModelID}/settings`,
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_DOCUMENTATION]: `services/${RouteParams.ModelID}/documentation`,
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS]: `services/${RouteParams.ModelID}/exceptions`,
|
||||
|
||||
// service exceptions.
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_ARCHIVED]: `services/${RouteParams.ModelID}/exceptions/archived`,
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_UNRESOLVED]: `services/${RouteParams.ModelID}/exceptions/unresolved`,
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_RESOLVED]: `services/${RouteParams.ModelID}/exceptions/resolved`,
|
||||
};
|
||||
|
||||
export const ExceptionsRoutePath: Dictionary<string> = {
|
||||
@@ -1451,71 +1437,12 @@ const RouteMap: Dictionary<Route> = {
|
||||
}`,
|
||||
),
|
||||
|
||||
[PageMap.TELEMETRY_EXCEPTIONS_ROOT]: new Route(
|
||||
`/dashboard/${RouteParams.ProjectID}/telemetry/${
|
||||
TelemetryRoutePath[PageMap.TELEMETRY_EXCEPTIONS_ROOT]
|
||||
}`,
|
||||
),
|
||||
|
||||
[PageMap.TELEMETRY_TRACES]: new Route(
|
||||
`/dashboard/${RouteParams.ProjectID}/telemetry/${
|
||||
TelemetryRoutePath[PageMap.TELEMETRY_TRACES]
|
||||
}`,
|
||||
),
|
||||
|
||||
// Exceptions
|
||||
|
||||
[PageMap.TELEMETRY_EXCEPTIONS]: new Route(
|
||||
`/dashboard/${RouteParams.ProjectID}/telemetry/${
|
||||
TelemetryRoutePath[PageMap.TELEMETRY_EXCEPTIONS]
|
||||
}`,
|
||||
),
|
||||
|
||||
[PageMap.TELEMETRY_EXCEPTIONS_VIEW]: new Route(
|
||||
`/dashboard/${RouteParams.ProjectID}/telemetry/${
|
||||
TelemetryRoutePath[PageMap.TELEMETRY_EXCEPTIONS_VIEW]
|
||||
}`,
|
||||
),
|
||||
|
||||
// Exceptions - Unresolved, Resolved, Archived.
|
||||
[PageMap.TELEMETRY_EXCEPTIONS_UNRESOLVED]: new Route(
|
||||
`/dashboard/${RouteParams.ProjectID}/telemetry/${
|
||||
TelemetryRoutePath[PageMap.TELEMETRY_EXCEPTIONS_UNRESOLVED]
|
||||
}`,
|
||||
),
|
||||
|
||||
[PageMap.TELEMETRY_EXCEPTIONS_RESOLVED]: new Route(
|
||||
`/dashboard/${RouteParams.ProjectID}/telemetry/${
|
||||
TelemetryRoutePath[PageMap.TELEMETRY_EXCEPTIONS_RESOLVED]
|
||||
}`,
|
||||
),
|
||||
|
||||
[PageMap.TELEMETRY_EXCEPTIONS_ARCHIVED]: new Route(
|
||||
`/dashboard/${RouteParams.ProjectID}/telemetry/${
|
||||
TelemetryRoutePath[PageMap.TELEMETRY_EXCEPTIONS_ARCHIVED]
|
||||
}`,
|
||||
),
|
||||
|
||||
// Service Exceptions - Unresolved, Resolved, Archived.
|
||||
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_RESOLVED]: new Route(
|
||||
`/dashboard/${RouteParams.ProjectID}/telemetry/${
|
||||
TelemetryRoutePath[PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_RESOLVED]
|
||||
}`,
|
||||
),
|
||||
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_UNRESOLVED]: new Route(
|
||||
`/dashboard/${RouteParams.ProjectID}/telemetry/${
|
||||
TelemetryRoutePath[PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_UNRESOLVED]
|
||||
}`,
|
||||
),
|
||||
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_ARCHIVED]: new Route(
|
||||
`/dashboard/${RouteParams.ProjectID}/telemetry/${
|
||||
TelemetryRoutePath[PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS_ARCHIVED]
|
||||
}`,
|
||||
),
|
||||
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_ROOT]: new Route(
|
||||
`/dashboard/${RouteParams.ProjectID}/telemetry/${
|
||||
TelemetryRoutePath[PageMap.TELEMETRY_SERVICES_VIEW_ROOT]
|
||||
@@ -1565,19 +1492,6 @@ const RouteMap: Dictionary<Route> = {
|
||||
}`,
|
||||
),
|
||||
|
||||
// view exceptions.
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS]: new Route(
|
||||
`/dashboard/${RouteParams.ProjectID}/telemetry/${
|
||||
TelemetryRoutePath[PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTIONS]
|
||||
}`,
|
||||
),
|
||||
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTION]: new Route(
|
||||
`/dashboard/${RouteParams.ProjectID}/telemetry/${
|
||||
TelemetryRoutePath[PageMap.TELEMETRY_SERVICES_VIEW_EXCEPTION]
|
||||
}`,
|
||||
),
|
||||
|
||||
//TELEMETRY_SERVICE_VIEW_TRACES
|
||||
[PageMap.TELEMETRY_SERVICES_VIEW_TRACES]: new Route(
|
||||
`/dashboard/${RouteParams.ProjectID}/telemetry/${
|
||||
|
||||
Reference in New Issue
Block a user