http downloaded blocks stat

This commit is contained in:
Sergey Ivanov 2023-04-14 14:17:23 +04:00
parent ed47e18d24
commit f367c46a88
3 changed files with 5 additions and 0 deletions

View File

@ -127,6 +127,7 @@ blockHttpDownloadLoop denv = do
case r of case r of
Right (Just block) -> do Right (Just block) -> do
trace $ "SUCCESS" <+> pretty peer <+> "http-download block" <+> pretty h trace $ "SUCCESS" <+> pretty peer <+> "http-download block" <+> pretty h
liftIO $ atomically $ modifyTVar (_peerHttpDownloaded pinfo) (+1)
sto <- getStorage sto <- getStorage
liftIO $ putBlock sto block liftIO $ putBlock sto block
withDownload denv $ processBlock h withDownload denv $ processBlock h

View File

@ -152,6 +152,7 @@ peerPingLoop cfg = do
downMiss <- liftIO $ readTVarIO (view peerDownloadMiss pinfo) downMiss <- liftIO $ readTVarIO (view peerDownloadMiss pinfo)
down <- liftIO $ readTVarIO (view peerDownloadedBlk pinfo) down <- liftIO $ readTVarIO (view peerDownloadedBlk pinfo)
rtt <- liftIO $ medianPeerRTT pinfo <&> fmap realToFrac rtt <- liftIO $ medianPeerRTT pinfo <&> fmap realToFrac
httpDownloaded <- liftIO $ readTVarIO (_peerHttpDownloaded pinfo)
seen <- liftIO $ readTVarIO (view peerLastWatched pinfo) seen <- liftIO $ readTVarIO (view peerLastWatched pinfo)
let l = realToFrac (toNanoSecs $ now - seen) / 1e9 let l = realToFrac (toNanoSecs $ now - seen) / 1e9
@ -164,6 +165,7 @@ peerPingLoop cfg = do
<+> "down:" <+> pretty down <+> "down:" <+> pretty down
<+> "miss:" <+> pretty downMiss <+> "miss:" <+> pretty downMiss
<+> "rtt:" <+> pretty rttMs <+> "rtt:" <+> pretty rttMs
<+> "http:" <+> pretty httpDownloaded
<+> "seen" <+> pretty ls <+> "seen" <+> pretty ls
pure () pure ()

View File

@ -58,6 +58,7 @@ data PeerInfo e =
, _peerRTTBuffer :: TVar [Integer] -- ^ Contains a list of the last few round-trip time (RTT) values, measured in nanoseconds. , _peerRTTBuffer :: TVar [Integer] -- ^ Contains a list of the last few round-trip time (RTT) values, measured in nanoseconds.
-- Acts like a circular buffer. -- Acts like a circular buffer.
, _peerHttpApiAddress :: TVar (Either Int (Maybe String)) , _peerHttpApiAddress :: TVar (Either Int (Maybe String))
, _peerHttpDownloaded :: TVar Int
} }
deriving stock (Generic,Typeable) deriving stock (Generic,Typeable)
@ -80,6 +81,7 @@ newPeerInfo = liftIO do
<*> newTVarIO 0 <*> newTVarIO 0
<*> newTVarIO [] <*> newTVarIO []
<*> newTVarIO (Left 0) <*> newTVarIO (Left 0)
<*> newTVarIO 0
type instance SessionData e (PeerInfo e) = PeerInfo e type instance SessionData e (PeerInfo e) = PeerInfo e