wallet: Track scanning duration

This commit is contained in:
João Barbosa committed 2019-04-28 11:14:54 +01:00
1 parent bdd7217f2c
commit 2ee811e693
1 file changed
+3
+3
View File
@@ -596,6 +596,7 @@ class CWallet final : public CCryptoKeyStore, private interfaces::Chain::Notific
private:
std::atomic<bool> fAbortRescan{false};
std::atomic<bool> fScanningWallet{false}; // controlled by WalletRescanReserver
std::atomic<int64_t> m_scanning_start{0};
std::mutex mutexScanning;
friend class WalletRescanReserver;
@@ -820,6 +821,7 @@ public:
void AbortRescan() { fAbortRescan = true; }
bool IsAbortingRescan() { return fAbortRescan; }
bool IsScanning() { return fScanningWallet; }
int64_t ScanningDuration() const { return fScanningWallet ? GetTimeMillis() - m_scanning_start : 0; }
/**
* keystore implementation
@@ -1241,6 +1243,7 @@ public:
if (m_wallet->fScanningWallet) {
return false;
}
m_wallet->m_scanning_start = GetTimeMillis();
m_wallet->fScanningWallet = true;
m_could_reserve = true;
return true;