void PhaseTest :: end (){ LOG_OPEN(LOG_INFO); LOG_TEXT("Test I/O finished with "); LOG_NUMBER(nbError); LOG_TEXT(" error(s) in "); LOG_NUMBER(myM.length()+1); LOG_TEXT(" test(s)."); LOG_CLOSE(); }
void Message_Unit::show_process_time(void) { std::vector<Message_Stat> msg_time_vec; for (Message_Stat_Map::iterator it = msg_stat_.begin(); it != msg_stat_.end(); ++it) { it->second.msg_id = it->first; it->second.avg = (it->second.tv.sec() + it->second.tv.usec() / (1000000.0)) / it->second.times; msg_time_vec.push_back(it->second); } LOG_TEXT("msg process total:%d", msg_time_vec.size()); int i = 0; std::vector<Message_Stat> msg_sort_times; std::sort(msg_time_vec.begin(), msg_time_vec.end(), Msg_Time_Sort_Times()); for (std::vector<Message_Stat>::iterator it = msg_time_vec.begin(); it != msg_time_vec.end(); ++it, ++i) { msg_sort_times.push_back(*it); if (i > 30) break; } i = 0; std::vector<Message_Stat> msg_sort_total; std::sort(msg_time_vec.begin(), msg_time_vec.end(), Msg_Time_Sort_Total()); for (std::vector<Message_Stat>::iterator it = msg_time_vec.begin(); it != msg_time_vec.end(); ++it, ++i) { msg_sort_total.push_back(*it); if (i > 30) break; } i = 0; std::vector<Message_Stat> msg_time_avg; std::sort(msg_time_vec.begin(), msg_time_vec.end(), Msg_Time_Sort_Avg()); for (std::vector<Message_Stat>::iterator it = msg_time_vec.begin(); it != msg_time_vec.end(); ++it, ++i) { msg_time_avg.push_back(*it); if (i > 30) break; } i = 0; std::vector<Message_Stat> msg_time_max; std::sort(msg_time_vec.begin(), msg_time_vec.end(), Msg_Time_Sort_Max()); for (std::vector<Message_Stat>::iterator it = msg_time_vec.begin(); it != msg_time_vec.end(); ++it, ++i) { msg_time_max.push_back(*it); if (i > 30) break; } i = 0; for (std::vector<Message_Stat>::iterator it = msg_sort_times.begin(); it != msg_sort_times.end(); ++it, ++i) { double total_time = msg_sort_total[i].tv.sec() + msg_sort_total[i].tv.usec() / (1000 * 1000.0); double max_time = msg_time_max[i].max_tv.sec() + msg_time_max[i].max_tv.usec() / (1000 * 1000.0); LOG_TEXT(" [msg:%-10d times:%-10d] [msg:%-10d times:%-10d, spend:%-10f] [ msg:%-10d, times:%-10d avg:%-10f] [msg:%-10d max:%-10f]", (*it).msg_id, (*it).times, msg_sort_total[i].msg_id, msg_sort_total[i].times, total_time, msg_time_avg[i].msg_id, msg_time_avg[i].times, msg_time_avg[i].avg, msg_time_max[i].msg_id, max_time); } }
void Message_Unit::show_server_status(void) { //SERVICE_MANAGER->service_svc_pool().push_shrink(); LOG_TEXT("service_svc_pool msg:free:%d, used:%d", SERVICE_MANAGER->service_svc_pool().free_obj_list_size(), SERVICE_MANAGER->service_svc_pool().used_obj_list_size()); //unit_msg_pool_.push_shrink(); LOG_TEXT("data ptr size:%d, unit msg:free:%d, used:%d", data_ptr_list_.size(), unit_msg_pool_.free_obj_list_size(), unit_msg_pool_.used_obj_list_size()); //block_group_pool_.push_shrink(); block_group_pool_.dump_info(); monitor_->server_monitor_status(); this->show_process_time(); }
void Message_Unit::server_status(void) { // 当做和日志服心跳 RECORD_CLIENT->sync_pid(monitor_->type(), monitor_->monitor_idx()); int uptime = (Time_Value::gettimeofday().sec() - monitor_->start_time().sec()) / 3600; LOG_TEXT("↓↓↓ server status start: uptime:%d(hour), type:%d, index:%d ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓", uptime, monitor_->type(), monitor_->monitor_idx()); show_server_status(); Date_Time date_time(Time_Value::gettimeofday()); date_time.minute(0); date_time.second(0); data_pro_tick_ += Time_Value(3600); LOG_TEXT("↑↑↑ server status end: type:%d ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑", monitor_->type()); LOG_TEXT_FLUSH; }
int Main_Scene_Manager::single_scene_status(void) { LOG_TEXT("main scene size:%d", scene_map_.size()); return 0; }
void Main_Scene_Manager::show_scene_status(void) { LOG_TEXT("%-30s free:%-10d, used:%d, map:%d", "main scene", scene_pool_.free_obj_list_size(), scene_pool_.used_obj_list_size(), scene_map_.size()); }
int Chat_Monitor::server_monitor_status(void) { LOG_TEXT("chat player amount:%d", player_role_id_map_.size()); return 0; }