Skip to content
This repository has been archived by the owner on Nov 5, 2024. It is now read-only.

Commit

Permalink
F!! Fjerner influx fra BrukerRegistreringService (og InaktivBrukerSer…
Browse files Browse the repository at this point in the history
…vice)
  • Loading branch information
Jørgen Tu Sveli committed Aug 15, 2021
1 parent e36a88c commit 53cd55e
Show file tree
Hide file tree
Showing 11 changed files with 127 additions and 88 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -113,12 +113,12 @@ InaktivBrukerService inaktivBrukerService(
BrukerTilstandService brukerTilstandService,
ReaktiveringRepository reaktiveringRepository,
OppfolgingGateway oppfolgingGateway,
InfluxMetricsService influxMetricsService) {
PrometheusMetricsService prometheusMetricsService) {
return new InaktivBrukerService(
brukerTilstandService,
reaktiveringRepository,
oppfolgingGateway,
influxMetricsService);
prometheusMetricsService);
}

@Bean
Expand All @@ -145,7 +145,7 @@ BrukerRegistreringService registrerBrukerService(
RegistreringTilstandRepository registreringTilstandRepository,
BrukerTilstandService brukerTilstandService,
ManuellRegistreringRepository manuellRegistreringRepository,
InfluxMetricsService influxMetricsService) {
PrometheusMetricsService prometheusMetricsService) {
return new BrukerRegistreringService(
brukerRegistreringRepository,
profileringRepository,
Expand All @@ -154,7 +154,8 @@ BrukerRegistreringService registrerBrukerService(
registreringTilstandRepository,
brukerTilstandService,
manuellRegistreringRepository,
influxMetricsService);
prometheusMetricsService
);
}

