From c8e7231f48695a3ab9485a056e1a1386b642ded5 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 29 Jul 2024 09:48:06 -0400 Subject: [PATCH] add debugging of opening and closing connections to proxies --- P2P/Http/State.hs | 21 +++++++++++++++------ doc/todo/git-annex_proxies.mdwn | 2 +- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/P2P/Http/State.hs b/P2P/Http/State.hs index 36f6d6ce69..0617064947 100644 --- a/P2P/Http/State.hs +++ b/P2P/Http/State.hs @@ -539,13 +539,20 @@ instance Show ProxyConnection where openedProxyConnection :: UUID + -> String -> Proxy.ProxySelector -> Annex () -> Proxy.ConcurrencyConfig - -> IO ProxyConnection -openedProxyConnection u selector closer concurrency = do - now <- getPOSIXTime - return $ ProxyConnection u selector closer concurrency now + -> Annex ProxyConnection +openedProxyConnection u desc selector closer concurrency = do + now <- liftIO getPOSIXTime + fastDebug "P2P.Http" ("Opened proxy connection to " ++ desc) + return $ ProxyConnection u selector closer' concurrency now + where + closer' = do + fastDebug "P2P.Http" ("Closing proxy connection to " ++ desc) + closer + fastDebug "P2P.Http" ("Closed proxy connection to " ++ desc) openProxyConnectionToRemote :: AnnexWorkerPool @@ -557,7 +564,8 @@ openProxyConnectionToRemote workerpool clientmaxversion bypass remote = inAnnexWorker' workerpool $ do remoteside <- proxyRemoteSide clientmaxversion bypass remote concurrencyconfig <- Proxy.noConcurrencyConfig - liftIO $ openedProxyConnection (Remote.uuid remote) + openedProxyConnection (Remote.uuid remote) + ("remote " ++ Remote.name remote) (Proxy.singleProxySelector remoteside) (Proxy.closeRemoteSide remoteside) concurrencyconfig @@ -576,7 +584,8 @@ openProxyConnectionToCluster workerpool clientmaxversion bypass clusteruuid conc (proxyselector, closenodes) <- clusterProxySelector clusteruuid clientmaxversion bypass concurrencyconfig <- Proxy.mkConcurrencyConfig concurrency - liftIO $ openedProxyConnection (fromClusterUUID clusteruuid) + openedProxyConnection (fromClusterUUID clusteruuid) + ("cluster " ++ fromUUID (fromClusterUUID clusteruuid)) proxyselector closenodes concurrencyconfig type ProxyConnectionPool = (Integer, M.Map ProxyConnectionPoolKey [ProxyConnection]) diff --git a/doc/todo/git-annex_proxies.mdwn b/doc/todo/git-annex_proxies.mdwn index 54a37ca651..83bc358a16 100644 --- a/doc/todo/git-annex_proxies.mdwn +++ b/doc/todo/git-annex_proxies.mdwn @@ -32,7 +32,7 @@ Planned schedule of work: over http leaves open the connection to the cluster, so the next request opens another one. - So does an interrupted PUT directly to the proxied ; + So does an interrupted PUT directly to the proxied special remote over http. * When part of a file has been sent to a cluster via the http server,