@@ -28,6 +28,8 @@ import {
2828 gossipPeersRowsUpdateAtom ,
2929 gossipPeersCellUpdateAtom ,
3030 serverTimeNanosAtom ,
31+ liveNetworkMetricsAtom ,
32+ liveTileMetricsAtom ,
3133} from "./atoms" ;
3234import {
3335 blockEngineSchema ,
@@ -58,12 +60,14 @@ import type {
5860 EstimatedTps ,
5961 GossipNetworkStats ,
6062 GossipPeersSize ,
63+ LiveNetworkMetrics ,
6164 LiveTilePrimaryMetric ,
6265 LiveTxnWaterfall ,
6366 Peer ,
6467 PeerRemove ,
6568 RepairSlot ,
6669 SlotResponse ,
70+ TileMetrics ,
6771 TurbineSlot ,
6872} from "./types" ;
6973import { useDebouncedCallback , useThrottledCallback } from "use-debounce" ;
@@ -72,7 +76,11 @@ import { useServerMessages } from "./ws/utils";
7276import { DateTime } from "luxon" ;
7377import {
7478 estimatedTpsDebounceMs ,
79+ gossipNetworkDebounceMs ,
80+ gossipPeerSizeDebounceMs ,
7581 liveMetricsDebounceMs ,
82+ liveNetworkMetricsDebounceMs ,
83+ liveTileMetricsDebounceMs ,
7684 tileTimerDebounceMs ,
7785 waterfallDebounceMs ,
7886} from "./consts" ;
@@ -133,6 +141,19 @@ export function useSetAtomWsData() {
133141 setEstimatedTps ( value ) ;
134142 } , estimatedTpsDebounceMs ) ;
135143
144+ const setLiveNetworkMetrics = useSetAtom ( liveNetworkMetricsAtom ) ;
145+ const setDbLiveNetworkMetrics = useThrottledCallback (
146+ ( value ?: LiveNetworkMetrics ) => {
147+ setLiveNetworkMetrics ( value ) ;
148+ } ,
149+ liveNetworkMetricsDebounceMs ,
150+ ) ;
151+
152+ const setLiveTileMetrics = useSetAtom ( liveTileMetricsAtom ) ;
153+ const setDbLiveTileMetrics = useThrottledCallback ( ( value ?: TileMetrics ) => {
154+ setLiveTileMetrics ( value ) ;
155+ } , liveTileMetricsDebounceMs ) ;
156+
136157 const setLivePrimaryMetrics = useSetAtom ( liveTilePrimaryMetricAtom ) ;
137158 const setDbLivePrimaryMetrics = useThrottledCallback (
138159 ( value ?: LiveTilePrimaryMetric ) => {
@@ -178,15 +199,15 @@ export function useSetAtomWsData() {
178199 ( value ?: GossipNetworkStats ) => {
179200 setGossipNetworkStats ( value ) ;
180201 } ,
181- 300 ,
202+ gossipNetworkDebounceMs ,
182203 ) ;
183204
184205 const setGossipPeersSize = useSetAtom ( gossipPeersSizeAtom ) ;
185206 const setDbGossipPeersSize = useThrottledCallback (
186207 ( value ?: GossipPeersSize ) => {
187208 setGossipPeersSize ( value ) ;
188209 } ,
189- 1_000 ,
210+ gossipPeerSizeDebounceMs ,
190211 ) ;
191212 const setGossipPeersRows = useSetAtom ( gossipPeersRowsUpdateAtom ) ;
192213 const setGossipPeersCells = useSetAtom ( gossipPeersCellUpdateAtom ) ;
@@ -389,6 +410,13 @@ export function useSetAtomWsData() {
389410 setServerTimeNanos ( value ) ;
390411 break ;
391412 }
413+ case "live_network_metrics" : {
414+ setDbLiveNetworkMetrics ( value ) ;
415+ break ;
416+ }
417+ case "live_tile_metrics" :
418+ setDbLiveTileMetrics ( value ) ;
419+ break ;
392420 case "root_slot" :
393421 case "optimistically_confirmed_slot" :
394422 case "estimated_slot" :
@@ -398,8 +426,7 @@ export function useSetAtomWsData() {
398426 case "storage_slot" :
399427 case "vote_slot" :
400428 case "slot_caught_up" :
401- case "live_network_metrics" :
402- case "live_tile_metrics" :
429+ case "active_fork_count" :
403430 break ;
404431 }
405432 } else if ( topic === "epoch" ) {
0 commit comments