BlockchainDB, BlockchainLMDB: Add profiling for DB commits

release-v0.4.0.1
warptangent 9 years ago
parent 7a66b8bbcf
commit 8529c0ea9a
No known key found for this signature in database
GPG Key ID: 0E490BEBFBE4E92D

@ -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…
Cancel
Save