BlockchainDB, BlockchainLMDB: Add profiling for DB commits
This commit is contained in:
parent
7a66b8bbcf
commit
8529c0ea9a
3 changed files with 18 additions and 0 deletions
|
@ -33,6 +33,7 @@
|
||||||
|
|
||||||
#include "cryptonote_core/cryptonote_format_utils.h"
|
#include "cryptonote_core/cryptonote_format_utils.h"
|
||||||
#include "crypto/crypto.h"
|
#include "crypto/crypto.h"
|
||||||
|
#include "profile_tools.h"
|
||||||
|
|
||||||
using epee::string_tools::pod_to_hex;
|
using epee::string_tools::pod_to_hex;
|
||||||
|
|
||||||
|
@ -1666,7 +1667,10 @@ void BlockchainLMDB::batch_commit()
|
||||||
throw0(DB_ERROR("batch transaction not in progress"));
|
throw0(DB_ERROR("batch transaction not in progress"));
|
||||||
check_open();
|
check_open();
|
||||||
LOG_PRINT_L3("batch transaction: committing...");
|
LOG_PRINT_L3("batch transaction: committing...");
|
||||||
|
TIME_MEASURE_START(time1);
|
||||||
m_write_txn->commit();
|
m_write_txn->commit();
|
||||||
|
TIME_MEASURE_FINISH(time1);
|
||||||
|
time_commit1 += time1;
|
||||||
LOG_PRINT_L3("batch transaction: committed");
|
LOG_PRINT_L3("batch transaction: committed");
|
||||||
|
|
||||||
if (mdb_txn_begin(m_env, NULL, 0, m_write_batch_txn))
|
if (mdb_txn_begin(m_env, NULL, 0, m_write_batch_txn))
|
||||||
|
@ -1685,7 +1689,10 @@ void BlockchainLMDB::batch_stop()
|
||||||
throw0(DB_ERROR("batch transaction not in progress"));
|
throw0(DB_ERROR("batch transaction not in progress"));
|
||||||
check_open();
|
check_open();
|
||||||
LOG_PRINT_L3("batch transaction: committing...");
|
LOG_PRINT_L3("batch transaction: committing...");
|
||||||
|
TIME_MEASURE_START(time1);
|
||||||
m_write_txn->commit();
|
m_write_txn->commit();
|
||||||
|
TIME_MEASURE_FINISH(time1);
|
||||||
|
time_commit1 += time1;
|
||||||
// for destruction of batch transaction
|
// for destruction of batch transaction
|
||||||
m_write_txn = nullptr;
|
m_write_txn = nullptr;
|
||||||
m_batch_active = false;
|
m_batch_active = false;
|
||||||
|
@ -1741,7 +1748,10 @@ uint64_t BlockchainLMDB::add_block( const block& blk
|
||||||
{
|
{
|
||||||
m_write_txn = NULL;
|
m_write_txn = NULL;
|
||||||
|
|
||||||
|
TIME_MEASURE_START(time1);
|
||||||
txn.commit();
|
txn.commit();
|
||||||
|
TIME_MEASURE_FINISH(time1);
|
||||||
|
time_commit1 += time1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
|
|
|
@ -151,6 +151,7 @@ void BlockchainDB::reset_stats()
|
||||||
time_blk_hash = 0;
|
time_blk_hash = 0;
|
||||||
time_add_block1 = 0;
|
time_add_block1 = 0;
|
||||||
time_add_transaction = 0;
|
time_add_transaction = 0;
|
||||||
|
time_commit1 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BlockchainDB::show_stats()
|
void BlockchainDB::show_stats()
|
||||||
|
@ -166,6 +167,8 @@ void BlockchainDB::show_stats()
|
||||||
<< ENDL
|
<< ENDL
|
||||||
<< "time_add_transaction: " << time_add_transaction << "ms"
|
<< "time_add_transaction: " << time_add_transaction << "ms"
|
||||||
<< ENDL
|
<< ENDL
|
||||||
|
<< "time_commit1: " << time_commit1 << "ms"
|
||||||
|
<< ENDL
|
||||||
<< "*********************************"
|
<< "*********************************"
|
||||||
<< ENDL
|
<< ENDL
|
||||||
);
|
);
|
||||||
|
|
|
@ -308,6 +308,11 @@ private:
|
||||||
uint64_t time_add_transaction = 0;
|
uint64_t time_add_transaction = 0;
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
uint64_t time_commit1 = 0;
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
// virtual dtor
|
// virtual dtor
|
||||||
|
|
Loading…
Reference in a new issue