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 "crypto/crypto.h"
#include "profile_tools.h"
using epee::string_tools::pod_to_hex;
@ -1666,7 +1667,10 @@ void BlockchainLMDB::batch_commit()
throw0(DB_ERROR("batch transaction not in progress"));
check_open();
LOG_PRINT_L3("batch transaction: committing...");
TIME_MEASURE_START(time1);
m_write_txn->commit();
TIME_MEASURE_FINISH(time1);
time_commit1 += time1;
LOG_PRINT_L3("batch transaction: committed");
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"));
check_open();
LOG_PRINT_L3("batch transaction: committing...");
TIME_MEASURE_START(time1);
m_write_txn->commit();
TIME_MEASURE_FINISH(time1);
time_commit1 += time1;
// for destruction of batch transaction
m_write_txn = nullptr;
m_batch_active = false;
@ -1741,7 +1748,10 @@ uint64_t BlockchainLMDB::add_block( const block& blk
{
m_write_txn = NULL;
TIME_MEASURE_START(time1);
txn.commit();
TIME_MEASURE_FINISH(time1);
time_commit1 += time1;
}
}
catch (...)

@ -151,6 +151,7 @@ void BlockchainDB::reset_stats()
time_blk_hash = 0;
time_add_block1 = 0;
time_add_transaction = 0;
time_commit1 = 0;
}
void BlockchainDB::show_stats()
@ -166,6 +167,8 @@ void BlockchainDB::show_stats()
<< ENDL
<< "time_add_transaction: " << time_add_transaction << "ms"
<< ENDL
<< "time_commit1: " << time_commit1 << "ms"
<< ENDL
<< "*********************************"
<< ENDL
);

@ -308,6 +308,11 @@ private:
uint64_t time_add_transaction = 0;
protected:
uint64_t time_commit1 = 0;
public:
// virtual dtor

Loading…
Cancel
Save