36 lines
802 B
C++
36 lines
802 B
C++
#pragma once
|
|
|
|
#include <a8/singleton.h>
|
|
|
|
namespace a8
|
|
{
|
|
|
|
class PerfMonitor : public a8::Singleton<PerfMonitor>
|
|
{
|
|
private:
|
|
PerfMonitor();
|
|
friend class a8::Singleton<PerfMonitor>;
|
|
|
|
public:
|
|
void Init();
|
|
void UnInit();
|
|
|
|
long long AddV(const std::string key, long long val);
|
|
long long SubV(const std::string key, long long val);
|
|
void SetV(const std::string key, long long val);
|
|
long long GetV(const std::string key);
|
|
void Dump();
|
|
|
|
public:
|
|
long long send_eagain_times = 0;
|
|
long long recv_eagain_times = 0;
|
|
long long max_send_time = 0;
|
|
long long max_recv_time = 0;
|
|
|
|
private:
|
|
std::shared_ptr<std::mutex> mutex_;
|
|
std::map<std::string, long long> dyn_hash_;
|
|
};
|
|
|
|
}
|