From d04e8467daad931e522d2e5d8992ae19fe5b044b Mon Sep 17 00:00:00 2001 From: anderssonw Date: Tue, 4 Jun 2024 14:29:15 +0200 Subject: [PATCH] install micrometer metrics in main module --- .../no/kartverket/matrikkel/bygning/Application.kt | 12 ++++++++---- .../kartverket/matrikkel/bygning/db/DBSingleton.kt | 8 ++++++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/no/kartverket/matrikkel/bygning/Application.kt b/src/main/kotlin/no/kartverket/matrikkel/bygning/Application.kt index d7d4484..cd908fb 100644 --- a/src/main/kotlin/no/kartverket/matrikkel/bygning/Application.kt +++ b/src/main/kotlin/no/kartverket/matrikkel/bygning/Application.kt @@ -22,6 +22,8 @@ import no.kartverket.matrikkel.bygning.routes.v1.probeRouting import no.kartverket.matrikkel.bygning.services.BygningService import no.kartverket.matrikkel.bygning.services.HealthService +val appMicrometerRegistry = PrometheusMeterRegistry(PrometheusConfig.DEFAULT) + fun main(args: Array) { embeddedServer(Netty, port = 8081, host = "0.0.0.0", module = Application::internalModule).start(wait = false) @@ -46,8 +48,12 @@ fun Application.module() { } } + install(MicrometerMetrics) { + registry = appMicrometerRegistry + } + DatabaseSingleton.init() - val dbConnection = DatabaseSingleton.getConnection() ?: throw RuntimeException("Kunne ikke koble til database") + val dbConnection = DatabaseSingleton.getConnection() val bygningRepository = BygningRepository(dbConnection) val bygningService = BygningService(bygningRepository) @@ -55,14 +61,12 @@ fun Application.module() { } fun Application.internalModule() { - val appMicrometerRegistry = PrometheusMeterRegistry(PrometheusConfig.DEFAULT) - install(MicrometerMetrics) { registry = appMicrometerRegistry } DatabaseSingleton.init() - val dbConnection = DatabaseSingleton.getConnection() ?: throw RuntimeException("Kunne ikke koble til database") + val dbConnection = DatabaseSingleton.getConnection() val healthRepository = HealthRepository(dbConnection) val healthService = HealthService(healthRepository) diff --git a/src/main/kotlin/no/kartverket/matrikkel/bygning/db/DBSingleton.kt b/src/main/kotlin/no/kartverket/matrikkel/bygning/db/DBSingleton.kt index 5063d30..0d464a1 100644 --- a/src/main/kotlin/no/kartverket/matrikkel/bygning/db/DBSingleton.kt +++ b/src/main/kotlin/no/kartverket/matrikkel/bygning/db/DBSingleton.kt @@ -33,7 +33,11 @@ object DatabaseSingleton { } } - fun getConnection(): Connection? { - return connection + fun getConnection(): Connection { + if (connection != null) { + return connection as Connection + } + + throw RuntimeException("Kunne ikke koble til database") } } \ No newline at end of file