[Native][tests] Log memory usage in Gradle build

This commit is contained in:
Dmitriy Dolovov
2022-05-17 19:26:05 +03:00
committed by Space
parent 7bd7c09c4a
commit ec155653f0
+26 -8
View File
@@ -1,3 +1,4 @@
import org.gradle.internal.util.NumberUtil.formatBytes
import org.jetbrains.kotlin.ideaExt.idea
plugins {
@@ -131,15 +132,32 @@ fun nativeTest(taskName: String, vararg tags: String) = projectTest(taskName, jU
includeTags(*tags)
}
logger.info(
buildString {
appendLine("$path parallel test execution parameters:")
append(" Available CPU cores = $availableCpuCores")
systemProperties.filterKeys { it.startsWith("junit.jupiter") }.toSortedMap().forEach { (key, value) ->
append("\n $key = $value")
}
fun formatExecutionParameters() = buildString {
appendLine("$path parallel test execution parameters:")
append(" Available CPU cores = $availableCpuCores")
systemProperties.filterKeys { it.startsWith("junit.jupiter") }.toSortedMap().forEach { (key, value) ->
append("\n $key = $value")
}
)
}
fun formatMemoryUsage(before: Boolean) = buildString {
with(Runtime.getRuntime()) {
appendLine("$path (${if (before) "before" else "after"}) memory info:")
appendLine(" Max memory (-Xmx) = ${formatBytes(maxMemory())}")
appendLine(" Allocated memory = ${formatBytes(totalMemory())}")
appendLine(" Used memory = ${formatBytes(totalMemory() - freeMemory())}")
append(" Free memory = ${formatBytes(freeMemory())}")
}
}
doFirst {
logger.info(formatExecutionParameters())
logger.info(formatMemoryUsage(before = true))
}
doLast {
logger.info(formatMemoryUsage(before = false))
}
} else
doFirst {
throw GradleException(