diff --git a/server/robotserver/perf.cc b/server/robotserver/perf.cc new file mode 100644 index 00000000..1dfe89ff --- /dev/null +++ b/server/robotserver/perf.cc @@ -0,0 +1,42 @@ +#include "precompile.h" + +#include "perf.h" + +#include +#include + +void Perf::Init() +{ + f8::Timer::Instance()->SetInterval + (1000 *5, + [this] (int event, const a8::Args* args) + { + if (a8::TIMER_EXEC_EVENT == event) { + Output(); + } + }); +} + +void Perf::UnInit() +{ + +} + +void Perf::Output() +{ + f8::UdpLog::Instance()->Info + ("perf entity:%d buff:%d bt_co:%d agent:%d c_w_c:%d c_w:%d o_w_c:%d o_w:%d e_w_c:%d e_c:%d e_h:%d", + { + entity_num, + buff_num, + bt_co_num, + agent_num, + c_wptr_chunk_num, + c_wptr_num, + o_wptr_chunk_num, + o_wptr_num, + e_wptr_chunk_num, + e_wptr_num, + event_handler_num + }); +} diff --git a/server/robotserver/perf.h b/server/robotserver/perf.h new file mode 100644 index 00000000..dfb7ebc9 --- /dev/null +++ b/server/robotserver/perf.h @@ -0,0 +1,32 @@ +#pragma once + +#define PERF 1 + +#include + +class Perf : public a8::Singleton +{ +private: + Perf() {}; + friend class a8::Singleton; + public: + void Init(); + void UnInit(); + + long long entity_num = 0; + long long buff_num = 0; + long long bt_co_num = 0; + long long agent_num = 0; + long long c_wptr_chunk_num = 0; + long long c_wptr_num = 0; + long long o_wptr_chunk_num = 0; + long long o_wptr_num = 0; + long long e_wptr_chunk_num = 0; + long long e_wptr_num = 0; + long long event_handler_num = 0; + int traversing_cell_creature_count = 0; + + private: + void Output(); + +}; diff --git a/server/robotserver/playermgr.cc b/server/robotserver/playermgr.cc index 74d13cd7..e0ffd300 100644 --- a/server/robotserver/playermgr.cc +++ b/server/robotserver/playermgr.cc @@ -42,7 +42,7 @@ void PlayerMgr::Init() account_id_hash_[hum->GetAccountId()] = hum; socket_id_hash_[hum->GetSocketId()] = hum; ++count; - if (count >= 2000) { + if (count >= 19) { f8::Timer::Instance()->DeleteCurrentTimer(); } }