feat(server): log tick diagnostics periodically
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
#include "clock.h"
|
#include "clock.h"
|
||||||
#include "skele.h"
|
#include "skele.h"
|
||||||
#include <stk/stk.h>
|
#include <stk/stk.h>
|
||||||
|
#include <stk/stk_log.h>
|
||||||
|
|
||||||
static uint8_t running = 1;
|
static uint8_t running = 1;
|
||||||
|
|
||||||
@@ -10,6 +11,7 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
uint64_t tick_start;
|
uint64_t tick_start;
|
||||||
uint64_t elapsed;
|
uint64_t elapsed;
|
||||||
|
uint64_t log_start;
|
||||||
|
|
||||||
skele_clock_init(on_signal);
|
skele_clock_init(on_signal);
|
||||||
|
|
||||||
@@ -21,6 +23,8 @@ int main(int argc, char *argv[])
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log_start = skele_time_ns();
|
||||||
|
|
||||||
while (running) {
|
while (running) {
|
||||||
tick_start = skele_time_ns();
|
tick_start = skele_time_ns();
|
||||||
|
|
||||||
@@ -33,6 +37,16 @@ int main(int argc, char *argv[])
|
|||||||
skele_sleep_ns(skele_tick_ns - elapsed);
|
skele_sleep_ns(skele_tick_ns - elapsed);
|
||||||
skele_clock_idle_end();
|
skele_clock_idle_end();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (skele_time_ns() - log_start >= 1000000000ULL) {
|
||||||
|
stk_log(STK_LOG_INFO,
|
||||||
|
"tps=%.1f work=%.2fms idle=%.2fms total=%.2fms budget=%.2fms",
|
||||||
|
skele_tps, skele_tick_work_time_ns / 1e6,
|
||||||
|
skele_tick_idle_time_ns / 1e6,
|
||||||
|
skele_tick_total_time_ns / 1e6,
|
||||||
|
skele_tick_ns / 1e6);
|
||||||
|
log_start = skele_time_ns();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
skele_stk_teardown();
|
skele_stk_teardown();
|
||||||
|
|||||||
Reference in New Issue
Block a user