Exemple #1
0
//-------------------------------------------------------------------------------------
bool Resmgr::initializeWatcher()
{
    WATCH_OBJECT("syspaths/KBE_ROOT", kb_env_.root);
    WATCH_OBJECT("syspaths/KBE_RES_PATH", kb_env_.res_path);
    WATCH_OBJECT("syspaths/KBE_HYBRID_PATH", kb_env_.hybrid_path);
    return true;
}
Exemple #2
0
//-------------------------------------------------------------------------------------
bool Resmgr::initializeWatcher()
{
	WATCH_OBJECT("syspaths/KBE_ROOT", kb_env_.root_path);
	WATCH_OBJECT("syspaths/KBE_RES_PATH", kb_env_.res_path);
	WATCH_OBJECT("syspaths/KBE_BIN_PATH", kb_env_.bin_path);
	return true;
}
//-------------------------------------------------------------------------------------
bool WatchObjectPool::initWatchPools()
{
	WATCH_OBJECT("objectPools/Witness/size", &watchWitnessPool_size);
	WATCH_OBJECT("objectPools/Witness/max", &watchWitnessPool_max);
	WATCH_OBJECT("objectPools/Witness/isDestroyed", &watchWitnessPool_isDestroyed);
	WATCH_OBJECT("objectPools/Witness/memory", &watchWitnessPool_bytes);
	WATCH_OBJECT("objectPools/Witness/totalAllocs", &watchWitnessPool_totalAllocs);
	return true;
}
Exemple #4
0
//-------------------------------------------------------------------------------------
bool Dbmgr::initializeWatcher()
{
	WATCH_OBJECT("numWrittenEntity", numWrittenEntity_);
	WATCH_OBJECT("numRemovedEntity", numRemovedEntity_);
	WATCH_OBJECT("numQueryEntity", numQueryEntity_);
	WATCH_OBJECT("numExecuteRawDatabaseCommand", numExecuteRawDatabaseCommand_);
	WATCH_OBJECT("numCreatedAccount", numCreatedAccount_);
	return ServerApp::initializeWatcher();
}
Exemple #5
0
//-------------------------------------------------------------------------------------
bool ProfileVal::initializeWatcher()
{
	if(initWatcher_)
		return false;

	initWatcher_ = true;

	char buf[MAX_BUF];
	kbe_snprintf(buf, MAX_BUF, "cprofiles/%s/%s/lastTime", pProfileGroup_->name(), name_.c_str());
	WATCH_OBJECT(buf, &lastTime_, &TimeStamp::stamp);

	kbe_snprintf(buf, MAX_BUF, "cprofiles/%s/%s/sumTime", pProfileGroup_->name(), name_.c_str());
	WATCH_OBJECT(buf, &sumTime_, &TimeStamp::stamp);

	kbe_snprintf(buf, MAX_BUF, "cprofiles/%s/%s/lastIntTime", pProfileGroup_->name(), name_.c_str());
	WATCH_OBJECT(buf, &lastIntTime_, &TimeStamp::stamp);

	kbe_snprintf(buf, MAX_BUF, "cprofiles/%s/%s/sumIntTime", pProfileGroup_->name(), name_.c_str());
	WATCH_OBJECT(buf, &sumIntTime_, &TimeStamp::stamp);

	kbe_snprintf(buf, MAX_BUF, "cprofiles/%s/%s/lastQuantity", pProfileGroup_->name(), name_.c_str());
	WATCH_OBJECT(buf, lastQuantity_);

	kbe_snprintf(buf, MAX_BUF, "cprofiles/%s/%s/sumQuantity", pProfileGroup_->name(), name_.c_str());
	WATCH_OBJECT(buf, sumQuantity_);

	kbe_snprintf(buf, MAX_BUF, "cprofiles/%s/%s/count", pProfileGroup_->name(), name_.c_str());
	WATCH_OBJECT(buf, count_);

	kbe_snprintf(buf, MAX_BUF, "cprofiles/%s/%s/inProgress", pProfileGroup_->name(), name_.c_str());
	WATCH_OBJECT(buf, inProgress_);

	return true;
}
Exemple #6
0
bool initializeWatcher()
{
	WATCH_OBJECT("network/numPacketsSent", g_numPacketsSent);
	WATCH_OBJECT("network/numPacketsReceived", g_numPacketsReceived);
	WATCH_OBJECT("network/numBytesSent", g_numBytesSent);
	WATCH_OBJECT("network/numBytesReceived", g_numBytesReceived);
	
	std::vector<MessageHandlers*>::iterator iter = MessageHandlers::messageHandlers().begin();
	for(; iter != MessageHandlers::messageHandlers().end(); ++iter)
	{
		if(!(*iter)->initializeWatcher())
			return false;
	}

	return true;
}
Exemple #7
0
//-------------------------------------------------------------------------------------		
bool Cellapp::initializeWatcher()
{
	ProfileVal::setWarningPeriod(stampsPerSecond() / g_kbeSrvConfig.gameUpdateHertz());

	WATCH_OBJECT("stats/runningTime", &runningTime);
	return EntityApp<Entity>::initializeWatcher();
}
Exemple #8
0
//-------------------------------------------------------------------------------------
bool Dbmgr::initializeWatcher()
{
	WATCH_OBJECT("numWrittenEntity", numWrittenEntity_);
	WATCH_OBJECT("numRemovedEntity", numRemovedEntity_);
	WATCH_OBJECT("numQueryEntity", numQueryEntity_);
	WATCH_OBJECT("numExecuteRawDatabaseCommand", numExecuteRawDatabaseCommand_);
	WATCH_OBJECT("numCreatedAccount", numCreatedAccount_);

	WATCH_OBJECT("DBThreadPool/dbid_tasksSize", &bufferedDBTasks_, &Buffered_DBTasks::dbid_tasksSize);
	WATCH_OBJECT("DBThreadPool/entityid_tasksSize", &bufferedDBTasks_, &Buffered_DBTasks::entityid_tasksSize);
	WATCH_OBJECT("DBThreadPool/printBuffered_dbid", &bufferedDBTasks_, &Buffered_DBTasks::printBuffered_dbid);
	WATCH_OBJECT("DBThreadPool/printBuffered_entityID", &bufferedDBTasks_, &Buffered_DBTasks::printBuffered_entityID);

	return ServerApp::initializeWatcher() && DBUtil::pThreadPool()->initializeWatcher();
}
Exemple #9
0
//-------------------------------------------------------------------------------------		
bool ServerApp::initializeWatcher()
{
	WATCH_OBJECT("stats/stampsPerSecond", &KBEngine::stampsPerSecond);
	WATCH_OBJECT("uid", &KBEngine::getUserUID);
	WATCH_OBJECT("username", &KBEngine::getUsername);
	WATCH_OBJECT("componentType", componentType_);
	WATCH_OBJECT("componentID", componentID_);
	WATCH_OBJECT("globalOrder", this, &ServerApp::globalOrder);
	WATCH_OBJECT("groupOrder", this, &ServerApp::groupOrder);
	WATCH_OBJECT("gametime", this, &ServerApp::time);

	return Network::initializeWatcher() && Resmgr::getSingleton().initializeWatcher() &&
		threadPool_.initializeWatcher() && WatchPool::initWatchPools();
}
void initializeWatcher()
{
	if(_g_installedWatcher)
		return;

	_g_installedWatcher = true;
	_g_debug = g_kbeSrvConfig.getDBMgr().debugDBMgr;

	WATCH_OBJECT("db_querys/select", &KBEngine::watcher_select);
	WATCH_OBJECT("db_querys/delete", &KBEngine::watcher_delete);
	WATCH_OBJECT("db_querys/insert", &KBEngine::watcher_insert);
	WATCH_OBJECT("db_querys/update", &KBEngine::watcher_update);
	WATCH_OBJECT("db_querys/create", &KBEngine::watcher_create);
	WATCH_OBJECT("db_querys/drop", &KBEngine::watcher_drop);
	WATCH_OBJECT("db_querys/show", &KBEngine::watcher_show);
	WATCH_OBJECT("db_querys/alter", &KBEngine::watcher_alter);
	WATCH_OBJECT("db_querys/grant", &KBEngine::watcher_grant);
}
Exemple #11
0
//-------------------------------------------------------------------------------------
bool ThreadPool::initializeWatcher()
{
    WATCH_OBJECT((fmt::format("{}/maxThreadCount", name())).c_str(), this->maxThreadCount_);
    WATCH_OBJECT((fmt::format("{}/extraNewAddThreadCount", name())).c_str(), this->extraNewAddThreadCount_);
    WATCH_OBJECT((fmt::format("{}/currentFreeThreadCount", name())).c_str(), this->currentFreeThreadCount_);
    WATCH_OBJECT((fmt::format("{}/normalThreadCount", name())).c_str(), this->normalThreadCount_);
    WATCH_OBJECT((fmt::format("{}/bufferedTaskSize", name())).c_str(), this, &ThreadPool::bufferTaskSize);
    WATCH_OBJECT((fmt::format("{}/finiTaskSize", name()).c_str()), this, &ThreadPool::finiTaskSize);
    WATCH_OBJECT((fmt::format("{}/busyThreadStates", name())).c_str(), this, &ThreadPool::printThreadWorks);
    return true;
}
//-------------------------------------------------------------------------------------
bool MessageHandlers::initializeWatcher()
{
    std::vector< std::string >::iterator siter = exposedMessages_.begin();
    for(; siter != exposedMessages_.end(); siter++)
    {
        MessageHandlerMap::iterator iter = msgHandlers_.begin();
        for(; iter != msgHandlers_.end(); iter++)
        {
            if((*siter) == iter->second->name)
            {
                iter->second->exposed = true;
            }
        }
    }

    MessageHandlerMap::iterator iter = msgHandlers_.begin();
    for(; iter != msgHandlers_.end(); iter++)
    {
        char buf[MAX_BUF];
        kbe_snprintf(buf, MAX_BUF, "network/messages/%s/id", iter->second->name.c_str());
        WATCH_OBJECT(buf, iter->second->msgID);

        kbe_snprintf(buf, MAX_BUF, "network/messages/%s/len", iter->second->name.c_str());
        WATCH_OBJECT(buf, iter->second->msgLen);

        kbe_snprintf(buf, MAX_BUF, "network/messages/%s/sentSize", iter->second->name.c_str());
        WATCH_OBJECT(buf, iter->second, &MessageHandler::sendsize);

        kbe_snprintf(buf, MAX_BUF, "network/messages/%s/sentCount", iter->second->name.c_str());
        WATCH_OBJECT(buf, iter->second, &MessageHandler::sendcount);

        kbe_snprintf(buf, MAX_BUF, "network/messages/%s/sentAvgSize", iter->second->name.c_str());
        WATCH_OBJECT(buf, iter->second, &MessageHandler::sendavgsize);

        kbe_snprintf(buf, MAX_BUF, "network/messages/%s/recvSize", iter->second->name.c_str());
        WATCH_OBJECT(buf, iter->second, &MessageHandler::recvsize);

        kbe_snprintf(buf, MAX_BUF, "network/messages/%s/recvCount", iter->second->name.c_str());
        WATCH_OBJECT(buf, iter->second, &MessageHandler::recvsize);

        kbe_snprintf(buf, MAX_BUF, "network/messages/%s/recvAvgSize", iter->second->name.c_str());
        WATCH_OBJECT(buf, iter->second, &MessageHandler::recvavgsize);
    }

    return true;
}
Exemple #13
0
//-------------------------------------------------------------------------------------
bool Dbmgr::initializeWatcher()
{
	WATCH_OBJECT("numWrittenEntity", numWrittenEntity_);
	WATCH_OBJECT("numRemovedEntity", numRemovedEntity_);
	WATCH_OBJECT("numQueryEntity", numQueryEntity_);
	WATCH_OBJECT("numExecuteRawDatabaseCommand", numExecuteRawDatabaseCommand_);
	WATCH_OBJECT("numCreatedAccount", numCreatedAccount_);


	KBEUnordered_map<std::string, Buffered_DBTasks>::iterator bditer = bufferedDBTasksMaps_.begin();
	for (; bditer != bufferedDBTasksMaps_.end(); ++bditer)
	{
		WATCH_OBJECT(fmt::format("DBThreadPool/{}/dbid_tasksSize", bditer->first).c_str(), &bditer->second, &Buffered_DBTasks::dbid_tasksSize);
		WATCH_OBJECT(fmt::format("DBThreadPool/{}/entityid_tasksSize", bditer->first).c_str(), &bditer->second, &Buffered_DBTasks::entityid_tasksSize);
		WATCH_OBJECT(fmt::format("DBThreadPool/{}/printBuffered_dbid", bditer->first).c_str(), &bditer->second, &Buffered_DBTasks::printBuffered_dbid);
		WATCH_OBJECT(fmt::format("DBThreadPool/{}/printBuffered_entityID", bditer->first).c_str(), &bditer->second, &Buffered_DBTasks::printBuffered_entityID);
	}


	return ServerApp::initializeWatcher() && DBUtil::initializeWatcher();
}
Exemple #14
0
//-------------------------------------------------------------------------------------
bool ThreadPool::initializeWatcher()
{
	WATCH_OBJECT("threadpool/maxThreadCount", this->maxThreadCount_);
	WATCH_OBJECT("threadpool/extraNewAddThreadCount", this->extraNewAddThreadCount_);
	WATCH_OBJECT("threadpool/currentFreeThreadCount", this->currentFreeThreadCount_);
	WATCH_OBJECT("threadpool/normalThreadCount", this->normalThreadCount_);
	WATCH_OBJECT("threadpool/bufferedTaskSize", this, &ThreadPool::bufferTaskSize);
	WATCH_OBJECT("threadpool/finiTaskSize", this, &ThreadPool::finiTaskSize);
	return true;
}
//-------------------------------------------------------------------------------------
bool WatchPool::initWatchPools()
{
	WATCH_OBJECT("objectPools/Bundle/size", &watchBundlePool_size);
	WATCH_OBJECT("objectPools/Bundle/max", &watchBundlePool_max);
	WATCH_OBJECT("objectPools/Bundle/isDestroyed", &watchBundlePool_isDestroyed);
	WATCH_OBJECT("objectPools/Bundle/memory", &watchBundlePool_bytes);
	WATCH_OBJECT("objectPools/Bundle/totalAllocs", &watchBundlePool_totalAllocs);

	WATCH_OBJECT("objectPools/Address/size", &watchAddressPool_size);
	WATCH_OBJECT("objectPools/Address/max", &watchAddressPool_max);
	WATCH_OBJECT("objectPools/Address/isDestroyed", &watchAddressPool_isDestroyed);
	WATCH_OBJECT("objectPools/Address/memory", &watchAddressPool_bytes);
	WATCH_OBJECT("objectPools/Address/totalAllocs", &watchAddressPool_totalAllocs);

	WATCH_OBJECT("objectPools/MemoryStream/size", &watchMemoryStreamPool_size);
	WATCH_OBJECT("objectPools/MemoryStream/max", &watchMemoryStreamPool_max);
	WATCH_OBJECT("objectPools/MemoryStream/isDestroyed", &watchMemoryStreamPool_isDestroyed);
	WATCH_OBJECT("objectPools/MemoryStream/memory", &watchMemoryStreamPool_bytes);
	WATCH_OBJECT("objectPools/MemoryStream/totalAllocs", &watchMemoryStreamPool_totalAllocs);

	WATCH_OBJECT("objectPools/TCPPacket/size", &watchTCPPacketPool_size);
	WATCH_OBJECT("objectPools/TCPPacket/max", &watchTCPPacketPool_max);
	WATCH_OBJECT("objectPools/TCPPacket/isDestroyed", &watchTCPPacketPool_isDestroyed);
	WATCH_OBJECT("objectPools/TCPPacket/memory", &watchTCPPacketPool_bytes);
	WATCH_OBJECT("objectPools/TCPPacket/totalAllocs", &watchTCPPacketPool_totalAllocs);

	WATCH_OBJECT("objectPools/TCPPacketReceiver/size", &watchTCPPacketReceiverPool_size);
	WATCH_OBJECT("objectPools/TCPPacketReceiver/max", &watchTCPPacketReceiverPool_max);
	WATCH_OBJECT("objectPools/TCPPacketReceiver/isDestroyed", &watchTCPPacketReceiverPool_isDestroyed);
	WATCH_OBJECT("objectPools/TCPPacketReceiver/memory", &watchTCPPacketReceiverPool_bytes);
	WATCH_OBJECT("objectPools/TCPPacketReceiver/totalAllocs", &watchTCPPacketReceiverPool_totalAllocs);

	WATCH_OBJECT("objectPools/UDPPacket/size", &watchUDPPacketPool_size);
	WATCH_OBJECT("objectPools/UDPPacket/max", &watchUDPPacketPool_max);
	WATCH_OBJECT("objectPools/UDPPacket/isDestroyed", &watchUDPPacketPool_isDestroyed);
	WATCH_OBJECT("objectPools/UDPPacket/memory", &watchUDPPacketPool_bytes);
	WATCH_OBJECT("objectPools/UDPPacket/totalAllocs", &watchUDPPacketPool_totalAllocs);

	WATCH_OBJECT("objectPools/UDPPacketReceiver/size", &watchUDPPacketReceiverPool_size);
	WATCH_OBJECT("objectPools/UDPPacketReceiver/max", &watchUDPPacketReceiverPool_max);
	WATCH_OBJECT("objectPools/UDPPacketReceiver/isDestroyed", &watchUDPPacketReceiverPool_isDestroyed);
	WATCH_OBJECT("objectPools/UDPPacketReceiver/memory", &watchUDPPacketReceiverPool_bytes);
	WATCH_OBJECT("objectPools/UDPPacketReceiver/totalAllocs", &watchUDPPacketReceiverPool_totalAllocs);

	WATCH_OBJECT("objectPools/EndPoint/size", &watchEndPointPool_size);
	WATCH_OBJECT("objectPools/EndPoint/max", &watchEndPointPool_max);
	WATCH_OBJECT("objectPools/EndPoint/isDestroyed", &watchEndPointPool_isDestroyed);
	WATCH_OBJECT("objectPools/EndPoint/memory", &watchEndPointPool_bytes);
	WATCH_OBJECT("objectPools/EndPoint/totalAllocs", &watchEndPointPool_totalAllocs);
	return true;
}
Exemple #16
0
bool EntityApp<E>::initializeWatcher()
{
	WATCH_OBJECT("entitiesSize", this, &EntityApp<E>::entitiesSize);
	return ServerApp::initializeWatcher();
}
Exemple #17
0
//-------------------------------------------------------------------------------------
void RedisWatcher::initializeWatcher()
{
	if(_g_installedWatcher)
		return;

	_g_installedWatcher = true;
	_g_debug = g_kbeSrvConfig.getDBMgr().debugDBMgr;
	
	// string
	WATCH_OBJECT("db_querys/APPEND", &KBEngine::watcher_APPEND);
	WATCH_OBJECT("db_querys/BITCOUNT", &KBEngine::watcher_BITCOUNT);
	WATCH_OBJECT("db_querys/BITOP", &KBEngine::watcher_BITOP);
	WATCH_OBJECT("db_querys/DECR", &KBEngine::watcher_DECR);
	WATCH_OBJECT("db_querys/DECRBY", &KBEngine::watcher_DECRBY);
	WATCH_OBJECT("db_querys/GET", &KBEngine::watcher_GET);
	WATCH_OBJECT("db_querys/GETRANGE", &KBEngine::watcher_GETRANGE);
	WATCH_OBJECT("db_querys/GETSET", &KBEngine::watcher_GETSET);
	WATCH_OBJECT("db_querys/GETBIT", &KBEngine::watcher_GETBIT);
	WATCH_OBJECT("db_querys/INCR", &KBEngine::watcher_INCR);
	WATCH_OBJECT("db_querys/INCRBY", &KBEngine::watcher_INCRBY);
	WATCH_OBJECT("db_querys/INCRBYFLOAT", &KBEngine::watcher_INCRBYFLOAT);
	WATCH_OBJECT("db_querys/MGET", &KBEngine::watcher_MGET);
	WATCH_OBJECT("db_querys/MSET", &KBEngine::watcher_MSET);
	WATCH_OBJECT("db_querys/MSETNX", &KBEngine::watcher_MSETNX);
	WATCH_OBJECT("db_querys/PSETEX", &KBEngine::watcher_PSETEX);
	WATCH_OBJECT("db_querys/SET", &KBEngine::watcher_SET);
	WATCH_OBJECT("db_querys/SETBIT", &KBEngine::watcher_SETBIT);
	WATCH_OBJECT("db_querys/SETEX", &KBEngine::watcher_SETEX);
	WATCH_OBJECT("db_querys/SETNX", &KBEngine::watcher_SETNX);
	WATCH_OBJECT("db_querys/SETRANGE", &KBEngine::watcher_SETRANGE);
	WATCH_OBJECT("db_querys/STRLEN", &KBEngine::watcher_STRLEN);
	
	// keys
	WATCH_OBJECT("db_querys/DEL", &KBEngine::watcher_DEL);
	WATCH_OBJECT("db_querys/DUMP", &KBEngine::watcher_DUMP);
	WATCH_OBJECT("db_querys/EXISTS", &KBEngine::watcher_EXISTS);
	WATCH_OBJECT("db_querys/EXPIRE", &KBEngine::watcher_EXPIRE);
	WATCH_OBJECT("db_querys/EXPIREAT", &KBEngine::watcher_EXPIREAT);
	WATCH_OBJECT("db_querys/KEYS", &KBEngine::watcher_KEYS);
	WATCH_OBJECT("db_querys/MOVE", &KBEngine::watcher_MOVE);
	WATCH_OBJECT("db_querys/OBJECT", &KBEngine::watcher_OBJECT);
	WATCH_OBJECT("db_querys/PEXPIRE", &KBEngine::watcher_PEXPIRE);
	WATCH_OBJECT("db_querys/PEXPIREAT", &KBEngine::watcher_PEXPIREAT);	
	WATCH_OBJECT("db_querys/PERSIST", &KBEngine::watcher_PERSIST);
	WATCH_OBJECT("db_querys/PTTL", &KBEngine::watcher_PTTL);	
	WATCH_OBJECT("db_querys/RANDOMKEY", &KBEngine::watcher_RANDOMKEY);
	WATCH_OBJECT("db_querys/RENAME", &KBEngine::watcher_RENAME);
	WATCH_OBJECT("db_querys/RENAMENX", &KBEngine::watcher_RENAMENX);
	WATCH_OBJECT("db_querys/RESTORE", &KBEngine::watcher_RESTORE);
	WATCH_OBJECT("db_querys/SORT", &KBEngine::watcher_SORT);
	WATCH_OBJECT("db_querys/TTL", &KBEngine::watcher_TTL);
	WATCH_OBJECT("db_querys/TYPE", &KBEngine::watcher_TYPE);
	WATCH_OBJECT("db_querys/SCAN", &KBEngine::watcher_SCAN);
	
	// heshes
	WATCH_OBJECT("db_querys/HDEL", &KBEngine::watcher_HDEL);
	WATCH_OBJECT("db_querys/HEXISTS", &KBEngine::watcher_HEXISTS);
	WATCH_OBJECT("db_querys/HGET", &KBEngine::watcher_HGET);
	WATCH_OBJECT("db_querys/HGETALL", &KBEngine::watcher_HGETALL);
	WATCH_OBJECT("db_querys/HINCRBY", &KBEngine::watcher_HINCRBY);
	WATCH_OBJECT("db_querys/HINCRBYFLOAT", &KBEngine::watcher_HINCRBYFLOAT);
	WATCH_OBJECT("db_querys/HKEYS", &KBEngine::watcher_HKEYS);
	WATCH_OBJECT("db_querys/HLEN", &KBEngine::watcher_HLEN);
	WATCH_OBJECT("db_querys/HMGET", &KBEngine::watcher_HMGET);
	WATCH_OBJECT("db_querys/HMSET", &KBEngine::watcher_HMSET);
	WATCH_OBJECT("db_querys/HSET", &KBEngine::watcher_HSET);
	WATCH_OBJECT("db_querys/HSETNX", &KBEngine::watcher_HSETNX);
	WATCH_OBJECT("db_querys/HVALS", &KBEngine::watcher_HVALS);
	WATCH_OBJECT("db_querys/HSCAN", &KBEngine::watcher_HSCAN);	
	
	// list
	WATCH_OBJECT("db_querys/BLPOP", &KBEngine::watcher_BLPOP);
	WATCH_OBJECT("db_querys/BRPOP", &KBEngine::watcher_BRPOP);
	WATCH_OBJECT("db_querys/BRPOPLPUSH", &KBEngine::watcher_BRPOPLPUSH);
	WATCH_OBJECT("db_querys/LINDEX", &KBEngine::watcher_LINDEX);
	WATCH_OBJECT("db_querys/LINSERT", &KBEngine::watcher_LINSERT);
	WATCH_OBJECT("db_querys/LLEN", &KBEngine::watcher_LLEN);
	WATCH_OBJECT("db_querys/LPOP", &KBEngine::watcher_LPOP);
	WATCH_OBJECT("db_querys/LPUSH", &KBEngine::watcher_LPUSH);
	WATCH_OBJECT("db_querys/LPUSHX", &KBEngine::watcher_LPUSHX);
	WATCH_OBJECT("db_querys/LRANGE", &KBEngine::watcher_LRANGE);
	WATCH_OBJECT("db_querys/LREM", &KBEngine::watcher_LREM);
	WATCH_OBJECT("db_querys/LSET", &KBEngine::watcher_LSET);
	WATCH_OBJECT("db_querys/LTRIM", &KBEngine::watcher_LTRIM);
	WATCH_OBJECT("db_querys/RPOP", &KBEngine::watcher_RPOP);
	WATCH_OBJECT("db_querys/RPOPLPUSH", &KBEngine::watcher_RPOPLPUSH);
	WATCH_OBJECT("db_querys/RPUSH", &KBEngine::watcher_RPUSH);
	WATCH_OBJECT("db_querys/RPUSHX", &KBEngine::watcher_RPUSHX);
	
	// set
	WATCH_OBJECT("db_querys/SADD", &KBEngine::watcher_SADD);
	WATCH_OBJECT("db_querys/SCARD", &KBEngine::watcher_SCARD);
	WATCH_OBJECT("db_querys/SDIFF", &KBEngine::watcher_SDIFF);
	WATCH_OBJECT("db_querys/SDIFFSTORE", &KBEngine::watcher_SDIFFSTORE);
	WATCH_OBJECT("db_querys/SINTER", &KBEngine::watcher_SINTER);
	WATCH_OBJECT("db_querys/SINTERSTORE", &KBEngine::watcher_SINTERSTORE);
	WATCH_OBJECT("db_querys/SISMEMBER", &KBEngine::watcher_SISMEMBER);
	WATCH_OBJECT("db_querys/SMEMBERS", &KBEngine::watcher_SMEMBERS);
	WATCH_OBJECT("db_querys/SMOVE", &KBEngine::watcher_SMOVE);
	WATCH_OBJECT("db_querys/SPOP", &KBEngine::watcher_SPOP);
	WATCH_OBJECT("db_querys/SRANDMEMBER", &KBEngine::watcher_SRANDMEMBER);
	WATCH_OBJECT("db_querys/SREM", &KBEngine::watcher_SREM);
	WATCH_OBJECT("db_querys/SUNION", &KBEngine::watcher_SUNION);
	WATCH_OBJECT("db_querys/SUNIONSTORE", &KBEngine::watcher_SUNIONSTORE);
	WATCH_OBJECT("db_querys/SSCAN", &KBEngine::watcher_SSCAN);
	
	// sortedSet
	WATCH_OBJECT("db_querys/ZADD", &KBEngine::watcher_ZADD);
	WATCH_OBJECT("db_querys/ZCARD", &KBEngine::watcher_ZCARD);
	WATCH_OBJECT("db_querys/ZCOUNT", &KBEngine::watcher_ZCOUNT);
	WATCH_OBJECT("db_querys/ZINCRBY", &KBEngine::watcher_ZINCRBY);
	WATCH_OBJECT("db_querys/ZRANGE", &KBEngine::watcher_ZRANGE);
	WATCH_OBJECT("db_querys/ZRANGEBYSCORE", &KBEngine::watcher_ZRANGEBYSCORE);
	WATCH_OBJECT("db_querys/ZRANK", &KBEngine::watcher_ZRANK);
	WATCH_OBJECT("db_querys/ZREM", &KBEngine::watcher_ZREM);
	WATCH_OBJECT("db_querys/ZREMRANGEBYRANK", &KBEngine::watcher_ZREMRANGEBYRANK);
	WATCH_OBJECT("db_querys/ZREMRANGEBYSCORE", &KBEngine::watcher_ZREMRANGEBYSCORE);
	WATCH_OBJECT("db_querys/ZREVRANGE", &KBEngine::watcher_ZREVRANGE);
	WATCH_OBJECT("db_querys/ZREVRANGEBYSCORE", &KBEngine::watcher_ZREVRANGEBYSCORE);
	WATCH_OBJECT("db_querys/ZREVRANK", &KBEngine::watcher_ZREVRANK);
	WATCH_OBJECT("db_querys/ZSCORE", &KBEngine::watcher_ZSCORE);
	WATCH_OBJECT("db_querys/ZUNIONSTORE", &KBEngine::watcher_ZUNIONSTORE);
	WATCH_OBJECT("db_querys/ZINTERSTORE", &KBEngine::watcher_ZINTERSTORE);
	WATCH_OBJECT("db_querys/ZSCAN", &KBEngine::watcher_ZSCAN);
	
	// pub/sub
	WATCH_OBJECT("db_querys/PSUBSCRIBE", &KBEngine::watcher_PSUBSCRIBE);
	WATCH_OBJECT("db_querys/PUBLISH", &KBEngine::watcher_PUBLISH);
	WATCH_OBJECT("db_querys/PUBSUB", &KBEngine::watcher_PUBSUB);
	WATCH_OBJECT("db_querys/PUNSUBSCRIBE", &KBEngine::watcher_PUNSUBSCRIBE);
	WATCH_OBJECT("db_querys/SUBSCRIBE", &KBEngine::watcher_SUBSCRIBE);
	WATCH_OBJECT("db_querys/UNSUBSCRIBE", &KBEngine::watcher_UNSUBSCRIBE);
	
	// Transaction(事务)
	WATCH_OBJECT("db_querys/DISCARD", &KBEngine::watcher_DISCARD);
	WATCH_OBJECT("db_querys/EXEC", &KBEngine::watcher_EXEC);
	WATCH_OBJECT("db_querys/MULTI", &KBEngine::watcher_MULTI);
	WATCH_OBJECT("db_querys/UNWATCH", &KBEngine::watcher_UNWATCH);
	WATCH_OBJECT("db_querys/WATCH", &KBEngine::watcher_WATCH);
	
	// scrit
	WATCH_OBJECT("db_querys/EVAL", &KBEngine::watcher_EVAL);
	WATCH_OBJECT("db_querys/EVALSHA", &KBEngine::watcher_EVALSHA);
	WATCH_OBJECT("db_querys/SCRIPT", &KBEngine::watcher_SCRIPT);	

	// Connection(连接)
	WATCH_OBJECT("db_querys/AUTH", &KBEngine::watcher_AUTH);
	WATCH_OBJECT("db_querys/ECHO", &KBEngine::watcher_ECHO);
	WATCH_OBJECT("db_querys/PING", &KBEngine::watcher_PING);
	WATCH_OBJECT("db_querys/QUIT", &KBEngine::watcher_QUIT);
	WATCH_OBJECT("db_querys/SELECT", &KBEngine::watcher_SELECT);
	
	// Server(服务器)	
	WATCH_OBJECT("db_querys/BGREWRITEAOF", &KBEngine::watcher_BGREWRITEAOF);
	WATCH_OBJECT("db_querys/BGSAVE", &KBEngine::watcher_BGSAVE);
	WATCH_OBJECT("db_querys/CLIENT", &KBEngine::watcher_CLIENT);
	WATCH_OBJECT("db_querys/CONFIG", &KBEngine::watcher_CONFIG);
	WATCH_OBJECT("db_querys/DBSIZE", &KBEngine::watcher_DBSIZE);
	WATCH_OBJECT("db_querys/DEBUG", &KBEngine::watcher_DEBUG);
	WATCH_OBJECT("db_querys/FLUSHALL", &KBEngine::watcher_FLUSHALL);
	WATCH_OBJECT("db_querys/FLUSHDB", &KBEngine::watcher_FLUSHDB);
	WATCH_OBJECT("db_querys/INFO", &KBEngine::watcher_INFO);
	WATCH_OBJECT("db_querys/LASTSAVE", &KBEngine::watcher_LASTSAVE);
	WATCH_OBJECT("db_querys/MONITOR", &KBEngine::watcher_MONITOR);
	WATCH_OBJECT("db_querys/PSYNC", &KBEngine::watcher_PSYNC);
	WATCH_OBJECT("db_querys/SAVE", &KBEngine::watcher_SAVE);
	WATCH_OBJECT("db_querys/SHUTDOWN", &KBEngine::watcher_SHUTDOWN);
	WATCH_OBJECT("db_querys/SELECT", &KBEngine::watcher_SLAVEOF);
	WATCH_OBJECT("db_querys/SLOWLOG", &KBEngine::watcher_SLOWLOG);
	WATCH_OBJECT("db_querys/SYNC", &KBEngine::watcher_SYNC);
	WATCH_OBJECT("db_querys/TIME", &KBEngine::watcher_TIME);				
}