aboutsummaryrefslogtreecommitdiff
path: root/src/zenutil/zenserverprocess.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2026-02-23 10:21:07 +0100
committerStefan Boberg <[email protected]>2026-02-23 10:21:07 +0100
commit464ed77f3c199f504a6f7c9089f042b44197f231 (patch)
tree12d30d93e3b4726542a14f50a995dcc0806023d6 /src/zenutil/zenserverprocess.cpp
parentMerge remote-tracking branch 'origin/main' into sb/threadpool (diff)
downloadzen-464ed77f3c199f504a6f7c9089f042b44197f231.tar.xz
zen-464ed77f3c199f504a6f7c9089f042b44197f231.zip
added logging of zenserver child process startup/shutdown timings
Diffstat (limited to 'src/zenutil/zenserverprocess.cpp')
-rw-r--r--src/zenutil/zenserverprocess.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/zenutil/zenserverprocess.cpp b/src/zenutil/zenserverprocess.cpp
index ef2a4fda5..d271edb93 100644
--- a/src/zenutil/zenserverprocess.cpp
+++ b/src/zenutil/zenserverprocess.cpp
@@ -670,6 +670,8 @@ ZenServerInstance::SignalShutdown(std::error_code& OutEc)
int
ZenServerInstance::Shutdown()
{
+ Stopwatch ShutdownTimer;
+
if (m_Process.IsValid())
{
if (m_ShutdownOnDestroy)
@@ -715,7 +717,10 @@ ZenServerInstance::Shutdown()
m_Process.Pid(),
NiceTimeSpanMs(Timer.GetElapsedTimeMs()));
}
- ZEN_DEBUG("zenserver process {} ({}) exited", m_Name, m_Process.Pid());
+ ZEN_DEBUG("zenserver process {} ({}) exited (after {})",
+ m_Name,
+ m_Process.Pid(),
+ NiceTimeSpanMs(ShutdownTimer.GetElapsedTimeMs()));
int ExitCode = m_Process.GetExitCode();
m_Process.Reset();
return ExitCode;
@@ -795,6 +800,8 @@ ToString(ZenServerInstance::ServerMode Mode)
void
ZenServerInstance::SpawnServerInternal(int ChildId, std::string_view ServerArgs, bool OpenConsole, int WaitTimeoutMs)
{
+ m_SpawnTime.Reset();
+
const bool IsTest = m_Env.IsTestEnvironment();
ExtendableStringBuilder<32> ChildEventName;
@@ -1104,7 +1111,7 @@ ZenServerInstance::OnServerReady()
}
CreateShutdownEvent(m_BasePort);
- ZEN_DEBUG("Server '{}' is ready on port {}", m_Name, m_BasePort);
+ ZEN_DEBUG("Server '{}' is ready on port {} (after {})", m_Name, m_BasePort, NiceTimeSpanMs(m_SpawnTime.GetElapsedTimeMs()));
}
std::string