X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpages%2FMetricsPage.kt;fp=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpages%2FMetricsPage.kt;h=236848d6cc9440c4f32948026063dcb9dae8e6db;hp=e097daffe0fe8a2404fa213f338c173f109a3bd4;hb=6786bfaaf465c8434610362ee11d91377e80a72a;hpb=8f442a9b829835c41746292c68cf80bbd5b80739 diff --git a/src/main/kotlin/net/pterodactylus/sone/web/pages/MetricsPage.kt b/src/main/kotlin/net/pterodactylus/sone/web/pages/MetricsPage.kt index e097daf..236848d 100644 --- a/src/main/kotlin/net/pterodactylus/sone/web/pages/MetricsPage.kt +++ b/src/main/kotlin/net/pterodactylus/sone/web/pages/MetricsPage.kt @@ -13,18 +13,23 @@ import javax.inject.* class MetricsPage @Inject constructor(webInterface: WebInterface, loaders: Loaders, templateRenderer: TemplateRenderer, private val metricsRegistry: MetricRegistry) : SoneTemplatePage(webInterface, loaders, templateRenderer, "Page.Metrics.Title") { override fun handleRequest(soneRequest: SoneRequest, templateContext: TemplateContext) { - metricsRegistry.histogram("sone.parsing.duration").also { histogram -> - templateContext["soneParsingDurationCount"] = histogram.count + addHistogram(templateContext, "sone.parsing.duration", "soneParsingDuration") + addHistogram(templateContext, "sone.insert.duration", "soneInsertDuration") + } + + private fun addHistogram(templateContext: TemplateContext, metricName: String, variablePrefix: String) { + metricsRegistry.histogram(metricName).also { histogram -> + templateContext["${variablePrefix}Count"] = histogram.count histogram.snapshot.also { snapshot -> - templateContext["soneParsingDurationMin"] = snapshot.min - templateContext["soneParsingDurationMax"] = snapshot.max - templateContext["soneParsingDurationMedian"] = snapshot.median - templateContext["soneParsingDurationMean"] = snapshot.mean - templateContext["soneParsingDurationPercentile75"] = snapshot.get75thPercentile() - templateContext["soneParsingDurationPercentile95"] = snapshot.get95thPercentile() - templateContext["soneParsingDurationPercentile98"] = snapshot.get98thPercentile() - templateContext["soneParsingDurationPercentile99"] = snapshot.get99thPercentile() - templateContext["soneParsingDurationPercentile999"] = snapshot.get999thPercentile() + templateContext["${variablePrefix}Min"] = snapshot.min + templateContext["${variablePrefix}Max"] = snapshot.max + templateContext["${variablePrefix}Median"] = snapshot.median + templateContext["${variablePrefix}Mean"] = snapshot.mean + templateContext["${variablePrefix}Percentile75"] = snapshot.get75thPercentile() + templateContext["${variablePrefix}Percentile95"] = snapshot.get95thPercentile() + templateContext["${variablePrefix}Percentile98"] = snapshot.get98thPercentile() + templateContext["${variablePrefix}Percentile99"] = snapshot.get99thPercentile() + templateContext["${variablePrefix}Percentile999"] = snapshot.get999thPercentile() } } }