SSmetrics - Elasticsearch powered metrics viewing

This commit is contained in:
AffectedArc07
2021-08-15 13:00:19 +01:00
parent d03fc7ea1c
commit 2ece3203c2
12 changed files with 97 additions and 0 deletions
+1
View File
@@ -12,6 +12,7 @@
#include "spawn_humans.dm"
#include "sql.dm"
#include "subsystem_init.dm"
#include "subsystem_metric_sanity.dm"
#include "timer_sanity.dm"
#include "unit_test.dm"
#endif
@@ -0,0 +1,19 @@
// Unit test to ensure SS metrics are valid
/datum/unit_test/subsystem_metric_sanity/Run()
for(var/datum/controller/subsystem/SS in Master.subsystems)
var/list/data = SS.get_metrics()
if(length(data) != 3)
Fail("SS[SS.ss_id] has invalid metrics data!")
continue
if(isnull(data["cost"]))
Fail("SS[SS.ss_id] has invalid metrics data! No 'cost' found in [json_encode(data)]")
continue
if(isnull(data["tick_usage"]))
Fail("SS[SS.ss_id] has invalid metrics data! No 'tick_usage' found in [json_encode(data)]")
continue
if(isnull(data["custom"]))
Fail("SS[SS.ss_id] has invalid metrics data! No 'custom' found in [json_encode(data)]")
continue
if(!islist(data["custom"]))
Fail("SS[SS.ss_id] has invalid metrics data! 'custom' is not a list in [json_encode(data)]")
continue