diff --git a/frontend/src/container/LogsExplorerViews/index.tsx b/frontend/src/container/LogsExplorerViews/index.tsx
index f95c79d252..6229a3fe22 100644
--- a/frontend/src/container/LogsExplorerViews/index.tsx
+++ b/frontend/src/container/LogsExplorerViews/index.tsx
@@ -5,6 +5,7 @@ import { REACT_QUERY_KEY } from 'constants/reactQueryKeys';
import LogsExplorerList from 'container/LogsExplorerList';
import LogsExplorerTable from 'container/LogsExplorerTable';
import { GRAPH_TYPES } from 'container/NewDashboard/ComponentsSlider';
+import TimeSeriesView from 'container/TimeSeriesView/TimeSeriesView';
import { useGetQueryRange } from 'hooks/queryBuilder/useGetQueryRange';
import { useQueryBuilder } from 'hooks/queryBuilder/useQueryBuilder';
import { memo, useCallback, useEffect, useMemo } from 'react';
@@ -29,12 +30,15 @@ function LogsExplorerViews(): JSX.Element {
(state) => state.globalTime,
);
- const { data, isFetching } = useGetQueryRange(
+ const { data, isFetching, isError } = useGetQueryRange(
{
query: stagedQuery || initialQueriesMap.metrics,
graphType: panelType || PANEL_TYPES.LIST,
globalSelectedInterval: selectedTime,
selectedTime: 'GLOBAL_TIME',
+ params: {
+ dataSource: DataSource.LOGS,
+ },
},
{
queryKey: [REACT_QUERY_KEY.GET_QUERY_RANGE, selectedTime, stagedQuery],
@@ -71,14 +75,20 @@ function LogsExplorerViews(): JSX.Element {
disabled: isMultipleQueries || isGroupByExist,
children: ,
},
- { label: 'TimeSeries', key: PANEL_TYPES.TIME_SERIES },
+ {
+ label: 'TimeSeries',
+ key: PANEL_TYPES.TIME_SERIES,
+ children: (
+
+ ),
+ },
{
label: 'Table',
key: PANEL_TYPES.TABLE,
children: ,
},
],
- [isMultipleQueries, isGroupByExist, currentData, isFetching],
+ [isMultipleQueries, isGroupByExist, currentData, isFetching, data, isError],
);
const handleChangeView = useCallback(
diff --git a/frontend/src/container/TimeSeriesView/TimeSeriesView.tsx b/frontend/src/container/TimeSeriesView/TimeSeriesView.tsx
new file mode 100644
index 0000000000..398823205f
--- /dev/null
+++ b/frontend/src/container/TimeSeriesView/TimeSeriesView.tsx
@@ -0,0 +1,53 @@
+import Graph from 'components/Graph';
+import Spinner from 'components/Spinner';
+import getChartData from 'lib/getChartData';
+import { useMemo } from 'react';
+import { SuccessResponse } from 'types/api';
+import { MetricRangePayloadProps } from 'types/api/metrics/getQueryRange';
+
+import { Container, ErrorText } from './styles';
+
+function TimeSeriesView({
+ data,
+ isLoading,
+ isError,
+}: TimeSeriesViewProps): JSX.Element {
+ const chartData = useMemo(
+ () =>
+ getChartData({
+ queryData: [
+ {
+ queryData: data?.payload?.data?.result || [],
+ },
+ ],
+ }),
+ [data],
+ );
+
+ return (
+
+ {isLoading && }
+ {isError && {data?.error || 'Something went wrong'}}
+ {!isLoading && !isError && (
+
+ )}
+
+ );
+}
+
+interface TimeSeriesViewProps {
+ data?: SuccessResponse;
+ isLoading: boolean;
+ isError: boolean;
+}
+
+TimeSeriesView.defaultProps = {
+ data: undefined,
+};
+
+export default TimeSeriesView;
diff --git a/frontend/src/container/TracesExplorer/TimeSeriesView/index.tsx b/frontend/src/container/TimeSeriesView/index.tsx
similarity index 52%
rename from frontend/src/container/TracesExplorer/TimeSeriesView/index.tsx
rename to frontend/src/container/TimeSeriesView/index.tsx
index ee531d7f40..8728f0120c 100644
--- a/frontend/src/container/TracesExplorer/TimeSeriesView/index.tsx
+++ b/frontend/src/container/TimeSeriesView/index.tsx
@@ -1,18 +1,17 @@
-import Graph from 'components/Graph';
-import Spinner from 'components/Spinner';
import { initialQueriesMap } from 'constants/queryBuilder';
import { REACT_QUERY_KEY } from 'constants/reactQueryKeys';
import { useGetQueryRange } from 'hooks/queryBuilder/useGetQueryRange';
import { useQueryBuilder } from 'hooks/queryBuilder/useQueryBuilder';
-import getChartData from 'lib/getChartData';
-import { useMemo } from 'react';
import { useSelector } from 'react-redux';
import { AppState } from 'store/reducers';
+import { DataSource } from 'types/common/queryBuilder';
import { GlobalReducer } from 'types/reducer/globalTime';
-import { Container, ErrorText } from './styles';
+import TimeSeriesView from './TimeSeriesView';
-function TimeSeriesView(): JSX.Element {
+function TimeSeriesViewContainer({
+ dataSource = DataSource.TRACES,
+}: TimeSeriesViewProps): JSX.Element {
const { stagedQuery } = useQueryBuilder();
const { selectedTime: globalSelectedTime, maxTime, minTime } = useSelector<
@@ -22,12 +21,12 @@ function TimeSeriesView(): JSX.Element {
const { data, isLoading, isError } = useGetQueryRange(
{
- query: stagedQuery || initialQueriesMap.traces,
+ query: stagedQuery || initialQueriesMap[dataSource],
graphType: 'graph',
selectedTime: 'GLOBAL_TIME',
globalSelectedInterval: globalSelectedTime,
params: {
- dataSource: 'traces',
+ dataSource,
},
},
{
@@ -42,32 +41,15 @@ function TimeSeriesView(): JSX.Element {
},
);
- const chartData = useMemo(
- () =>
- getChartData({
- queryData: [
- {
- queryData: data?.payload?.data?.result || [],
- },
- ],
- }),
- [data],
- );
-
- return (
-
- {isLoading && }
- {isError && {data?.error || 'Something went wrong'}}
- {!isLoading && !isError && (
-
- )}
-
- );
+ return ;
}
-export default TimeSeriesView;
+interface TimeSeriesViewProps {
+ dataSource?: DataSource;
+}
+
+TimeSeriesViewContainer.defaultProps = {
+ dataSource: DataSource.TRACES,
+};
+
+export default TimeSeriesViewContainer;
diff --git a/frontend/src/container/TracesExplorer/TimeSeriesView/styles.ts b/frontend/src/container/TimeSeriesView/styles.ts
similarity index 100%
rename from frontend/src/container/TracesExplorer/TimeSeriesView/styles.ts
rename to frontend/src/container/TimeSeriesView/styles.ts
diff --git a/frontend/src/pages/TracesExplorer/utils.tsx b/frontend/src/pages/TracesExplorer/utils.tsx
index 344d79072d..7c38207281 100644
--- a/frontend/src/pages/TracesExplorer/utils.tsx
+++ b/frontend/src/pages/TracesExplorer/utils.tsx
@@ -1,12 +1,13 @@
import { TabsProps } from 'antd';
import { PANEL_TYPES } from 'constants/queryBuilder';
-import TimeSeriesView from 'container/TracesExplorer/TimeSeriesView';
+import TimeSeriesView from 'container/TimeSeriesView';
+import { DataSource } from 'types/common/queryBuilder';
export const getTabsItems = (): TabsProps['items'] => [
{
label: 'Time Series',
key: PANEL_TYPES.TIME_SERIES,
- children: ,
+ children: ,
},
{
label: 'Traces',