diff --git a/kyuubi-metrics/src/main/scala/org/apache/kyuubi/metrics/MetricsSystem.scala b/kyuubi-metrics/src/main/scala/org/apache/kyuubi/metrics/MetricsSystem.scala index 3db6daba4b2..6df0713bb5d 100644 --- a/kyuubi-metrics/src/main/scala/org/apache/kyuubi/metrics/MetricsSystem.scala +++ b/kyuubi-metrics/src/main/scala/org/apache/kyuubi/metrics/MetricsSystem.scala @@ -58,8 +58,8 @@ class MetricsSystem extends CompositeService("MetricsSystem") { meter.mark(value) } - def getGauge[T](name: String): Option[Gauge[T]] = { - Option(registry.gauge(name)) + def getGauge(name: String): Option[Gauge[_]] = { + Option(registry.getGauges().get(name)) } def registerGauge[T](name: String, value: => T, default: T): Unit = { diff --git a/kyuubi-metrics/src/test/scala/org/apache/kyuubi/metrics/MetricsSystemSuite.scala b/kyuubi-metrics/src/test/scala/org/apache/kyuubi/metrics/MetricsSystemSuite.scala index bac20181ca5..9a7a3ecfb04 100644 --- a/kyuubi-metrics/src/test/scala/org/apache/kyuubi/metrics/MetricsSystemSuite.scala +++ b/kyuubi-metrics/src/test/scala/org/apache/kyuubi/metrics/MetricsSystemSuite.scala @@ -94,4 +94,20 @@ class MetricsSystemSuite extends KyuubiFunSuite { checkJsonFileMetrics(reportFile, "20181117") metricsSystem.stop() } + + test("metrics - get gauge") { + val conf = KyuubiConf().set(MetricsConf.METRICS_ENABLED, true) + val metricsSystem = new MetricsSystem() + metricsSystem.initialize(conf) + metricsSystem.start() + + assert(metricsSystem.getGauge(MetricsConstants.THRIFT_SSL_CERT_EXPIRATION).isEmpty) + metricsSystem.registerGauge( + MetricsConstants.THRIFT_SSL_CERT_EXPIRATION, + 1000, + 0) + assert(metricsSystem.getGauge(MetricsConstants.THRIFT_SSL_CERT_EXPIRATION).get.getValue == 1000) + + metricsSystem.stop() + } }