@Bean
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,12 @@ enum class Events(override val key: String) : Event {
PROFILERING_EVENT("registrering.bruker.profilering.event"),
INVALID_REGISTRERING_EVENT("registrering.invalid.registrering.event"),
HENT_ARBEIDSSOKERPERIODER_KILDE("arbeid.arbeidssoker.kilde.event"),
HENT_ARBEIDSSOKERPERIODER_KILDER_GIR_SAMME_SVAR("arbeid.arbeidssoker.kilder.gir.samme.svar.event");
HENT_ARBEIDSSOKERPERIODER_KILDER_GIR_SAMME_SVAR("arbeid.arbeidssoker.kilder.gir.samme.svar.event"),
ORDINAER_BESVARELSE("registrering.besvarelse"),
BESVARELSE_ALDER("registrering.bruker.alder"),
BESVARELSE_HELSEHINDER("registrering.besvarelse.helseHinder"),
BESVARELSE_ANDRE_FORHOLD("registrering.besvarelse.andreForhold"),
BESVARELSE_HAR_HATT_JOBB_SAMSVARER_M_AAREG("registrering.besvarelse.sistestilling.samsvarermedinfofraaareg");

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,8 @@ class PrometheusMetricsService(private val meterRegistry: MeterRegistry) {
fun registrer(event: Event) {
meterRegistry.counter(event.key)
}

fun registrer(event: Event, metrikk: Metric) {
registrer(event, Tag.of(metrikk.fieldName(), metrikk.value().toString()))
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package no.nav.fo.veilarbregistrering.registrering.bruker

import io.micrometer.core.instrument.Tag
import no.nav.fo.veilarbregistrering.bruker.Foedselsnummer
import no.nav.fo.veilarbregistrering.metrics.Event
import no.nav.fo.veilarbregistrering.metrics.Events
import no.nav.fo.veilarbregistrering.metrics.Metric
import no.nav.fo.veilarbregistrering.metrics.PrometheusMetricsService
import java.time.LocalDate

object AlderMetrikker {
@JvmStatic
fun rapporterAlder(metricsService: PrometheusMetricsService, fnr: Foedselsnummer) {
val aldersgruppe = when (fnr.alder(LocalDate.now())) {
in 0..30 -> "ung"
in 31..49 -> "kss"
else -> "senior"
}
metricsService.registrer(
Events.BESVARELSE_ALDER,
Tag.of("aldresgruppe", aldersgruppe))
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package no.nav.fo.veilarbregistrering.registrering.bruker;

import io.micrometer.core.instrument.Tag;
import no.nav.fo.veilarbregistrering.besvarelse.Besvarelse;
import no.nav.fo.veilarbregistrering.bruker.Bruker;
import no.nav.fo.veilarbregistrering.bruker.Foedselsnummer;
import no.nav.fo.veilarbregistrering.metrics.Events;
import no.nav.fo.veilarbregistrering.metrics.InfluxMetricsService;
import no.nav.fo.veilarbregistrering.metrics.PrometheusMetricsService;
import no.nav.fo.veilarbregistrering.oppfolging.OppfolgingGateway;
import no.nav.fo.veilarbregistrering.profilering.Profilering;
import no.nav.fo.veilarbregistrering.profilering.ProfileringRepository;
Expand Down Expand Up @@ -33,23 +35,23 @@ public class BrukerRegistreringService {
private final OppfolgingGateway oppfolgingGateway;
private final BrukerTilstandService brukerTilstandService;
private final ManuellRegistreringRepository manuellRegistreringRepository;
private final InfluxMetricsService influxMetricsService;
private final PrometheusMetricsService prometheusMetricsService;

public BrukerRegistreringService(BrukerRegistreringRepository brukerRegistreringRepository,
ProfileringRepository profileringRepository,
OppfolgingGateway oppfolgingGateway,
ProfileringService profileringService,
RegistreringTilstandRepository registreringTilstandRepository,
BrukerTilstandService brukerTilstandService, ManuellRegistreringRepository manuellRegistreringRepository,
InfluxMetricsService influxMetricsService) {
PrometheusMetricsService prometheusMetricsService) {
this.brukerRegistreringRepository = brukerRegistreringRepository;
this.profileringRepository = profileringRepository;
this.oppfolgingGateway = oppfolgingGateway;
this.profileringService = profileringService;
this.registreringTilstandRepository = registreringTilstandRepository;
this.brukerTilstandService = brukerTilstandService;
this.manuellRegistreringRepository = manuellRegistreringRepository;
this.influxMetricsService = influxMetricsService;
this.prometheusMetricsService = prometheusMetricsService;
}

@Transactional
Expand All @@ -63,9 +65,8 @@ public OrdinaerBrukerRegistrering registrerBrukerUtenOverforing(OrdinaerBrukerRe
Profilering profilering = profilerBrukerTilInnsatsgruppe(bruker.getGjeldendeFoedselsnummer(), opprettetBrukerRegistrering.getBesvarelse());
profileringRepository.lagreProfilering(opprettetBrukerRegistrering.getId(), profilering);

influxMetricsService.reportTags(Events.PROFILERING_EVENT, profilering.getInnsatsgruppe());

OrdinaerBrukerBesvarelseMetrikker.rapporterOrdinaerBesvarelse(influxMetricsService,ordinaerBrukerRegistrering, profilering);
prometheusMetricsService.registrer(Events.PROFILERING_EVENT, Tag.of("innsatsgruppe", profilering.getInnsatsgruppe().getArenakode()));
OrdinaerBrukerBesvarelseMetrikker.rapporterOrdinaerBesvarelse(prometheusMetricsService, ordinaerBrukerRegistrering, profilering);

RegistreringTilstand registreringTilstand = RegistreringTilstand.medStatus(Status.MOTTATT, opprettetBrukerRegistrering.getId());
registreringTilstandRepository.lagre(registreringTilstand);
Expand Down Expand Up @@ -97,7 +98,7 @@ public void overforArena(long registreringId, Bruker bruker, NavVeileder veilede
}

registrerOverfortStatistikk(veileder);
AlderMetrikker.rapporterAlder(influxMetricsService, bruker.getGjeldendeFoedselsnummer());
AlderMetrikker.rapporterAlder(prometheusMetricsService, bruker.getGjeldendeFoedselsnummer());
}

private RegistreringTilstand overforArena(long registreringId, Bruker bruker) {
Expand Down Expand Up @@ -131,7 +132,7 @@ private RegistreringTilstand oppdaterRegistreringTilstand(long registreringId, S

private void registrerOverfortStatistikk(NavVeileder veileder) {
if (veileder == null) return;
influxMetricsService.reportFields(Events.MANUELL_REGISTRERING_EVENT, ORDINAER);
prometheusMetricsService.registrer(Events.MANUELL_REGISTRERING_EVENT, ORDINAER);
}

private void validerBrukerRegistrering(OrdinaerBrukerRegistrering ordinaerBrukerRegistrering, Bruker bruker) {
Expand All @@ -149,7 +150,7 @@ private void validerBrukerRegistrering(OrdinaerBrukerRegistrering ordinaerBruker
ValideringUtils.validerBrukerRegistrering(ordinaerBrukerRegistrering);
} catch (RuntimeException e) {
LOG.warn("Ugyldig innsendt registrering. Besvarelse: {} Stilling: {}", ordinaerBrukerRegistrering.getBesvarelse(), ordinaerBrukerRegistrering.getSisteStilling());
OrdinaerBrukerRegistreringMetrikker.rapporterInvalidRegistrering(influxMetricsService, ordinaerBrukerRegistrering);
prometheusMetricsService.registrer(Events.INVALID_REGISTRERING_EVENT);
throw e;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import no.nav.fo.veilarbregistrering.bruker.Bruker;
import no.nav.fo.veilarbregistrering.metrics.InfluxMetricsService;
import no.nav.fo.veilarbregistrering.metrics.PrometheusMetricsService;
import no.nav.fo.veilarbregistrering.oppfolging.OppfolgingGateway;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -16,16 +17,18 @@ public class InaktivBrukerService {
private final BrukerTilstandService brukerTilstandService;
private final ReaktiveringRepository reaktiveringRepository;
private final OppfolgingGateway oppfolgingGateway;
private final InfluxMetricsService influxMetricsService;
private final PrometheusMetricsService prometheusMetricsService;

public InaktivBrukerService(
BrukerTilstandService brukerTilstandService,
ReaktiveringRepository reaktiveringRepository,
OppfolgingGateway oppfolgingGateway, InfluxMetricsService influxMetricsService) {
OppfolgingGateway oppfolgingGateway,
PrometheusMetricsService prometheusMetricsService) {
this.brukerTilstandService = brukerTilstandService;
this.reaktiveringRepository = reaktiveringRepository;
this.oppfolgingGateway = oppfolgingGateway;
this.influxMetricsService = influxMetricsService;

this.prometheusMetricsService = prometheusMetricsService;
}

@Transactional
Expand All @@ -41,9 +44,9 @@ public void reaktiverBruker(Bruker bruker, boolean erVeileder) {
LOG.info("Reaktivering av bruker med aktørId : {}", bruker.getAktorId());

if (erVeileder) {
influxMetricsService.reportFields(MANUELL_REAKTIVERING_EVENT);
prometheusMetricsService.registrer(MANUELL_REAKTIVERING_EVENT);
}

AlderMetrikker.rapporterAlder(influxMetricsService, bruker.getGjeldendeFoedselsnummer());
AlderMetrikker.rapporterAlder(prometheusMetricsService, bruker.getGjeldendeFoedselsnummer());
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package no.nav.fo.veilarbregistrering.registrering.bruker

import io.micrometer.core.instrument.Tag
import no.nav.fo.veilarbregistrering.besvarelse.AndreForholdSvar
import no.nav.fo.veilarbregistrering.besvarelse.DinSituasjonSvar
import no.nav.fo.veilarbregistrering.besvarelse.HelseHinderSvar
import no.nav.fo.veilarbregistrering.besvarelse.SisteStillingSvar
import no.nav.fo.veilarbregistrering.metrics.Events
import no.nav.fo.veilarbregistrering.metrics.PrometheusMetricsService
import no.nav.fo.veilarbregistrering.profilering.Profilering

internal object OrdinaerBrukerBesvarelseMetrikker {
@JvmStatic
fun rapporterOrdinaerBesvarelse(
prometheusMetricsService: PrometheusMetricsService,
ordinaerBrukerRegistrering: OrdinaerBrukerRegistrering,
profilering: Profilering
) {
val helseHinderSvar = ordinaerBrukerRegistrering.getBesvarelse().helseHinder
val andreForholdSvar = ordinaerBrukerRegistrering.getBesvarelse().andreForhold
val samsvarermedinfofraaareg =
samsvarerBesvarelseMedAaregVedrArbeidSisteTolvMaaneder(ordinaerBrukerRegistrering, profilering)

prometheusMetricsService.registrer(Events.ORDINAER_BESVARELSE)

if (helseHinderSvar != HelseHinderSvar.INGEN_SVAR) {
prometheusMetricsService.registrer(
Events.BESVARELSE_HELSEHINDER,
Tag.of("helsehinder", helseHinderSvar.name)
)
}

if (andreForholdSvar != AndreForholdSvar.INGEN_SVAR) {
prometheusMetricsService.registrer(
Events.BESVARELSE_ANDRE_FORHOLD,
Tag.of("andre_forhold", andreForholdSvar.name)
)
}

prometheusMetricsService.registrer(
Events.BESVARELSE_HAR_HATT_JOBB_SAMSVARER_M_AAREG,
Tag.of("verdi", samsvarermedinfofraaareg.toString())
)


}

private fun samsvarerBesvarelseMedAaregVedrArbeidSisteTolvMaaneder(
ordinaerBrukerRegistrering: OrdinaerBrukerRegistrering,
profilering: Profilering
) = ((svarSomIndikererArbeidSisteManeder.contains(ordinaerBrukerRegistrering.getBesvarelse().dinSituasjon) ||
ordinaerBrukerRegistrering.getBesvarelse().sisteStilling == SisteStillingSvar.HAR_HATT_JOBB)
== profilering.isJobbetSammenhengendeSeksAvTolvSisteManeder)

private val svarSomIndikererArbeidSisteManeder = listOf(
DinSituasjonSvar.MISTET_JOBBEN,
DinSituasjonSvar.HAR_SAGT_OPP,
DinSituasjonSvar.ER_PERMITTERT,
DinSituasjonSvar.DELTIDSJOBB_VIL_MER,
DinSituasjonSvar.VIL_BYTTE_JOBB,
DinSituasjonSvar.VIL_FORTSETTE_I_JOBB
)

}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import io.mockk.*
import no.nav.fo.veilarbregistrering.bruker.AktorId
import no.nav.fo.veilarbregistrering.bruker.Bruker
import no.nav.fo.veilarbregistrering.bruker.FoedselsnummerTestdataBuilder
import no.nav.fo.veilarbregistrering.metrics.InfluxMetricsService
import no.nav.fo.veilarbregistrering.metrics.PrometheusMetricsService
import no.nav.fo.veilarbregistrering.oppfolging.adapter.OppfolgingClient
import no.nav.fo.veilarbregistrering.oppfolging.adapter.OppfolgingGatewayImpl
import no.nav.fo.veilarbregistrering.oppfolging.adapter.OppfolgingStatusData
Expand All @@ -18,7 +18,7 @@ class InaktivBrukerServiceTest {
private val brukerRegistreringRepository: BrukerRegistreringRepository = mockk(relaxed = true)
private val reaktiveringRepository: ReaktiveringRepository = mockk(relaxed = true)
private val oppfolgingClient: OppfolgingClient = mockk(relaxed = true)
private val influxMetricsService: InfluxMetricsService = mockk(relaxed = true)
private val prometheusMetricsService: PrometheusMetricsService = mockk(relaxed = true)

@BeforeEach
fun setup() {
Expand All @@ -31,7 +31,7 @@ class InaktivBrukerServiceTest {
),
reaktiveringRepository,
oppfolgingGateway,
influxMetricsService
prometheusMetricsService
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import no.nav.fo.veilarbregistrering.bruker.Bruker
import no.nav.fo.veilarbregistrering.bruker.FoedselsnummerTestdataBuilder
import no.nav.fo.veilarbregistrering.db.DatabaseConfig
import no.nav.fo.veilarbregistrering.db.RepositoryConfig
import no.nav.fo.veilarbregistrering.metrics.InfluxMetricsService
import no.nav.fo.veilarbregistrering.metrics.PrometheusMetricsService
import no.nav.fo.veilarbregistrering.oppfolging.OppfolgingGateway
import no.nav.fo.veilarbregistrering.profilering.ProfileringRepository
import no.nav.fo.veilarbregistrering.profilering.ProfileringService
Expand Down Expand Up @@ -159,7 +159,7 @@ internal class BrukerRegistreringServiceIntegrationTest @Autowired constructor(
}

@Bean
fun metricsService(): InfluxMetricsService = mockk(relaxed = true)
fun metricsService(): PrometheusMetricsService = mockk(relaxed = true)

@Bean
fun brukerRegistreringService(
Expand All @@ -170,7 +170,7 @@ internal class BrukerRegistreringServiceIntegrationTest @Autowired constructor(
registreringTilstandRepository: RegistreringTilstandRepository?,
brukerTilstandService: BrukerTilstandService?,
manuellRegistreringRepository: ManuellRegistreringRepository?,
influxMetricsService: InfluxMetricsService?
prometheusMetricsService: PrometheusMetricsService?
): BrukerRegistreringService {
return BrukerRegistreringService(
brukerRegistreringRepository,
Expand All @@ -180,7 +180,7 @@ internal class BrukerRegistreringServiceIntegrationTest @Autowired constructor(
registreringTilstandRepository,
brukerTilstandService,
manuellRegistreringRepository,
influxMetricsService
prometheusMetricsService
)
}

Expand Down

0 comments on commit 53cd55e

Please sign in to comment.