MCPcopy Create free account
hub / github.com/pgadmin-org/pgadmin4 / Graphs

Function Graphs

web/pgadmin/dashboard/static/js/Graphs.jsx:91–229  ·  view source on GitHub ↗
({preferences, sid, did, pageVisible, enablePoll=true, isTest})

Source from the content-addressed store, hash-verified

89};
90
91export default function Graphs({preferences, sid, did, pageVisible, enablePoll=true, isTest}) {
92 const refreshOn = useRef(null);
93 const prevPrefernces = usePrevious(preferences);
94 const theme = useTheme();
95
96 const [sessionStats, sessionStatsReduce] = useReducer(statsReducer, chartsDefault['session_stats']);
97 const [tpsStats, tpsStatsReduce] = useReducer(statsReducer, chartsDefault['tps_stats']);
98 const [tiStats, tiStatsReduce] = useReducer(statsReducer, chartsDefault['ti_stats']);
99 const [toStats, toStatsReduce] = useReducer(statsReducer, chartsDefault['to_stats']);
100 const [bioStats, bioStatsReduce] = useReducer(statsReducer, chartsDefault['bio_stats']);
101
102 const [counterData, setCounterData] = useState({});
103
104 const [errorMsg, setErrorMsg] = useState(null);
105 const [pollDelay, setPollDelay] = useState(1000);
106 const [chartDrawnOnce, setChartDrawnOnce] = useState(false);
107
108 useEffect(()=>{
109 let calcPollDelay = false;
110 if(prevPrefernces) {
111 if(prevPrefernces['session_stats_refresh'] != preferences['session_stats_refresh']) {
112 sessionStatsReduce({reset: chartsDefault['session_stats']});
113 calcPollDelay = true;
114 }
115 if(prevPrefernces['tps_stats_refresh'] != preferences['tps_stats_refresh']) {
116 tpsStatsReduce({reset:chartsDefault['tps_stats']});
117 calcPollDelay = true;
118 }
119 if(prevPrefernces['ti_stats_refresh'] != preferences['ti_stats_refresh']) {
120 tiStatsReduce({reset:chartsDefault['ti_stats']});
121 calcPollDelay = true;
122 }
123 if(prevPrefernces['to_stats_refresh'] != preferences['to_stats_refresh']) {
124 toStatsReduce({reset:chartsDefault['to_stats']});
125 calcPollDelay = true;
126 }
127 if(prevPrefernces['bio_stats_refresh'] != preferences['bio_stats_refresh']) {
128 bioStatsReduce({reset:chartsDefault['bio_stats']});
129 calcPollDelay = true;
130 }
131 } else {
132 calcPollDelay = true;
133 }
134 if(calcPollDelay) {
135 setPollDelay(
136 getGCD(Object.keys(chartsDefault).map((name)=>preferences[name+'_refresh']))*1000
137 );
138 }
139 }, [preferences]);
140
141 useEffect(()=>{
142 /* Charts rendered are not visible when, the dashboard is hidden but later visible */
143 if(pageVisible && !chartDrawnOnce) {
144 setChartDrawnOnce(true);
145 }
146 }, [pageVisible]);
147
148 useInterval(()=>{

Callers

nothing calls this directly

Calls 9

usePreviousFunction · 0.90
getGCDFunction · 0.90
useIntervalFunction · 0.90
getEpochFunction · 0.90
gettextFunction · 0.85
errorMethod · 0.80
getStatsUrlFunction · 0.70
transformDataFunction · 0.70
getMethod · 0.45

Tested by

no test coverage detected