hide user paths in stats for VM options

This commit is contained in:
Konstantin Bulenkov
2017-06-06 10:57:28 +02:00
parent 547abc95e5
commit aea101abf1
@@ -25,10 +25,23 @@ import java.lang.management.ManagementFactory
class JdkSettingsUsageCollector: UsagesCollector() {
override fun getUsages(): Set<UsageDescriptor> {
return ManagementFactory.getRuntimeMXBean().inputArguments
.map { s -> hideUserPath(s) }
.map { s -> UsageDescriptor(s) }
.toSet()
}
val keysWithPath = arrayOf("-Didea.home.path", "-Didea.launcher.bin.path", "-Didea.plugins.path", "-Xbootclasspath",
"-Djb.vmOptionsFile", "-XX ErrorFile", "-XX HeapDumpPath", " -Didea.launcher.bin.path", "-agentlib:jdwp")
private fun hideUserPath(key: String): String {
@Suppress("LoopToCallChain")
for (s in keysWithPath) {
if (key.startsWith(s)) return "$s ..."
}
return key
}
override fun getGroupId(): GroupDescriptor {
return GroupDescriptor.create("user.jdk.settings")
}