Skip to content

Commit 7e71687

Browse files
avoldsunderlingjd
andcommitted
Legg til metrikkar for parsing, filtrering og rapid-sending
Co-authored-by: erlingjd <[email protected]>
1 parent 2a0bc9f commit 7e71687

File tree

2 files changed

+45
-14
lines changed

2 files changed

+45
-14
lines changed

src/main/kotlin/no/nav/hjelpemidler/Application.kt

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,27 +66,37 @@ fun main() {
6666
}
6767

6868
val rawJson: String = call.receiveText()
69+
SensuMetrics().meldingFraOebs()
6970
sikkerlogg.info("Received JSON push request from OEBS: $rawJson")
7071

7172
// Check for valid json request
7273
val ordrelinje: Statusinfo?
7374
try {
7475
ordrelinje = mapper.readValue(rawJson)
7576
sikkerlogg.info("Parsing incoming json request successful: ${mapper.writeValueAsString(ordrelinje)}")
76-
SensuMetrics().meldingFraOebs()
77+
SensuMetrics().oebsParsingOk()
7778
} catch (e: Exception) {
7879
// Deal with invalid json in request
7980
sikkerlogg.info("Parsing incoming json request failed with exception (responding 4xx): $e")
80-
SensuMetrics().feilVedMeldingFraOebs()
81+
SensuMetrics().oebsParsingFeilet()
8182
call.respond(HttpStatusCode.BadRequest, "bad request: json not valid")
8283
return@post
8384
}
8485

8586
if (ordrelinje!!.serviceforespørseltype != "Vedtak Infotrygd") {
86-
logg.info(
87-
"Mottok melding fra oebs med sf-type ${ordrelinje.serviceforespørseltype} og sf-status ${ordrelinje.serviceforespørselstatus}. " +
88-
"Avbryter prosesseringen og returnerer"
89-
)
87+
if (ordrelinje.serviceforespørseltype == "") {
88+
logg.info(
89+
"Mottok melding fra oebs som ikke er en SF. Avbryter prosesseringen og returnerer"
90+
)
91+
SensuMetrics().sfTypeBlank()
92+
} else {
93+
logg.info(
94+
"Mottok melding fra oebs med sf-type ${ordrelinje.serviceforespørseltype} og sf-status ${ordrelinje.serviceforespørselstatus}. " +
95+
"Avbryter prosesseringen og returnerer"
96+
)
97+
SensuMetrics().sfTypeUlikVedtakInfotrygd()
98+
}
99+
90100
call.respond(HttpStatusCode.OK)
91101
return@post
92102
}
@@ -95,6 +105,7 @@ fun main() {
95105
ordrelinje.hjelpemiddeltype != "Individstyrt hjelpemiddel"
96106
) {
97107
logg.info("Mottok melding fra oebs med hjelpemiddeltype ${ordrelinje.hjelpemiddeltype}.")
108+
SensuMetrics().irrelevantHjelpemiddeltype()
98109
call.respond(HttpStatusCode.OK)
99110
return@post
100111
}

src/main/kotlin/no/nav/hjelpemidler/metrics/SensuMetrics.kt

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,35 @@ class SensuMetrics {
2222
.build()
2323

2424
fun meldingTilRapidSuksess() {
25-
registerPoint(MELDING_TIL_RAPID_SUKSESS, mapOf("counter" to 1L), emptyMap())
25+
registerPoint(MELDING_TIL_RAPID_OK, mapOf("counter" to 1L), emptyMap())
2626
}
2727

2828
fun meldingTilRapidFeilet() {
2929
registerPoint(MELDING_TIL_RAPID_FEILET, mapOf("counter" to 1L), emptyMap())
3030
}
3131

3232
fun meldingFraOebs() {
33-
registerPoint(MELDING_FRA_OEBS, mapOf("counter" to 1L), emptyMap())
33+
registerPoint(OEBS_MELDING, mapOf("counter" to 1L), emptyMap())
3434
}
3535

36-
fun feilVedMeldingFraOebs() {
37-
registerPoint(OEBS_MELDING_FEIL, mapOf("counter" to 1L), emptyMap())
36+
fun oebsParsingOk() {
37+
registerPoint(OEBS_PARSING_OK, mapOf("counter" to 1L), emptyMap())
38+
}
39+
40+
fun oebsParsingFeilet() {
41+
registerPoint(OEBS_PARSING_FEILET, mapOf("counter" to 1L), emptyMap())
42+
}
43+
44+
fun sfTypeBlank() {
45+
registerPoint(OEBS_MELDING_SF_TYPE_BLANK, mapOf("counter" to 1L), emptyMap())
46+
}
47+
48+
fun sfTypeUlikVedtakInfotrygd() {
49+
registerPoint(OEBS_MELDING_SF_TYPE_ULIK_VEDTAK_INFOTRYGD, mapOf("counter" to 1L), emptyMap())
50+
}
51+
52+
fun irrelevantHjelpemiddeltype() {
53+
registerPoint(OEBS_MELDING_IRRELEVANT_HJELPEMIDDELTYPE, mapOf("counter" to 1L), emptyMap())
3854
}
3955

4056
private fun registerPoint(measurement: String, fields: Map<String, Any>, tags: Map<String, String>) {
@@ -88,9 +104,13 @@ class SensuMetrics {
88104
)
89105

90106
private const val SOKNADER = "hm-oebs-listener"
91-
const val MELDING_TIL_RAPID_SUKSESS = "$SOKNADER.rapid.suksess"
92-
const val MELDING_TIL_RAPID_FEILET = "$SOKNADER.rapid.feilet"
93-
const val MELDING_FRA_OEBS = "$SOKNADER.oebs.melding"
94-
const val OEBS_MELDING_FEIL = "$SOKNADER.oebs.feil"
107+
const val MELDING_TIL_RAPID_OK = "$SOKNADER.rapidOk"
108+
const val MELDING_TIL_RAPID_FEILET = "$SOKNADER.rapidFeilet"
109+
const val OEBS_MELDING = "$SOKNADER.oebs.melding"
110+
const val OEBS_PARSING_OK = "$SOKNADER.oebs.parsingOk"
111+
const val OEBS_PARSING_FEILET = "$SOKNADER.oebs.parsingFeilet"
112+
const val OEBS_MELDING_SF_TYPE_BLANK = "$SOKNADER.oebs.sfTypeBlank"
113+
const val OEBS_MELDING_SF_TYPE_ULIK_VEDTAK_INFOTRYGD = "$SOKNADER.oebs.sfTypeUlikVedtakInfotrygd"
114+
const val OEBS_MELDING_IRRELEVANT_HJELPEMIDDELTYPE = "$SOKNADER.oebs.irrelevantHjelpemiddeltype"
95115
}
96116
}

0 commit comments

Comments
 (0)