From 5fe04078e556e028cd430e1615f7fff08efb7aa9 Mon Sep 17 00:00:00 2001 From: Amlan Kumar Nandy <45410599+amlannandy@users.noreply.github.com> Date: Tue, 4 Feb 2025 11:31:37 +0530 Subject: [PATCH] chore: update logs in infra monitoring for analytics (#6994) --- .../ClusterDetails/ClusterDetails.tsx | 5 +++ .../Clusters/K8sClustersList.tsx | 34 ++++++++++++----- .../DaemonSetDetails/DaemonSetDetails.tsx | 5 +++ .../DaemonSets/K8sDaemonSetsList.tsx | 35 +++++++++++++----- .../DeploymentDetails/DeploymentDetails.tsx | 5 +++ .../Deployments/K8sDeploymentsList.tsx | 35 +++++++++++++----- .../InfraMonitoringK8s/InfraMonitoringK8s.tsx | 6 +++ .../Jobs/JobDetails/JobDetails.tsx | 5 +++ .../InfraMonitoringK8s/Jobs/K8sJobsList.tsx | 35 +++++++++++++----- .../Namespaces/K8sNamespacesList.tsx | 35 +++++++++++++----- .../NamespaceDetails/NamespaceDetails.tsx | 5 +++ .../InfraMonitoringK8s/Nodes/K8sNodesList.tsx | 35 +++++++++++++----- .../Nodes/NodeDetails/NodeDetails.tsx | 5 +++ .../InfraMonitoringK8s/Pods/K8sPodLists.tsx | 37 ++++++++++++++----- .../Pods/PodDetails/PodDetails.tsx | 5 +++ .../StatefulSets/K8sStatefulSetsList.tsx | 35 +++++++++++++----- .../StatefulSetDetails/StatefulSetDetails.tsx | 5 +++ .../Volumes/K8sVolumesList.tsx | 35 +++++++++++++----- 18 files changed, 280 insertions(+), 82 deletions(-) diff --git a/frontend/src/container/InfraMonitoringK8s/Clusters/ClusterDetails/ClusterDetails.tsx b/frontend/src/container/InfraMonitoringK8s/Clusters/ClusterDetails/ClusterDetails.tsx index 17080f7d8e..1559f8e11b 100644 --- a/frontend/src/container/InfraMonitoringK8s/Clusters/ClusterDetails/ClusterDetails.tsx +++ b/frontend/src/container/InfraMonitoringK8s/Clusters/ClusterDetails/ClusterDetails.tsx @@ -181,6 +181,10 @@ function ClusterDetails({ const handleTabChange = (e: RadioChangeEvent): void => { setSelectedView(e.target.value); + logEvent('Infra Monitoring: Clusters list details tab changed', { + cluster: cluster?.clusterUID, + view: e.target.value, + }); }; const handleTimeChange = useCallback( @@ -204,6 +208,7 @@ function ClusterDetails({ logEvent('Infra Monitoring: Clusters list details time updated', { cluster: cluster?.clusterUID, interval, + view: selectedView, }); }, // eslint-disable-next-line react-hooks/exhaustive-deps diff --git a/frontend/src/container/InfraMonitoringK8s/Clusters/K8sClustersList.tsx b/frontend/src/container/InfraMonitoringK8s/Clusters/K8sClustersList.tsx index c75cc47c46..59b9082dc2 100644 --- a/frontend/src/container/InfraMonitoringK8s/Clusters/K8sClustersList.tsx +++ b/frontend/src/container/InfraMonitoringK8s/Clusters/K8sClustersList.tsx @@ -240,6 +240,11 @@ function K8sClustersList({ } }, [selectedRowData, fetchGroupedByRowData]); + const numberOfPages = useMemo(() => Math.ceil(totalCount / pageSize), [ + totalCount, + pageSize, + ]); + const handleTableChange: TableProps['onChange'] = useCallback( ( pagination: TablePaginationConfig, @@ -250,6 +255,11 @@ function K8sClustersList({ ): void => { if (pagination.current) { setCurrentPage(pagination.current); + logEvent('Infra Monitoring: K8s clusters list page number changed', { + page: pagination.current, + pageSize, + numberOfPages, + }); } if ('field' in sorter && sorter.order) { @@ -261,7 +271,7 @@ function K8sClustersList({ setOrderBy(null); } }, - [], + [numberOfPages, pageSize], ); const { handleChangeQueryData } = useQueryOperations({ @@ -275,15 +285,13 @@ function K8sClustersList({ handleChangeQueryData('filters', value); setCurrentPage(1); - logEvent('Infra Monitoring: K8s list filters applied', { - filters: value, - }); + logEvent('Infra Monitoring: K8s clusters list filters applied', {}); }, [handleChangeQueryData], ); useEffect(() => { - logEvent('Infra Monitoring: K8s list page visited', {}); + logEvent('Infra Monitoring: K8s clusters list page visited', {}); }, []); const selectedClusterData = useMemo(() => { @@ -442,6 +450,7 @@ function K8sClustersList({ setCurrentPage(1); setGroupBy(groupBy); setExpandedRowKeys([]); + logEvent('Infra Monitoring: K8s clusters list group by changed', {}); }, [groupByFiltersData], ); @@ -457,6 +466,16 @@ function K8sClustersList({ } }, [groupByFiltersData]); + const onPaginationChange = (page: number, pageSize: number): void => { + setCurrentPage(page); + setPageSize(pageSize); + logEvent('Infra Monitoring: K8s clusters list page number changed', { + page, + pageSize, + numberOfPages, + }); + }; + return (
{ - setCurrentPage(page); - setPageSize(pageSize); - }, + onChange: onPaginationChange, }} scroll={{ x: true }} loading={{ diff --git a/frontend/src/container/InfraMonitoringK8s/DaemonSets/DaemonSetDetails/DaemonSetDetails.tsx b/frontend/src/container/InfraMonitoringK8s/DaemonSets/DaemonSetDetails/DaemonSetDetails.tsx index 36312c59cd..8f482fbf29 100644 --- a/frontend/src/container/InfraMonitoringK8s/DaemonSets/DaemonSetDetails/DaemonSetDetails.tsx +++ b/frontend/src/container/InfraMonitoringK8s/DaemonSets/DaemonSetDetails/DaemonSetDetails.tsx @@ -195,6 +195,10 @@ function DaemonSetDetails({ const handleTabChange = (e: RadioChangeEvent): void => { setSelectedView(e.target.value); + logEvent('Infra Monitoring: DaemonSets list details tab changed', { + daemonSet: daemonSet?.daemonSetName, + view: e.target.value, + }); }; const handleTimeChange = useCallback( @@ -218,6 +222,7 @@ function DaemonSetDetails({ logEvent('Infra Monitoring: DaemonSets list details time updated', { daemonSet: daemonSet?.daemonSetName, interval, + view: selectedView, }); }, // eslint-disable-next-line react-hooks/exhaustive-deps diff --git a/frontend/src/container/InfraMonitoringK8s/DaemonSets/K8sDaemonSetsList.tsx b/frontend/src/container/InfraMonitoringK8s/DaemonSets/K8sDaemonSetsList.tsx index 773bdf55d3..4921590215 100644 --- a/frontend/src/container/InfraMonitoringK8s/DaemonSets/K8sDaemonSetsList.tsx +++ b/frontend/src/container/InfraMonitoringK8s/DaemonSets/K8sDaemonSetsList.tsx @@ -243,6 +243,11 @@ function K8sDaemonSetsList({ } }, [selectedRowData, fetchGroupedByRowData]); + const numberOfPages = useMemo(() => Math.ceil(totalCount / pageSize), [ + totalCount, + pageSize, + ]); + const handleTableChange: TableProps['onChange'] = useCallback( ( pagination: TablePaginationConfig, @@ -253,6 +258,11 @@ function K8sDaemonSetsList({ ): void => { if (pagination.current) { setCurrentPage(pagination.current); + logEvent('Infra Monitoring: K8s daemonSets list page number changed', { + page: pagination.current, + pageSize, + numberOfPages, + }); } if ('field' in sorter && sorter.order) { @@ -264,7 +274,7 @@ function K8sDaemonSetsList({ setOrderBy(null); } }, - [], + [numberOfPages, pageSize], ); const { handleChangeQueryData } = useQueryOperations({ @@ -278,15 +288,13 @@ function K8sDaemonSetsList({ handleChangeQueryData('filters', value); setCurrentPage(1); - logEvent('Infra Monitoring: K8s list filters applied', { - filters: value, - }); + logEvent('Infra Monitoring: K8s daemonSets list filters applied', {}); }, [handleChangeQueryData], ); useEffect(() => { - logEvent('Infra Monitoring: K8s list page visited', {}); + logEvent('Infra Monitoring: K8s daemonSets list page visited', {}); }, []); const selectedDaemonSetData = useMemo(() => { @@ -448,6 +456,8 @@ function K8sDaemonSetsList({ setCurrentPage(1); setGroupBy(groupBy); setExpandedRowKeys([]); + + logEvent('Infra Monitoring: K8s daemonSets list group by changed', {}); }, [groupByFiltersData], ); @@ -463,6 +473,16 @@ function K8sDaemonSetsList({ } }, [groupByFiltersData]); + const onPaginationChange = (page: number, pageSize: number): void => { + setCurrentPage(page); + setPageSize(pageSize); + logEvent('Infra Monitoring: K8s daemonSets list page number changed', { + page, + pageSize, + numberOfPages, + }); + }; + return (
{ - setCurrentPage(page); - setPageSize(pageSize); - }, + onChange: onPaginationChange, }} scroll={{ x: true }} loading={{ diff --git a/frontend/src/container/InfraMonitoringK8s/Deployments/DeploymentDetails/DeploymentDetails.tsx b/frontend/src/container/InfraMonitoringK8s/Deployments/DeploymentDetails/DeploymentDetails.tsx index d4f4189cf3..20b8330de4 100644 --- a/frontend/src/container/InfraMonitoringK8s/Deployments/DeploymentDetails/DeploymentDetails.tsx +++ b/frontend/src/container/InfraMonitoringK8s/Deployments/DeploymentDetails/DeploymentDetails.tsx @@ -197,6 +197,10 @@ function DeploymentDetails({ const handleTabChange = (e: RadioChangeEvent): void => { setSelectedView(e.target.value); + logEvent('Infra Monitoring: Deployments list details tab changed', { + deployment: deployment?.deploymentName, + view: e.target.value, + }); }; const handleTimeChange = useCallback( @@ -220,6 +224,7 @@ function DeploymentDetails({ logEvent('Infra Monitoring: Deployments list details time updated', { deployment: deployment?.deploymentName, interval, + view: selectedView, }); }, // eslint-disable-next-line react-hooks/exhaustive-deps diff --git a/frontend/src/container/InfraMonitoringK8s/Deployments/K8sDeploymentsList.tsx b/frontend/src/container/InfraMonitoringK8s/Deployments/K8sDeploymentsList.tsx index f51f566b8a..e764cc71d5 100644 --- a/frontend/src/container/InfraMonitoringK8s/Deployments/K8sDeploymentsList.tsx +++ b/frontend/src/container/InfraMonitoringK8s/Deployments/K8sDeploymentsList.tsx @@ -245,6 +245,11 @@ function K8sDeploymentsList({ } }, [selectedRowData, fetchGroupedByRowData]); + const numberOfPages = useMemo(() => Math.ceil(totalCount / pageSize), [ + totalCount, + pageSize, + ]); + const handleTableChange: TableProps['onChange'] = useCallback( ( pagination: TablePaginationConfig, @@ -255,6 +260,11 @@ function K8sDeploymentsList({ ): void => { if (pagination.current) { setCurrentPage(pagination.current); + logEvent('Infra Monitoring: K8s deployments list page number changed', { + page: pagination.current, + pageSize, + numberOfPages, + }); } if ('field' in sorter && sorter.order) { @@ -266,7 +276,7 @@ function K8sDeploymentsList({ setOrderBy(null); } }, - [], + [numberOfPages, pageSize], ); const { handleChangeQueryData } = useQueryOperations({ @@ -280,15 +290,13 @@ function K8sDeploymentsList({ handleChangeQueryData('filters', value); setCurrentPage(1); - logEvent('Infra Monitoring: K8s list filters applied', { - filters: value, - }); + logEvent('Infra Monitoring: K8s deployments list filters applied', {}); }, [handleChangeQueryData], ); useEffect(() => { - logEvent('Infra Monitoring: K8s list page visited', {}); + logEvent('Infra Monitoring: K8s deployments list page visited', {}); }, []); const selectedDeploymentData = useMemo(() => { @@ -452,6 +460,8 @@ function K8sDeploymentsList({ setCurrentPage(1); setGroupBy(groupBy); setExpandedRowKeys([]); + + logEvent('Infra Monitoring: K8s deployments list group by changed', {}); }, [groupByFiltersData], ); @@ -467,6 +477,16 @@ function K8sDeploymentsList({ } }, [groupByFiltersData]); + const onPaginationChange = (page: number, pageSize: number): void => { + setCurrentPage(page); + setPageSize(pageSize); + logEvent('Infra Monitoring: K8s deployments list page number changed', { + page, + pageSize, + numberOfPages, + }); + }; + return (
{ - setCurrentPage(page); - setPageSize(pageSize); - }, + onChange: onPaginationChange, }} scroll={{ x: true }} loading={{ diff --git a/frontend/src/container/InfraMonitoringK8s/InfraMonitoringK8s.tsx b/frontend/src/container/InfraMonitoringK8s/InfraMonitoringK8s.tsx index 5ed5cd5633..39683e01a9 100644 --- a/frontend/src/container/InfraMonitoringK8s/InfraMonitoringK8s.tsx +++ b/frontend/src/container/InfraMonitoringK8s/InfraMonitoringK8s.tsx @@ -4,6 +4,7 @@ import { VerticalAlignTopOutlined } from '@ant-design/icons'; import * as Sentry from '@sentry/react'; import type { CollapseProps } from 'antd'; import { Collapse, Tooltip, Typography } from 'antd'; +import logEvent from 'api/common/logEvent'; import QuickFilters from 'components/QuickFilters/QuickFilters'; import { QuickFiltersSource } from 'components/QuickFilters/types'; import { useQueryBuilder } from 'hooks/queryBuilder/useQueryBuilder'; @@ -68,6 +69,11 @@ export default function InfraMonitoringK8s(): JSX.Element { // in infra monitoring k8s, we are using only one query, hence updating the 0th index of queryData handleChangeQueryData('filters', query.builder.queryData[0].filters); setQuickFiltersLastUpdated(Date.now()); + + logEvent( + `Infra Monitoring: K8s ${selectedCategory} list quick filters applied`, + {}, + ); }; const items: CollapseProps['items'] = [ diff --git a/frontend/src/container/InfraMonitoringK8s/Jobs/JobDetails/JobDetails.tsx b/frontend/src/container/InfraMonitoringK8s/Jobs/JobDetails/JobDetails.tsx index 22e71d7354..e836e604a5 100644 --- a/frontend/src/container/InfraMonitoringK8s/Jobs/JobDetails/JobDetails.tsx +++ b/frontend/src/container/InfraMonitoringK8s/Jobs/JobDetails/JobDetails.tsx @@ -192,6 +192,10 @@ function JobDetails({ const handleTabChange = (e: RadioChangeEvent): void => { setSelectedView(e.target.value); + logEvent('Infra Monitoring: Jobs list details tab changed', { + job: job?.jobName, + view: e.target.value, + }); }; const handleTimeChange = useCallback( @@ -215,6 +219,7 @@ function JobDetails({ logEvent('Infra Monitoring: Jobs list details time updated', { job: job?.jobName, interval, + view: selectedView, }); }, // eslint-disable-next-line react-hooks/exhaustive-deps diff --git a/frontend/src/container/InfraMonitoringK8s/Jobs/K8sJobsList.tsx b/frontend/src/container/InfraMonitoringK8s/Jobs/K8sJobsList.tsx index d5b778e14e..e3a5971f98 100644 --- a/frontend/src/container/InfraMonitoringK8s/Jobs/K8sJobsList.tsx +++ b/frontend/src/container/InfraMonitoringK8s/Jobs/K8sJobsList.tsx @@ -234,6 +234,11 @@ function K8sJobsList({ } }, [selectedRowData, fetchGroupedByRowData]); + const numberOfPages = useMemo(() => Math.ceil(totalCount / pageSize), [ + totalCount, + pageSize, + ]); + const handleTableChange: TableProps['onChange'] = useCallback( ( pagination: TablePaginationConfig, @@ -242,6 +247,11 @@ function K8sJobsList({ ): void => { if (pagination.current) { setCurrentPage(pagination.current); + logEvent('Infra Monitoring: K8s jobs list page number changed', { + page: pagination.current, + pageSize, + numberOfPages, + }); } if ('field' in sorter && sorter.order) { @@ -253,7 +263,7 @@ function K8sJobsList({ setOrderBy(null); } }, - [], + [numberOfPages, pageSize], ); const { handleChangeQueryData } = useQueryOperations({ @@ -267,15 +277,13 @@ function K8sJobsList({ handleChangeQueryData('filters', value); setCurrentPage(1); - logEvent('Infra Monitoring: K8s list filters applied', { - filters: value, - }); + logEvent('Infra Monitoring: K8s jobs list filters applied', {}); }, [handleChangeQueryData], ); useEffect(() => { - logEvent('Infra Monitoring: K8s list page visited', {}); + logEvent('Infra Monitoring: K8s jobs list page visited', {}); }, []); const selectedJobData = useMemo(() => { @@ -424,6 +432,8 @@ function K8sJobsList({ setCurrentPage(1); setGroupBy(groupBy); setExpandedRowKeys([]); + + logEvent('Infra Monitoring: K8s jobs list group by changed', {}); }, [groupByFiltersData], ); @@ -439,6 +449,16 @@ function K8sJobsList({ } }, [groupByFiltersData]); + const onPaginationChange = (page: number, pageSize: number): void => { + setCurrentPage(page); + setPageSize(pageSize); + logEvent('Infra Monitoring: K8s jobs list page number changed', { + page, + pageSize, + numberOfPages, + }); + }; + return (
{ - setCurrentPage(page); - setPageSize(pageSize); - }, + onChange: onPaginationChange, }} scroll={{ x: true }} loading={{ diff --git a/frontend/src/container/InfraMonitoringK8s/Namespaces/K8sNamespacesList.tsx b/frontend/src/container/InfraMonitoringK8s/Namespaces/K8sNamespacesList.tsx index 8f4fb8d924..0b30383c55 100644 --- a/frontend/src/container/InfraMonitoringK8s/Namespaces/K8sNamespacesList.tsx +++ b/frontend/src/container/InfraMonitoringK8s/Namespaces/K8sNamespacesList.tsx @@ -242,6 +242,11 @@ function K8sNamespacesList({ } }, [selectedRowData, fetchGroupedByRowData]); + const numberOfPages = useMemo(() => Math.ceil(totalCount / pageSize), [ + totalCount, + pageSize, + ]); + const handleTableChange: TableProps['onChange'] = useCallback( ( pagination: TablePaginationConfig, @@ -252,6 +257,11 @@ function K8sNamespacesList({ ): void => { if (pagination.current) { setCurrentPage(pagination.current); + logEvent('Infra Monitoring: K8s namespaces list page number changed', { + page: pagination.current, + pageSize, + numberOfPages, + }); } if ('field' in sorter && sorter.order) { @@ -263,7 +273,7 @@ function K8sNamespacesList({ setOrderBy(null); } }, - [], + [numberOfPages, pageSize], ); const { handleChangeQueryData } = useQueryOperations({ @@ -277,15 +287,13 @@ function K8sNamespacesList({ handleChangeQueryData('filters', value); setCurrentPage(1); - logEvent('Infra Monitoring: K8s list filters applied', { - filters: value, - }); + logEvent('Infra Monitoring: K8s namespaces list filters applied', {}); }, [handleChangeQueryData], ); useEffect(() => { - logEvent('Infra Monitoring: K8s list page visited', {}); + logEvent('Infra Monitoring: K8s namespaces list page visited', {}); }, []); const selectedNamespaceData = useMemo(() => { @@ -449,6 +457,8 @@ function K8sNamespacesList({ setCurrentPage(1); setGroupBy(groupBy); setExpandedRowKeys([]); + + logEvent('Infra Monitoring: K8s namespaces list group by changed', {}); }, [groupByFiltersData], ); @@ -464,6 +474,16 @@ function K8sNamespacesList({ } }, [groupByFiltersData]); + const onPaginationChange = (page: number, pageSize: number): void => { + setCurrentPage(page); + setPageSize(pageSize); + logEvent('Infra Monitoring: K8s namespaces list page number changed', { + page, + pageSize, + numberOfPages, + }); + }; + return (
{ - setCurrentPage(page); - setPageSize(pageSize); - }, + onChange: onPaginationChange, }} scroll={{ x: true }} loading={{ diff --git a/frontend/src/container/InfraMonitoringK8s/Namespaces/NamespaceDetails/NamespaceDetails.tsx b/frontend/src/container/InfraMonitoringK8s/Namespaces/NamespaceDetails/NamespaceDetails.tsx index 82b181455f..04f0a9e8d2 100644 --- a/frontend/src/container/InfraMonitoringK8s/Namespaces/NamespaceDetails/NamespaceDetails.tsx +++ b/frontend/src/container/InfraMonitoringK8s/Namespaces/NamespaceDetails/NamespaceDetails.tsx @@ -183,6 +183,10 @@ function NamespaceDetails({ const handleTabChange = (e: RadioChangeEvent): void => { setSelectedView(e.target.value); + logEvent('Infra Monitoring: Namespaces list details tab changed', { + namespace: namespace?.namespaceName, + view: e.target.value, + }); }; const handleTimeChange = useCallback( @@ -206,6 +210,7 @@ function NamespaceDetails({ logEvent('Infra Monitoring: Namespaces list details time updated', { namespace: namespace?.namespaceName, interval, + view: selectedView, }); }, // eslint-disable-next-line react-hooks/exhaustive-deps diff --git a/frontend/src/container/InfraMonitoringK8s/Nodes/K8sNodesList.tsx b/frontend/src/container/InfraMonitoringK8s/Nodes/K8sNodesList.tsx index 370461db07..f96b4057a8 100644 --- a/frontend/src/container/InfraMonitoringK8s/Nodes/K8sNodesList.tsx +++ b/frontend/src/container/InfraMonitoringK8s/Nodes/K8sNodesList.tsx @@ -233,6 +233,11 @@ function K8sNodesList({ } }, [selectedRowData, fetchGroupedByRowData]); + const numberOfPages = useMemo(() => Math.ceil(totalCount / pageSize), [ + totalCount, + pageSize, + ]); + const handleTableChange: TableProps['onChange'] = useCallback( ( pagination: TablePaginationConfig, @@ -241,6 +246,11 @@ function K8sNodesList({ ): void => { if (pagination.current) { setCurrentPage(pagination.current); + logEvent('Infra Monitoring: K8s nodes list page number changed', { + page: pagination.current, + pageSize, + numberOfPages, + }); } if ('field' in sorter && sorter.order) { @@ -252,7 +262,7 @@ function K8sNodesList({ setOrderBy(null); } }, - [], + [numberOfPages, pageSize], ); const { handleChangeQueryData } = useQueryOperations({ @@ -266,15 +276,13 @@ function K8sNodesList({ handleChangeQueryData('filters', value); setCurrentPage(1); - logEvent('Infra Monitoring: K8s list filters applied', { - filters: value, - }); + logEvent('Infra Monitoring: K8s nodes list filters applied', {}); }, [handleChangeQueryData], ); useEffect(() => { - logEvent('Infra Monitoring: K8s list page visited', {}); + logEvent('Infra Monitoring: K8s nodes list page visited', {}); }, []); const selectedNodeData = useMemo(() => { @@ -427,6 +435,8 @@ function K8sNodesList({ setCurrentPage(1); setGroupBy(groupBy); setExpandedRowKeys([]); + + logEvent('Infra Monitoring: K8s nodes list group by changed', {}); }, [groupByFiltersData], ); @@ -442,6 +452,16 @@ function K8sNodesList({ } }, [groupByFiltersData]); + const onPaginationChange = (page: number, pageSize: number): void => { + setCurrentPage(page); + setPageSize(pageSize); + logEvent('Infra Monitoring: K8s nodes list page number changed', { + page, + pageSize, + numberOfPages, + }); + }; + return (
{ - setCurrentPage(page); - setPageSize(pageSize); - }, + onChange: onPaginationChange, }} scroll={{ x: true }} loading={{ diff --git a/frontend/src/container/InfraMonitoringK8s/Nodes/NodeDetails/NodeDetails.tsx b/frontend/src/container/InfraMonitoringK8s/Nodes/NodeDetails/NodeDetails.tsx index 7d7d3ae4d0..b8b290f140 100644 --- a/frontend/src/container/InfraMonitoringK8s/Nodes/NodeDetails/NodeDetails.tsx +++ b/frontend/src/container/InfraMonitoringK8s/Nodes/NodeDetails/NodeDetails.tsx @@ -181,6 +181,10 @@ function NodeDetails({ const handleTabChange = (e: RadioChangeEvent): void => { setSelectedView(e.target.value); + logEvent('Infra Monitoring: Nodes list details tab changed', { + node: node?.nodeUID, + view: e.target.value, + }); }; const handleTimeChange = useCallback( @@ -204,6 +208,7 @@ function NodeDetails({ logEvent('Infra Monitoring: Nodes list details time updated', { node: node?.nodeUID, interval, + view: selectedView, }); }, // eslint-disable-next-line react-hooks/exhaustive-deps diff --git a/frontend/src/container/InfraMonitoringK8s/Pods/K8sPodLists.tsx b/frontend/src/container/InfraMonitoringK8s/Pods/K8sPodLists.tsx index 91baa27f7a..4269e4f1a3 100644 --- a/frontend/src/container/InfraMonitoringK8s/Pods/K8sPodLists.tsx +++ b/frontend/src/container/InfraMonitoringK8s/Pods/K8sPodLists.tsx @@ -248,6 +248,11 @@ function K8sPodsList({ groupBy, ]); + const numberOfPages = useMemo(() => Math.ceil(totalCount / pageSize), [ + totalCount, + pageSize, + ]); + const handleTableChange: TableProps['onChange'] = useCallback( ( pagination: TablePaginationConfig, @@ -256,6 +261,11 @@ function K8sPodsList({ ): void => { if (pagination.current) { setCurrentPage(pagination.current); + logEvent('Infra Monitoring: K8s pods list page number changed', { + page: pagination.current, + pageSize, + numberOfPages, + }); } if ('field' in sorter && sorter.order) { @@ -267,7 +277,7 @@ function K8sPodsList({ setOrderBy(null); } }, - [], + [numberOfPages, pageSize], ); const { handleChangeQueryData } = useQueryOperations({ @@ -281,9 +291,7 @@ function K8sPodsList({ handleChangeQueryData('filters', value); setCurrentPage(1); - logEvent('Infra Monitoring: K8s list filters applied', { - filters: value, - }); + logEvent('Infra Monitoring: K8s pods list filters applied', {}); }, [handleChangeQueryData], ); @@ -308,12 +316,14 @@ function K8sPodsList({ setCurrentPage(1); setGroupBy(groupBy); setExpandedRowKeys([]); + + logEvent('Infra Monitoring: K8s pods list group by changed', {}); }, [groupByFiltersData], ); useEffect(() => { - logEvent('Infra Monitoring: K8s list page visited', {}); + logEvent('Infra Monitoring: K8s pods list page visited', {}); }, []); const selectedPodData = useMemo(() => { @@ -350,7 +360,7 @@ function K8sPodsList({ handleGroupByRowClick(record); } - logEvent('Infra Monitoring: K8s list item clicked', { + logEvent('Infra Monitoring: K8s pods list item clicked', { podUID: record.podUID, }); }; @@ -499,6 +509,16 @@ function K8sPodsList({ ); }; + const onPaginationChange = (page: number, pageSize: number): void => { + setCurrentPage(page); + setPageSize(pageSize); + logEvent('Infra Monitoring: K8s pods list page number changed', { + page, + pageSize, + numberOfPages, + }); + }; + return (
{ - setCurrentPage(page); - setPageSize(pageSize); - }, + onChange: onPaginationChange, }} loading={{ spinning: isFetching || isLoading, diff --git a/frontend/src/container/InfraMonitoringK8s/Pods/PodDetails/PodDetails.tsx b/frontend/src/container/InfraMonitoringK8s/Pods/PodDetails/PodDetails.tsx index 49bf0caa34..969c3847cc 100644 --- a/frontend/src/container/InfraMonitoringK8s/Pods/PodDetails/PodDetails.tsx +++ b/frontend/src/container/InfraMonitoringK8s/Pods/PodDetails/PodDetails.tsx @@ -198,6 +198,10 @@ function PodDetails({ const handleTabChange = (e: RadioChangeEvent): void => { setSelectedView(e.target.value); + logEvent('Infra Monitoring: Pods list details tab changed', { + pod: pod?.podUID, + view: e.target.value, + }); }; const handleTimeChange = useCallback( @@ -221,6 +225,7 @@ function PodDetails({ logEvent('Infra Monitoring: Pods list details time updated', { pod: pod?.podUID, interval, + view: selectedView, }); }, // eslint-disable-next-line react-hooks/exhaustive-deps diff --git a/frontend/src/container/InfraMonitoringK8s/StatefulSets/K8sStatefulSetsList.tsx b/frontend/src/container/InfraMonitoringK8s/StatefulSets/K8sStatefulSetsList.tsx index cb6d3ff253..6818f65434 100644 --- a/frontend/src/container/InfraMonitoringK8s/StatefulSets/K8sStatefulSetsList.tsx +++ b/frontend/src/container/InfraMonitoringK8s/StatefulSets/K8sStatefulSetsList.tsx @@ -245,6 +245,11 @@ function K8sStatefulSetsList({ } }, [selectedRowData, fetchGroupedByRowData]); + const numberOfPages = useMemo(() => Math.ceil(totalCount / pageSize), [ + totalCount, + pageSize, + ]); + const handleTableChange: TableProps['onChange'] = useCallback( ( pagination: TablePaginationConfig, @@ -255,6 +260,11 @@ function K8sStatefulSetsList({ ): void => { if (pagination.current) { setCurrentPage(pagination.current); + logEvent('Infra Monitoring: K8s statefulSets list page number changed', { + page: pagination.current, + pageSize, + numberOfPages, + }); } if ('field' in sorter && sorter.order) { @@ -266,7 +276,7 @@ function K8sStatefulSetsList({ setOrderBy(null); } }, - [], + [numberOfPages, pageSize], ); const { handleChangeQueryData } = useQueryOperations({ @@ -280,15 +290,13 @@ function K8sStatefulSetsList({ handleChangeQueryData('filters', value); setCurrentPage(1); - logEvent('Infra Monitoring: K8s list filters applied', { - filters: value, - }); + logEvent('Infra Monitoring: K8s statefulSets list filters applied', {}); }, [handleChangeQueryData], ); useEffect(() => { - logEvent('Infra Monitoring: K8s list page visited', {}); + logEvent('Infra Monitoring: K8s statefulSets list page visited', {}); }, []); const selectedStatefulSetData = useMemo(() => { @@ -449,6 +457,8 @@ function K8sStatefulSetsList({ setCurrentPage(1); setGroupBy(groupBy); setExpandedRowKeys([]); + + logEvent('Infra Monitoring: K8s statefulSets list group by changed', {}); }, [groupByFiltersData], ); @@ -464,6 +474,16 @@ function K8sStatefulSetsList({ } }, [groupByFiltersData]); + const onPaginationChange = (page: number, pageSize: number): void => { + setCurrentPage(page); + setPageSize(pageSize); + logEvent('Infra Monitoring: K8s statefulSets list page number changed', { + page, + pageSize, + numberOfPages, + }); + }; + return (
{ - setCurrentPage(page); - setPageSize(pageSize); - }, + onChange: onPaginationChange, }} scroll={{ x: true }} loading={{ diff --git a/frontend/src/container/InfraMonitoringK8s/StatefulSets/StatefulSetDetails/StatefulSetDetails.tsx b/frontend/src/container/InfraMonitoringK8s/StatefulSets/StatefulSetDetails/StatefulSetDetails.tsx index ec67746bb5..f16e2d0cb0 100644 --- a/frontend/src/container/InfraMonitoringK8s/StatefulSets/StatefulSetDetails/StatefulSetDetails.tsx +++ b/frontend/src/container/InfraMonitoringK8s/StatefulSets/StatefulSetDetails/StatefulSetDetails.tsx @@ -198,6 +198,10 @@ function StatefulSetDetails({ const handleTabChange = (e: RadioChangeEvent): void => { setSelectedView(e.target.value); + logEvent('Infra Monitoring: StatefulSets list details tab changed', { + statefulSet: statefulSet?.statefulSetName, + view: e.target.value, + }); }; const handleTimeChange = useCallback( @@ -221,6 +225,7 @@ function StatefulSetDetails({ logEvent('Infra Monitoring: StatefulSets list details time updated', { statefulSet: statefulSet?.statefulSetName, interval, + view: selectedView, }); }, // eslint-disable-next-line react-hooks/exhaustive-deps diff --git a/frontend/src/container/InfraMonitoringK8s/Volumes/K8sVolumesList.tsx b/frontend/src/container/InfraMonitoringK8s/Volumes/K8sVolumesList.tsx index 4bdc9ce821..a61094c2f1 100644 --- a/frontend/src/container/InfraMonitoringK8s/Volumes/K8sVolumesList.tsx +++ b/frontend/src/container/InfraMonitoringK8s/Volumes/K8sVolumesList.tsx @@ -237,6 +237,11 @@ function K8sVolumesList({ } }, [selectedRowData, fetchGroupedByRowData]); + const numberOfPages = useMemo(() => Math.ceil(totalCount / pageSize), [ + totalCount, + pageSize, + ]); + const handleTableChange: TableProps['onChange'] = useCallback( ( pagination: TablePaginationConfig, @@ -245,6 +250,11 @@ function K8sVolumesList({ ): void => { if (pagination.current) { setCurrentPage(pagination.current); + logEvent('Infra Monitoring: K8s volumes list page number changed', { + page: pagination.current, + pageSize, + numberOfPages, + }); } if ('field' in sorter && sorter.order) { @@ -256,7 +266,7 @@ function K8sVolumesList({ setOrderBy(null); } }, - [], + [numberOfPages, pageSize], ); const { handleChangeQueryData } = useQueryOperations({ @@ -270,15 +280,13 @@ function K8sVolumesList({ handleChangeQueryData('filters', value); setCurrentPage(1); - logEvent('Infra Monitoring: K8s list filters applied', { - filters: value, - }); + logEvent('Infra Monitoring: K8s volumes list filters applied', {}); }, [handleChangeQueryData], ); useEffect(() => { - logEvent('Infra Monitoring: K8s list page visited', {}); + logEvent('Infra Monitoring: K8s volumes list page visited', {}); }, []); const selectedVolumeData = useMemo(() => { @@ -434,6 +442,8 @@ function K8sVolumesList({ setCurrentPage(1); setGroupBy(groupBy); setExpandedRowKeys([]); + + logEvent('Infra Monitoring: K8s volumes list group by changed', {}); }, [groupByFiltersData], ); @@ -449,6 +459,16 @@ function K8sVolumesList({ } }, [groupByFiltersData]); + const onPaginationChange = (page: number, pageSize: number): void => { + setCurrentPage(page); + setPageSize(pageSize); + logEvent('Infra Monitoring: K8s volumes list page number changed', { + page, + pageSize, + numberOfPages, + }); + }; + return (
{ - setCurrentPage(page); - setPageSize(pageSize); - }, + onChange: onPaginationChange, }} scroll={{ x: true }} loading={{