in caches-cleanup-plugin-agent/src/main/kotlin/github/nskvortsov/teamcity/cleanup/HeapDumpsAtHomeCleanerProvider.kt [18:37]
override fun registerDirectoryCleaners(
context: DirectoryCleanersProviderContext,
registry: DirectoryCleanersRegistry
) {
log.debug("heap dumps at home cleaner: register dir cleaners")
val disabled = context.hasExplicitFalse("teamcity.cleaners.heapdumps.enabled")
if (disabled) {
log.info("heap dumps at home cleaner is disabled, skipping.")
return
}
val home = System.getProperty("user.home")?.let { File(it) }
?: return log.warn("Failed to detect user home directory, system property 'user.home' is not present")
log.debug("Checking if hprof files present in the home directory")
val dumps = home.list(filter)
if (dumps != null && dumps.isNotEmpty()) {
log.debug("Heap dumps found, registering cleaner.")
registry.addCleaner(home, Date(), HeapDumpsCleaner(home, log))
}
}