mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-25 00:12:27 +00:00
Changed how i dump to file.
This commit is contained in:
parent
b5d33c7cbe
commit
00eb526876
@ -20,10 +20,12 @@ TARGET_LINK_LIBRARIES(eqlaunch common ${PERF_LIBS} debug ${MySQL_LIBRARY_DEBUG}
|
|||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
SET_TARGET_PROPERTIES(eqlaunch PROPERTIES LINK_FLAGS_RELEASE "/OPT:REF /OPT:ICF")
|
SET_TARGET_PROPERTIES(eqlaunch PROPERTIES LINK_FLAGS_RELEASE "/OPT:REF /OPT:ICF")
|
||||||
TARGET_LINK_LIBRARIES(eqlaunch "Ws2_32.lib")
|
TARGET_LINK_LIBRARIES(eqlaunch "Ws2_32.lib")
|
||||||
|
TARGET_LINK_LIBRARIES(eqlaunch "rpcrt4")
|
||||||
ENDIF(MSVC)
|
ENDIF(MSVC)
|
||||||
|
|
||||||
IF(MINGW)
|
IF(MINGW)
|
||||||
TARGET_LINK_LIBRARIES(eqlaunch "WS2_32")
|
TARGET_LINK_LIBRARIES(eqlaunch "WS2_32")
|
||||||
|
TARGET_LINK_LIBRARIES(eqlaunch "rpcrt4")
|
||||||
ENDIF(MINGW)
|
ENDIF(MINGW)
|
||||||
|
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
@ -34,6 +36,7 @@ IF(UNIX)
|
|||||||
TARGET_LINK_LIBRARIES(eqlaunch "rt")
|
TARGET_LINK_LIBRARIES(eqlaunch "rt")
|
||||||
ENDIF(NOT DARWIN)
|
ENDIF(NOT DARWIN)
|
||||||
TARGET_LINK_LIBRARIES(eqlaunch "pthread")
|
TARGET_LINK_LIBRARIES(eqlaunch "pthread")
|
||||||
|
TARGET_LINK_LIBRARIES(eqlaunch "uuid")
|
||||||
ADD_DEFINITIONS(-fPIC)
|
ADD_DEFINITIONS(-fPIC)
|
||||||
ENDIF(UNIX)
|
ENDIF(UNIX)
|
||||||
|
|
||||||
|
|||||||
@ -69,6 +69,10 @@ int main(int argc, char *argv[]) {
|
|||||||
Log.Out(Logs::Detail, Logs::Launcher, "Could not set signal handler");
|
Log.Out(Logs::Detail, Logs::Launcher, "Could not set signal handler");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
if (signal(SIGBREAK, CatchSignal) == SIG_ERR) {
|
||||||
|
Log.Out(Logs::Detail, Logs::Launcher, "Could not set signal handler");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) {
|
if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) {
|
||||||
Log.Out(Logs::Detail, Logs::Launcher, "Could not set signal handler");
|
Log.Out(Logs::Detail, Logs::Launcher, "Could not set signal handler");
|
||||||
@ -187,7 +191,7 @@ void CatchSignal(int sig_num) {
|
|||||||
Log.Out(Logs::Detail, Logs::Launcher, "Caught signal %d", sig_num);
|
Log.Out(Logs::Detail, Logs::Launcher, "Caught signal %d", sig_num);
|
||||||
RunLoops = false;
|
RunLoops = false;
|
||||||
|
|
||||||
|
_eqp_dump_file("eqlaunch");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,8 @@
|
|||||||
#ifdef EQPERF_ENABLED
|
#ifdef EQPERF_ENABLED
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <fstream>
|
||||||
|
#include <time.h>
|
||||||
#include "eqp_profile_event.h"
|
#include "eqp_profile_event.h"
|
||||||
#include "eqp_profiler_node.h"
|
#include "eqp_profiler_node.h"
|
||||||
|
|
||||||
@ -13,11 +15,24 @@
|
|||||||
#define _eqpn(x) EQP::CPU::ST::Event eqp_comb(eq_perf_event_, __LINE__) (__PRETTY_FUNCTION__, x);
|
#define _eqpn(x) EQP::CPU::ST::Event eqp_comb(eq_perf_event_, __LINE__) (__PRETTY_FUNCTION__, x);
|
||||||
#define _eqp_clear() EQP::CPU::ST::GetProfiler().Clear()
|
#define _eqp_clear() EQP::CPU::ST::GetProfiler().Clear()
|
||||||
#define _eqp_dump(strm, count) EQP::CPU::ST::GetProfiler().Dump(strm, count)
|
#define _eqp_dump(strm, count) EQP::CPU::ST::GetProfiler().Dump(strm, count)
|
||||||
|
#define _eqp_dump_file(name) char time_str[128]; \
|
||||||
|
time_t result = time(nullptr); \
|
||||||
|
strftime(time_str, sizeof(time_str), "%Y_%m_%d_%H:%M:%S", localtime(&result)); \
|
||||||
|
std::string prof_name = "./profile/"; \
|
||||||
|
prof_name += name; \
|
||||||
|
prof_name += "_"; \
|
||||||
|
prof_name += time_str; \
|
||||||
|
prof_name += ".log"; \
|
||||||
|
std::ofstream profile_out(prof_name, std::ofstream::out); \
|
||||||
|
if(profile_out.good()) { \
|
||||||
|
_eqp_dump(profile_out, 10); \
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
#define _eqp EQP::CPU::MT::Event eqp_comb(eq_perf_event_, __LINE__) (__PRETTY_FUNCTION__);
|
#define _eqp EQP::CPU::MT::Event eqp_comb(eq_perf_event_, __LINE__) (__PRETTY_FUNCTION__);
|
||||||
#define _eqpn(x) EQP::CPU::MT::Event eqp_comb(eq_perf_event_, __LINE__) (__PRETTY_FUNCTION__, x);
|
#define _eqpn(x) EQP::CPU::MT::Event eqp_comb(eq_perf_event_, __LINE__) (__PRETTY_FUNCTION__, x);
|
||||||
#define _eqp_clear() EQP::CPU::MT::GetProfiler().Clear()
|
#define _eqp_clear() EQP::CPU::MT::GetProfiler().Clear()
|
||||||
#define _eqp_dump(strm, count) EQP::CPU::MT::GetProfiler().Dump(strm, count)
|
#define _eqp_dump(strm, count) EQP::CPU::MT::GetProfiler().Dump(strm, count)
|
||||||
|
#define _eqp_dump_file()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace EQP
|
namespace EQP
|
||||||
|
|||||||
@ -38,20 +38,7 @@ bool run_server = true;
|
|||||||
|
|
||||||
void CatchSignal(int sig_num)
|
void CatchSignal(int sig_num)
|
||||||
{
|
{
|
||||||
#ifdef EQPERF_ENABLED
|
_eqp_dump_file("loginserver");
|
||||||
char time_str[128];
|
|
||||||
time_t result = time(nullptr);
|
|
||||||
strftime(time_str, sizeof(time_str), "%Y_%m_%d__%H_%M_%S", localtime(&result));
|
|
||||||
|
|
||||||
std::string prof_name = "./profile/login_";
|
|
||||||
prof_name += time_str;
|
|
||||||
prof_name += ".log";
|
|
||||||
|
|
||||||
std::ofstream profile_out(prof_name, std::ofstream::out);
|
|
||||||
if(profile_out.good()) {
|
|
||||||
_eqp_dump(profile_out, 10);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
|
|||||||
@ -47,20 +47,7 @@ void CatchSignal(int sig_num) {
|
|||||||
if(worldserver)
|
if(worldserver)
|
||||||
worldserver->Disconnect();
|
worldserver->Disconnect();
|
||||||
|
|
||||||
#ifdef EQPERF_ENABLED
|
_eqp_dump_file("queryserv");
|
||||||
char time_str[128];
|
|
||||||
time_t result = time(nullptr);
|
|
||||||
strftime(time_str, sizeof(time_str), "%Y_%m_%d__%H_%M_%S", localtime(&result));
|
|
||||||
|
|
||||||
std::string prof_name = "./profile/queryserv_";
|
|
||||||
prof_name += time_str;
|
|
||||||
prof_name += ".log";
|
|
||||||
|
|
||||||
std::ofstream profile_out(prof_name, std::ofstream::out);
|
|
||||||
if(profile_out.good()) {
|
|
||||||
_eqp_dump(profile_out, 10);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
|||||||
@ -38,20 +38,7 @@ EQEmuLogSys Log;
|
|||||||
|
|
||||||
void CatchSignal(int sig_num)
|
void CatchSignal(int sig_num)
|
||||||
{
|
{
|
||||||
#ifdef EQPERF_ENABLED
|
_eqp_dump_file("shared_memory");
|
||||||
char time_str[128];
|
|
||||||
time_t result = time(nullptr);
|
|
||||||
strftime(time_str, sizeof(time_str), "%Y_%m_%d__%H_%M_%S", localtime(&result));
|
|
||||||
|
|
||||||
std::string prof_name = "./profile/shared_memory_";
|
|
||||||
prof_name += time_str;
|
|
||||||
prof_name += ".log";
|
|
||||||
|
|
||||||
std::ofstream profile_out(prof_name, std::ofstream::out);
|
|
||||||
if(profile_out.good()) {
|
|
||||||
_eqp_dump(profile_out, 10);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnExit() {
|
void OnExit() {
|
||||||
|
|||||||
17
ucs/ucs.cpp
17
ucs/ucs.cpp
@ -19,13 +19,13 @@
|
|||||||
|
|
||||||
#include "../common/eqemu_logsys.h"
|
#include "../common/eqemu_logsys.h"
|
||||||
#include "../common/global_define.h"
|
#include "../common/global_define.h"
|
||||||
#include "clientlist.h"
|
|
||||||
#include "../common/opcodemgr.h"
|
#include "../common/opcodemgr.h"
|
||||||
#include "../common/eq_stream_factory.h"
|
#include "../common/eq_stream_factory.h"
|
||||||
#include "../common/rulesys.h"
|
#include "../common/rulesys.h"
|
||||||
#include "../common/servertalk.h"
|
#include "../common/servertalk.h"
|
||||||
#include "../common/platform.h"
|
#include "../common/platform.h"
|
||||||
#include "../common/crash.h"
|
#include "../common/crash.h"
|
||||||
|
#include "clientlist.h"
|
||||||
#include "database.h"
|
#include "database.h"
|
||||||
#include "ucsconfig.h"
|
#include "ucsconfig.h"
|
||||||
#include "chatchannel.h"
|
#include "chatchannel.h"
|
||||||
@ -56,20 +56,7 @@ void CatchSignal(int sig_num) {
|
|||||||
if(worldserver)
|
if(worldserver)
|
||||||
worldserver->Disconnect();
|
worldserver->Disconnect();
|
||||||
|
|
||||||
#ifdef EQPERF_ENABLED
|
_eqp_dump_file("ucs");
|
||||||
char time_str[128];
|
|
||||||
time_t result = time(nullptr);
|
|
||||||
strftime(time_str, sizeof(time_str), "%Y_%m_%d__%H_%M_%S", localtime(&result));
|
|
||||||
|
|
||||||
std::string prof_name = "./profile/ucs_";
|
|
||||||
prof_name += time_str;
|
|
||||||
prof_name += ".log";
|
|
||||||
|
|
||||||
std::ofstream profile_out(prof_name, std::ofstream::out);
|
|
||||||
if(profile_out.good()) {
|
|
||||||
_eqp_dump(profile_out, 10);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string GetMailPrefix() {
|
std::string GetMailPrefix() {
|
||||||
|
|||||||
@ -21,9 +21,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
||||||
#include "../common/global_define.h"
|
#include "../common/global_define.h"
|
||||||
#include "../common/eqemu_logsys.h"
|
#include "../common/eqemu_logsys.h"
|
||||||
#include "../common/queue.h"
|
#include "../common/queue.h"
|
||||||
@ -34,7 +32,6 @@
|
|||||||
#include "../common/version.h"
|
#include "../common/version.h"
|
||||||
#include "../common/eqtime.h"
|
#include "../common/eqtime.h"
|
||||||
#include "../common/timeoutmgr.h"
|
#include "../common/timeoutmgr.h"
|
||||||
|
|
||||||
#include "../common/opcodemgr.h"
|
#include "../common/opcodemgr.h"
|
||||||
#include "../common/guilds.h"
|
#include "../common/guilds.h"
|
||||||
#include "../common/eq_stream_ident.h"
|
#include "../common/eq_stream_ident.h"
|
||||||
@ -43,6 +40,7 @@
|
|||||||
#include "../common/crash.h"
|
#include "../common/crash.h"
|
||||||
#include "client.h"
|
#include "client.h"
|
||||||
#include "worlddb.h"
|
#include "worlddb.h"
|
||||||
|
|
||||||
#ifdef _WINDOWS
|
#ifdef _WINDOWS
|
||||||
#include <process.h>
|
#include <process.h>
|
||||||
#define snprintf _snprintf
|
#define snprintf _snprintf
|
||||||
@ -147,6 +145,10 @@ int main(int argc, char** argv) {
|
|||||||
Log.Out(Logs::General, Logs::World_Server, "Could not set signal handler");
|
Log.Out(Logs::General, Logs::World_Server, "Could not set signal handler");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
if (signal(SIGBREAK, CatchSignal) == SIG_ERR) {
|
||||||
|
Log.Out(Logs::General, Logs::World_Server, "Could not set signal handler");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) {
|
if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) {
|
||||||
Log.Out(Logs::General, Logs::World_Server, "Could not set signal handler");
|
Log.Out(Logs::General, Logs::World_Server, "Could not set signal handler");
|
||||||
@ -511,6 +513,8 @@ void CatchSignal(int sig_num) {
|
|||||||
if(zoneserver_list.worldclock.saveFile(WorldConfig::get()->EQTimeFile.c_str())==false)
|
if(zoneserver_list.worldclock.saveFile(WorldConfig::get()->EQTimeFile.c_str())==false)
|
||||||
Log.Out(Logs::General, Logs::World_Server,"Failed to save time file.");
|
Log.Out(Logs::General, Logs::World_Server,"Failed to save time file.");
|
||||||
RunLoops = false;
|
RunLoops = false;
|
||||||
|
|
||||||
|
_eqp_dump_file("world");
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateWindowTitle(char* iNewTitle) {
|
void UpdateWindowTitle(char* iNewTitle) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user