Add a persistent screen showing basic node metrics
The screen is implemented using ANSI Escape sequences. Closes #1331
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
#include "consensus/validation.h"
|
||||
#include "hash.h"
|
||||
#include "main.h"
|
||||
#include "metrics.h"
|
||||
#include "net.h"
|
||||
#include "pow.h"
|
||||
#include "primitives/transaction.h"
|
||||
@@ -437,6 +438,8 @@ static bool ProcessBlockFound(CBlock* pblock, CWallet& wallet, CReserveKey& rese
|
||||
if (!ProcessNewBlock(state, NULL, pblock, true, NULL))
|
||||
return error("ZcashMiner: ProcessNewBlock, block not accepted");
|
||||
|
||||
minedBlocks.increment();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -555,8 +558,11 @@ void static BitcoinMiner(CWallet *pwallet)
|
||||
SetThreadPriority(THREAD_PRIORITY_LOWEST);
|
||||
|
||||
// In regression test mode, stop mining after a block is found.
|
||||
if (chainparams.MineBlocksOnDemand())
|
||||
if (chainparams.MineBlocksOnDemand()) {
|
||||
// Increment here because throwing skips the call below
|
||||
ehSolverRuns.increment();
|
||||
throw boost::thread_interrupted();
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
@@ -581,6 +587,7 @@ void static BitcoinMiner(CWallet *pwallet)
|
||||
eq.showbsizes(r);
|
||||
}
|
||||
eq.digitK(0);
|
||||
ehSolverRuns.increment();
|
||||
|
||||
// Convert solution indices to byte array (decompress) and pass it to validBlock method.
|
||||
for (size_t s = 0; s < eq.nsols; s++) {
|
||||
@@ -600,8 +607,11 @@ void static BitcoinMiner(CWallet *pwallet)
|
||||
} else {
|
||||
try {
|
||||
// If we find a valid block, we rebuild
|
||||
if (EhOptimisedSolve(n, k, curr_state, validBlock, cancelled))
|
||||
bool found = EhOptimisedSolve(n, k, curr_state, validBlock, cancelled);
|
||||
ehSolverRuns.increment();
|
||||
if (found) {
|
||||
break;
|
||||
}
|
||||
} catch (EhSolverCancelledException&) {
|
||||
LogPrint("pow", "Equihash solver cancelled\n");
|
||||
std::lock_guard<std::mutex> lock{m_cs};
|
||||
|
||||
Reference in New Issue
Block a user