From 08bdacf5a3c05b6fe28d82e6650e90e2544555c9 Mon Sep 17 00:00:00 2001 From: Fira Date: Wed, 21 Jun 2023 19:09:15 +0100 Subject: [PATCH] admin counting & expanded mc stats --- code/controllers/subsystem/influxdriver.dm | 6 +++--- code/controllers/subsystem/influxmcstats.dm | 12 +++++++++++- code/controllers/subsystem/influxstats.dm | 12 ++++++++---- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/code/controllers/subsystem/influxdriver.dm b/code/controllers/subsystem/influxdriver.dm index e3bfc38d6b29..7e5289dfc518 100644 --- a/code/controllers/subsystem/influxdriver.dm +++ b/code/controllers/subsystem/influxdriver.dm @@ -50,9 +50,6 @@ SUBSYSTEM_DEF(influxdriver) /datum/controller/subsystem/influxdriver/proc/flush_queue(list/queue) PRIVATE_PROC(TRUE) - if(!length(queue)) - return // Nothing to do - var/host = CONFIG_GET(string/influxdb_host) var/token = CONFIG_GET(string/influxdb_token) var/bucket = CONFIG_GET(string/influxdb_bucket) @@ -62,6 +59,9 @@ SUBSYSTEM_DEF(influxdriver) can_fire = FALSE return + if(!length(queue)) + return // Nothing to do + var/url = "[host]/api/v2/write?org=[org]&bucket=[bucket]&precision=us" // microseconds var/list/headers = list() headers["Authorization"] = "Token [token]" diff --git a/code/controllers/subsystem/influxmcstats.dm b/code/controllers/subsystem/influxmcstats.dm index 35c975985d93..a1bf171d81a3 100644 --- a/code/controllers/subsystem/influxmcstats.dm +++ b/code/controllers/subsystem/influxmcstats.dm @@ -22,6 +22,16 @@ SUBSYSTEM_DEF(influxmcstats) if(!SSinfluxdriver.can_fire) can_fire = FALSE return + + var/list/data = list() + data["time_dilation_current"] = SStime_track.time_dilation_current + data["time_dilation_avg"] = SStime_track.time_dilation_avg + data["time_dilation_avg_slow"] = SStime_track.time_dilation_avg_slow + data["time_dilation_avg_fast"] = SStime_track.time_dilation_avg_fast + SSinfluxdriver.enqueue_stats("tidi", null, data) + + SSinfluxdriver.enqueue_stats("cpu", null, list("cpu" = world.cpu, "map_cpu" = world.map_cpu)) + var/static/regex/get_last_path_element = regex(@{"/([^/]+)$"}) checkpoint++ for(var/datum/controller/subsystem/SS in Master.subsystems) @@ -34,4 +44,4 @@ SUBSYSTEM_DEF(influxmcstats) if(!SSname) stack_trace("Influx MC Stats couldnt name a subsystem, type=[SS.type]") continue - SSinfluxdriver.enqueue_stats("sstimings", list("ss" = SSname), list("cost" = SS.cost, "tick_overrun" = SS.tick_overrun, "tick_usage" = SS.tick_usage, "times_fired" = SS.times_fired)) + SSinfluxdriver.enqueue_stats("sstimings", list("ss" = SSname), list("cost" = SS.cost, "tick_overrun" = SS.tick_overrun, "tick_usage" = SS.tick_usage, "wait" = SS.wait)) diff --git a/code/controllers/subsystem/influxstats.dm b/code/controllers/subsystem/influxstats.dm index debf8eceaf6e..01015b83191d 100644 --- a/code/controllers/subsystem/influxstats.dm +++ b/code/controllers/subsystem/influxstats.dm @@ -83,16 +83,20 @@ SUBSYSTEM_DEF(influxstats) /datum/controller/subsystem/influxstats/proc/run_player_statistics() var/staff_count = 0 var/mentor_count = 0 - for(var/client/client in GLOB.clients) + for(var/client/client in GLOB.admins) if(CLIENT_IS_STAFF(client)) staff_count++ else if(CLIENT_HAS_RIGHTS(client, R_MENTOR)) mentor_count++ - SSinfluxdriver.enqueue_stats("online", list(), list("count" = length(GLOB.clients))) - SSinfluxdriver.enqueue_stats("online_staff", list(), list("staff" = staff_count, "mentors" = mentor_count)) + SSinfluxdriver.enqueue_stats("online", null, list("count" = length(GLOB.clients))) + + var/list/adm = get_admin_counts() + var/present_admins = length(adm["present"]) + var/afk_admins = length(adm["afk"]) + SSinfluxdriver.enqueue_stats("online_staff", null, list("total" = staff_count, "mentors" = mentor_count, "present" = present_admins, "afk" = afk_admins)) // Grab ahelp stats - SSinfluxdriver.enqueue_stats("tickets", list(), list( + SSinfluxdriver.enqueue_stats("tickets", null, list( "open" = length(GLOB.ahelp_tickets.active_tickets), "closed" = length(GLOB.ahelp_tickets.closed_tickets), "resolved" = length(GLOB.ahelp_tickets.resolved_tickets),