Add start_time to get_info methods and show uptime
This commit is contained in:
parent
4026e7b7de
commit
19be7225cc
5 changed files with 26 additions and 2 deletions
|
@ -250,6 +250,8 @@ namespace cryptonote
|
||||||
//-----------------------------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------------------------
|
||||||
bool core::init(const boost::program_options::variables_map& vm, const cryptonote::test_options *test_options)
|
bool core::init(const boost::program_options::variables_map& vm, const cryptonote::test_options *test_options)
|
||||||
{
|
{
|
||||||
|
start_time = std::time(nullptr);
|
||||||
|
|
||||||
m_fakechain = test_options != NULL;
|
m_fakechain = test_options != NULL;
|
||||||
bool r = handle_command_line(vm);
|
bool r = handle_command_line(vm);
|
||||||
|
|
||||||
|
@ -1010,6 +1012,11 @@ namespace cryptonote
|
||||||
return m_target_blockchain_height;
|
return m_target_blockchain_height;
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------------------------
|
||||||
|
std::time_t core::get_start_time() const
|
||||||
|
{
|
||||||
|
return start_time;
|
||||||
|
}
|
||||||
|
//-----------------------------------------------------------------------------------------------
|
||||||
void core::graceful_exit()
|
void core::graceful_exit()
|
||||||
{
|
{
|
||||||
raise(SIGTERM);
|
raise(SIGTERM);
|
||||||
|
|
|
@ -559,6 +559,12 @@ namespace cryptonote
|
||||||
*/
|
*/
|
||||||
uint64_t get_target_blockchain_height() const;
|
uint64_t get_target_blockchain_height() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief gets start_time
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
std::time_t get_start_time() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief tells the Blockchain to update its checkpoints
|
* @brief tells the Blockchain to update its checkpoints
|
||||||
*
|
*
|
||||||
|
@ -813,6 +819,8 @@ namespace cryptonote
|
||||||
boost::interprocess::file_lock db_lock; //!< a lock object for a file lock in the db directory
|
boost::interprocess::file_lock db_lock; //!< a lock object for a file lock in the db directory
|
||||||
|
|
||||||
size_t block_sync_size;
|
size_t block_sync_size;
|
||||||
|
|
||||||
|
time_t start_time;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -363,7 +363,9 @@ bool t_rpc_command_executor::show_status() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tools::success_msg_writer() << boost::format("Height: %llu/%llu (%.1f%%) on %s, %s, net hash %s, v%u%s, %s, %u+%u connections")
|
std::time_t uptime = std::time(nullptr) - ires.start_time;
|
||||||
|
|
||||||
|
tools::success_msg_writer() << boost::format("Height: %llu/%llu (%.1f%%) on %s, %s, net hash %s, v%u%s, %s, %u+%u connections, uptime %uh %um %us")
|
||||||
% (unsigned long long)ires.height
|
% (unsigned long long)ires.height
|
||||||
% (unsigned long long)(ires.target_height >= ires.height ? ires.target_height : ires.height)
|
% (unsigned long long)(ires.target_height >= ires.height ? ires.target_height : ires.height)
|
||||||
% get_sync_percentage(ires)
|
% get_sync_percentage(ires)
|
||||||
|
@ -374,6 +376,9 @@ bool t_rpc_command_executor::show_status() {
|
||||||
% get_fork_extra_info(hfres.earliest_height, ires.height, ires.target)
|
% get_fork_extra_info(hfres.earliest_height, ires.height, ires.target)
|
||||||
% (hfres.state == cryptonote::HardFork::Ready ? "up to date" : hfres.state == cryptonote::HardFork::UpdateNeeded ? "update needed" : "out of date, likely forked")
|
% (hfres.state == cryptonote::HardFork::Ready ? "up to date" : hfres.state == cryptonote::HardFork::UpdateNeeded ? "update needed" : "out of date, likely forked")
|
||||||
% (unsigned)ires.outgoing_connections_count % (unsigned)ires.incoming_connections_count
|
% (unsigned)ires.outgoing_connections_count % (unsigned)ires.incoming_connections_count
|
||||||
|
% (unsigned int)floor(uptime / 3600.0)
|
||||||
|
% (unsigned int)floor(fmod(uptime, 3600.0) / 60.0)
|
||||||
|
% (unsigned int)fmod(uptime, 60.0)
|
||||||
;
|
;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -145,6 +145,7 @@ namespace cryptonote
|
||||||
res.cumulative_difficulty = m_core.get_blockchain_storage().get_db().get_block_cumulative_difficulty(res.height - 1);
|
res.cumulative_difficulty = m_core.get_blockchain_storage().get_db().get_block_cumulative_difficulty(res.height - 1);
|
||||||
res.block_size_limit = m_core.get_blockchain_storage().get_current_cumulative_blocksize_limit();
|
res.block_size_limit = m_core.get_blockchain_storage().get_current_cumulative_blocksize_limit();
|
||||||
res.status = CORE_RPC_STATUS_OK;
|
res.status = CORE_RPC_STATUS_OK;
|
||||||
|
res.start_time = (uint64_t)m_core.get_start_time();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -1165,6 +1166,7 @@ namespace cryptonote
|
||||||
res.cumulative_difficulty = m_core.get_blockchain_storage().get_db().get_block_cumulative_difficulty(res.height - 1);
|
res.cumulative_difficulty = m_core.get_blockchain_storage().get_db().get_block_cumulative_difficulty(res.height - 1);
|
||||||
res.block_size_limit = m_core.get_blockchain_storage().get_current_cumulative_blocksize_limit();
|
res.block_size_limit = m_core.get_blockchain_storage().get_current_cumulative_blocksize_limit();
|
||||||
res.status = CORE_RPC_STATUS_OK;
|
res.status = CORE_RPC_STATUS_OK;
|
||||||
|
res.start_time = (uint64_t)m_core.get_start_time();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -49,7 +49,7 @@ namespace cryptonote
|
||||||
// advance which version they will stop working with
|
// advance which version they will stop working with
|
||||||
// Don't go over 32767 for any of these
|
// Don't go over 32767 for any of these
|
||||||
#define CORE_RPC_VERSION_MAJOR 1
|
#define CORE_RPC_VERSION_MAJOR 1
|
||||||
#define CORE_RPC_VERSION_MINOR 3
|
#define CORE_RPC_VERSION_MINOR 4
|
||||||
#define CORE_RPC_VERSION (((CORE_RPC_VERSION_MAJOR)<<16)|(CORE_RPC_VERSION_MINOR))
|
#define CORE_RPC_VERSION (((CORE_RPC_VERSION_MAJOR)<<16)|(CORE_RPC_VERSION_MINOR))
|
||||||
|
|
||||||
struct COMMAND_RPC_GET_HEIGHT
|
struct COMMAND_RPC_GET_HEIGHT
|
||||||
|
@ -513,6 +513,7 @@ namespace cryptonote
|
||||||
std::string top_block_hash;
|
std::string top_block_hash;
|
||||||
uint64_t cumulative_difficulty;
|
uint64_t cumulative_difficulty;
|
||||||
uint64_t block_size_limit;
|
uint64_t block_size_limit;
|
||||||
|
uint64_t start_time;
|
||||||
|
|
||||||
BEGIN_KV_SERIALIZE_MAP()
|
BEGIN_KV_SERIALIZE_MAP()
|
||||||
KV_SERIALIZE(status)
|
KV_SERIALIZE(status)
|
||||||
|
@ -531,6 +532,7 @@ namespace cryptonote
|
||||||
KV_SERIALIZE(top_block_hash)
|
KV_SERIALIZE(top_block_hash)
|
||||||
KV_SERIALIZE(cumulative_difficulty)
|
KV_SERIALIZE(cumulative_difficulty)
|
||||||
KV_SERIALIZE(block_size_limit)
|
KV_SERIALIZE(block_size_limit)
|
||||||
|
KV_SERIALIZE(start_time)
|
||||||
END_KV_SERIALIZE_MAP()
|
END_KV_SERIALIZE_MAP()
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue