import React,{useEffect} from 'react'; import { Tabs, Card, Row, Col} from 'antd'; import { connect } from 'react-redux'; import { useParams } from "react-router-dom"; import { getServicesMetrics, metricItem, getTopEndpoints, topEndpointListItem, GlobalTime } from '../../actions'; import { StoreState } from '../../reducers' import LatencyLineChart from "./LatencyLineChart" import RequestRateChart from './RequestRateChart' import ErrorRateChart from './ErrorRateChart' import TopEndpointsTable from './TopEndpointsTable'; const { TabPane } = Tabs; interface ServicesMetricsProps { serviceMetrics: metricItem[], getServicesMetrics: Function, topEndpointsList: topEndpointListItem[], getTopEndpoints: Function, globalTime: GlobalTime, } const _ServiceMetrics = (props: ServicesMetricsProps) => { const params = useParams<{ servicename?: string; }>(); console.log('service name',params.servicename); useEffect( () => { props.getServicesMetrics(params.servicename,props.globalTime); props.getTopEndpoints(params.servicename,props.globalTime); }, [props.globalTime,params.servicename]); return (
Coming Soon..
{/* */}
{/* */}
); } const mapStateToProps = (state: StoreState): { serviceMetrics: metricItem[], topEndpointsList: topEndpointListItem[],globalTime: GlobalTime} => { return { serviceMetrics : state.serviceMetrics, topEndpointsList: state.topEndpointsList, globalTime:state.globalTime}; }; // the name mapStateToProps is only a convention // take state and map it to props which are accessible inside this component export const ServiceMetrics = connect(mapStateToProps, { getServicesMetrics: getServicesMetrics, getTopEndpoints: getTopEndpoints, })(_ServiceMetrics);