mirror of
https://github.com/SigNoz/signoz.git
synced 2025-12-22 18:06:35 +00:00
* fix: step size is made dynamic * test: get step test is added * chore: alerts step is updated * chore: query is updated * chore: provider query is updated * fix: user input is being take care of * chore: query builder step interval is updated * test: lib/getStep is updated * test: test for getStep is updated * fix: step interval is taken care when we change from top nav * chore: while saving the dashboard query is updated * chore: updated when selected widget is present * chore: getStep is now multiple of 60 and test is updated accordingly * chore: user input is overriden from global step --------- Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
91 lines
2.0 KiB
TypeScript
91 lines
2.0 KiB
TypeScript
import RouteTab from 'components/RouteTab';
|
|
import ROUTES from 'constants/routes';
|
|
import ResourceAttributesFilter from 'container/ResourceAttributesFilter';
|
|
import history from 'lib/history';
|
|
import { memo, useMemo } from 'react';
|
|
import { generatePath, useParams } from 'react-router-dom';
|
|
import { useLocation } from 'react-use';
|
|
|
|
import DBCall from './Tabs/DBCall';
|
|
import External from './Tabs/External';
|
|
import Overview from './Tabs/Overview';
|
|
|
|
function OverViewTab(): JSX.Element {
|
|
return <Overview />;
|
|
}
|
|
|
|
function DbCallTab(): JSX.Element {
|
|
return <DBCall />;
|
|
}
|
|
|
|
function ExternalTab(): JSX.Element {
|
|
return <External />;
|
|
}
|
|
|
|
function ServiceMetrics(): JSX.Element {
|
|
const { search } = useLocation();
|
|
const { servicename } = useParams<{ servicename: string }>();
|
|
|
|
const searchParams = new URLSearchParams(search);
|
|
const tab = searchParams.get('tab');
|
|
|
|
const overMetrics = 'Overview Metrics';
|
|
const dbCallMetrics = 'Database Calls';
|
|
const externalMetrics = 'External Calls';
|
|
|
|
const getActiveKey = (): string => {
|
|
switch (tab) {
|
|
case null: {
|
|
return overMetrics;
|
|
}
|
|
case dbCallMetrics: {
|
|
return dbCallMetrics;
|
|
}
|
|
case externalMetrics: {
|
|
return externalMetrics;
|
|
}
|
|
default: {
|
|
return overMetrics;
|
|
}
|
|
}
|
|
};
|
|
|
|
const activeKey = getActiveKey();
|
|
|
|
const routes = useMemo(
|
|
() => [
|
|
{
|
|
Component: OverViewTab,
|
|
name: overMetrics,
|
|
route: `${generatePath(ROUTES.SERVICE_METRICS, {
|
|
servicename,
|
|
})}?tab=${overMetrics}`,
|
|
},
|
|
{
|
|
Component: DbCallTab,
|
|
name: dbCallMetrics,
|
|
route: `${generatePath(ROUTES.SERVICE_METRICS, {
|
|
servicename,
|
|
})}?tab=${dbCallMetrics}`,
|
|
},
|
|
{
|
|
Component: ExternalTab,
|
|
name: externalMetrics,
|
|
route: `${generatePath(ROUTES.SERVICE_METRICS, {
|
|
servicename,
|
|
})}?tab=${externalMetrics}`,
|
|
},
|
|
],
|
|
[servicename],
|
|
);
|
|
|
|
return (
|
|
<>
|
|
<ResourceAttributesFilter />
|
|
<RouteTab routes={routes} history={history} activeKey={activeKey} />
|
|
</>
|
|
);
|
|
}
|
|
|
|
export default memo(ServiceMetrics);
|