cxf-prometheus-metrics

Prometheus metrics feature for CXF Clients

License

License

Categories

Categories

Metrics Application Testing & Monitoring Monitoring Prometheus
GroupId

GroupId

no.nav.helse
ArtifactId

ArtifactId

cxf-prometheus-metrics
Last Version

Last Version

dd7d125
Release Date

Release Date

Type

Type

jar
Description

Description

cxf-prometheus-metrics
Prometheus metrics feature for CXF Clients
Project URL

Project URL

https://github.com/navikt/cxf-prometheus-metrics
Source Code Management

Source Code Management

https://github.com/navikt/cxf-prometheus-metrics.git

Download cxf-prometheus-metrics

How to add to project

<!-- https://jarcasting.com/artifacts/no.nav.helse/cxf-prometheus-metrics/ -->
<dependency>
    <groupId>no.nav.helse</groupId>
    <artifactId>cxf-prometheus-metrics</artifactId>
    <version>dd7d125</version>
</dependency>
// https://jarcasting.com/artifacts/no.nav.helse/cxf-prometheus-metrics/
implementation 'no.nav.helse:cxf-prometheus-metrics:dd7d125'
// https://jarcasting.com/artifacts/no.nav.helse/cxf-prometheus-metrics/
implementation ("no.nav.helse:cxf-prometheus-metrics:dd7d125")
'no.nav.helse:cxf-prometheus-metrics:jar:dd7d125'
<dependency org="no.nav.helse" name="cxf-prometheus-metrics" rev="dd7d125">
  <artifact name="cxf-prometheus-metrics" type="jar" />
</dependency>
@Grapes(
@Grab(group='no.nav.helse', module='cxf-prometheus-metrics', version='dd7d125')
)
libraryDependencies += "no.nav.helse" % "cxf-prometheus-metrics" % "dd7d125"
[no.nav.helse/cxf-prometheus-metrics "dd7d125"]

Dependencies

runtime (4)

Group / Artifact Type Version
org.jetbrains.kotlin : kotlin-stdlib jar 1.3.20
io.prometheus : simpleclient_common jar 0.5.0
javax.xml.ws : jaxws-api jar 2.3.0
org.apache.cxf : cxf-core jar 3.2.7

Project Modules

There are no modules declared in this project.

CXF Prometheus Metrics Maven Central

En WebServiceFeature som tar tiden på utgående kall, og teller antall vellykkede og feilende kall. Det skilles mellom faults som tjenesten svarer med (error) og andre feil som f.eks. connection timeout og den slags (failure). Alle kall blir tatt tiden på, ikke kun vellykkede kall.

Det opprettes totalt to metrikker:

webservice_calls_latency{service="", operation=""}
webservice_calls_total{service="", operation="", status="success|error|failure"}

service er navnet på tjenesten som kalles og operation er navnet på operasjonen, f.eks.:

service=Person_V3
operation=ping

webservice_calls_latency er et histogram, og Prometheus vil derfor opprette tre metrikker på denne:

webservice_calls_latency_bucket
webservice_calls_latency_count
webservice_calls_latency_sum

Se https://prometheus.io/docs/practices/histograms/ for mer informasjon. Det er verd å merke seg at her brukes Prometheus direkte. Om man bruker Micrometer (“slf4j for metrikker”) må man passe på at CollectorRegistry i Prometheus registreres inn i Micrometers MeterRegistry. For Spring Boot holder det å eksponere Prometheus sitt default registry som en @Bean så sørger Boot for selve registreringen. For andre rammeverk må dette gjøres manuelt

Henvendelser

Spørsmål knyttet til koden eller prosjektet kan stilles som issues her på GitHub.

For NAV-ansatte

Interne henvendelser kan sendes via Slack i kanalen #område-helse.

no.nav.helse

NAV IT

Arbeids- og velferdsdirektoratet - The Norwegian Labour and Welfare Directorate

Versions

Version
dd7d125