diff options
| author | Martin Ridgers <[email protected]> | 2021-10-28 11:33:47 +0200 |
|---|---|---|
| committer | Martin Ridgers <[email protected]> | 2021-11-18 15:24:39 +0100 |
| commit | 4df0770ffe6fb03ed7b5248a7fadef935d856ad3 (patch) | |
| tree | a79a51c4c3fccd7a99562a99edd7caa67ec88ee2 /zenserver | |
| parent | Filled out ZEN_THIRDPARTY_ macros for Clang and GCC (diff) | |
| download | zen-4df0770ffe6fb03ed7b5248a7fadef935d856ad3.tar.xz zen-4df0770ffe6fb03ed7b5248a7fadef935d856ad3.zip | |
Initial integration of Trace from UE5 via the --zentrace=y xmake config
Diffstat (limited to 'zenserver')
| -rw-r--r-- | zenserver/config.cpp | 16 | ||||
| -rw-r--r-- | zenserver/config.h | 4 | ||||
| -rw-r--r-- | zenserver/zenserver.cpp | 12 |
3 files changed, 32 insertions, 0 deletions
diff --git a/zenserver/config.cpp b/zenserver/config.cpp index 9f24f534c..44297c58e 100644 --- a/zenserver/config.cpp +++ b/zenserver/config.cpp @@ -151,6 +151,22 @@ ParseGlobalCliOptions(int argc, char* argv[], ZenServerOptions& GlobalOptions, Z ""); #endif +#if ZEN_WITH_TRACE + options.add_option("ue-trace", + "", + "tracehost", + "Hostname to send the trace to", + cxxopts::value<std::string>(GlobalOptions.TraceHost)->default_value(""), + ""); + + options.add_option("ue-trace", + "", + "tracefile", + "Path to write a trace to", + cxxopts::value<std::string>(GlobalOptions.TraceFile)->default_value(""), + ""); +#endif // ZEN_WITH_TRACE + options.add_option("diagnostics", "", "crash", diff --git a/zenserver/config.h b/zenserver/config.h index e7b228b91..0f3994893 100644 --- a/zenserver/config.h +++ b/zenserver/config.h @@ -25,6 +25,10 @@ struct ZenServerOptions std::filesystem::path ContentDir; // Root directory for serving frontend content (experimental) std::string HttpServerClass; // Choice of HTTP server implementation std::filesystem::path AbsLogFile; // Absolute path to main log file +#if ZEN_WITH_TRACE + std::string TraceHost; // Host name or IP address to send trace data to + std::string TraceFile; // Path of a file to write a trace +#endif }; struct ZenUpstreamJupiterConfig diff --git a/zenserver/zenserver.cpp b/zenserver/zenserver.cpp index fcc629f3e..07936f2ef 100644 --- a/zenserver/zenserver.cpp +++ b/zenserver/zenserver.cpp @@ -12,6 +12,7 @@ #include <zencore/string.h> #include <zencore/thread.h> #include <zencore/timer.h> +#include <zencore/trace.h> #include <zenhttp/httpserver.h> #include <zenstore/basicfile.h> #include <zenstore/cas.h> @@ -987,6 +988,17 @@ main(int argc, char* argv[]) std::filesystem::create_directories(GlobalOptions.DataDir); } +#if ZEN_WITH_TRACE + if (GlobalOptions.TraceHost.size()) + { + TraceInit(GlobalOptions.TraceHost.c_str(), TraceType::Network); + } + else if (GlobalOptions.TraceFile.size()) + { + TraceInit(GlobalOptions.TraceFile.c_str(), TraceType::File); + } +#endif // ZEN_WITH_TRACE + #if ZEN_PLATFORM_WINDOWS if (GlobalOptions.InstallService) { |