diff --git a/code/controllers/subsystems/garbage.dm b/code/controllers/subsystems/garbage.dm index 37e9b91fa51..9ec3886daa6 100644 --- a/code/controllers/subsystems/garbage.dm +++ b/code/controllers/subsystems/garbage.dm @@ -306,6 +306,18 @@ SUBSYSTEM_DEF(garbage) if (time > 0.1 SECONDS) postpone(time) + + // Standard sentry logging for hard dels other than the two subsystems that will always hard del every round + var/sentry_threshold = 0.25 SECONDS + if (time > sentry_threshold && SSsentry) + SSsentry.capture_message( + "Hard delete: [type]", + "warning", + "garbage", + tags = list("datum_type" = "[type]"), + extra = list("ref_id" = refID, "time_ms" = tick_usage, "details" = detail) + ) + var/threshold = 0.5 // Used to be CONFIG_GET(number/hard_deletes_overrun_threshold) if (threshold && (time > threshold SECONDS)) if (!(type_info.qdel_flags & QDEL_ITEM_ADMINS_WARNED)) @@ -318,7 +330,7 @@ SUBSYSTEM_DEF(garbage) "warning", "garbage", tags = list("datum_type" = "[type]"), - extra = list("ref_id" = refID, "time_ms" = tick_usage) + extra = list("ref_id" = refID, "time_ms" = tick_usage, "details" = detail) ) type_info.hard_deletes_over_threshold++ var/overrun_limit = 0 // Used to be CONFIG_GET(number/hard_deletes_overrun_limit) diff --git a/html/changelogs/hellfirejag-sentry-hard-del-tracking-tweaks.yml b/html/changelogs/hellfirejag-sentry-hard-del-tracking-tweaks.yml new file mode 100644 index 00000000000..29ad7772b7e --- /dev/null +++ b/html/changelogs/hellfirejag-sentry-hard-del-tracking-tweaks.yml @@ -0,0 +1,4 @@ +author: Hellfirejag +delete-after: True +changes: + - rscadd: "Tweaked the hard delete logging sensitivity to correctly catch and record typical hard dels to the sentry logs. They will also now provide more usable information in order to help find where the memory leaks are coming from."