From 605d34777bd76e534018c845fc5491b1835cf77d Mon Sep 17 00:00:00 2001 From: anth64 Date: Sun, 23 Aug 2026 17:44:35 +0200 Subject: [PATCH] feat: log tick/idle diagnostics in example server Brackets game_tick() with skele_clock_tick_begin/end and the sleep-to-hit-tick-rate call with skele_clock_idle_begin/end. --- src/server/main.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/server/main.c b/src/server/main.c index 0ed2d1c..4942157 100644 --- a/src/server/main.c +++ b/src/server/main.c @@ -2,6 +2,7 @@ #include #include #include +#include static uint8_t running = 1; @@ -11,6 +12,7 @@ int main(int argc, char *argv[]) { uint64_t tick_start; uint64_t elapsed; + uint64_t last_print = 0; (void)argc; (void)argv; @@ -33,13 +35,27 @@ int main(int argc, char *argv[]) while (running) { tick_start = skele_time_ns(); + skele_clock_tick_begin(); stk_poll(); game_tick(); + skele_clock_tick_end(); + + if (tick_start - last_print >= 1000000000ULL) { + stk_log(STK_LOG_INFO, + "tps=%.1f tick=%lluns/%lluns idle=%lluns", + skele_tps, + (unsigned long long)skele_tick_time_ns, + (unsigned long long)skele_tick_ns, + (unsigned long long)skele_tick_idle_ns); + last_print = tick_start; + } elapsed = skele_time_ns() - tick_start; + skele_clock_idle_begin(); if (elapsed < skele_tick_ns) skele_sleep_ns(skele_tick_ns - elapsed); + skele_clock_idle_end(); } game_shutdown();