Skip to content

Commit

Permalink
admin counting & expanded mc stats
Browse files Browse the repository at this point in the history
  • Loading branch information
fira committed Jun 21, 2023
1 parent 81bada2 commit 08bdacf
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 8 deletions.
6 changes: 3 additions & 3 deletions code/controllers/subsystem/influxdriver.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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]"
Expand Down
12 changes: 11 additions & 1 deletion code/controllers/subsystem/influxmcstats.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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))
12 changes: 8 additions & 4 deletions code/controllers/subsystem/influxstats.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand Down

0 comments on commit 08bdacf

Please sign in to comment.