
ru.tinkoff.plugins.buildmetrics.system.metrics.GCDurationMetricFactory.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of build-metrics-system Show documentation
Show all versions of build-metrics-system Show documentation
Extension for tinkoff build metrics gradle plugin.
The newest version!
package ru.tinkoff.plugins.buildmetrics.system.metrics
import ru.tinkoff.plugins.buildmetrics.api.factories.Factory
import ru.tinkoff.plugins.buildmetrics.api.Reinitializable
import ru.tinkoff.plugins.buildmetrics.api.metrics.Metric
import ru.tinkoff.plugins.buildmetrics.system.utils.GarbageCollectorUtils
import ru.tinkoff.plugins.buildmetrics.system.utils.GarbageCollectorUtilsImpl
class GCDurationMetricFactory(
private val garbageCollectorUtils: GarbageCollectorUtils = GarbageCollectorUtilsImpl(),
) : Factory.Metrics, Reinitializable {
@Transient
private var excessGCTime: Long = garbageCollectorUtils.collectionTimeMs()
override fun reinitialize() {
excessGCTime = garbageCollectorUtils.collectionTimeMs()
}
override fun create(): List> = listOf(
Metric(
name = "gc_duration_ms",
value = garbageCollectorUtils.collectionTimeMs() - excessGCTime,
)
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy