/spring-boot-actuator-user-agent-metrics

Filter to log user agent statistics as spring boot actuator metrics

Primary LanguageJavaMIT LicenseMIT

Coverage Status Build Status Maven Central

spring-boot-actuator-user-agent-metrics

Filter to log user agent statistics as spring boot actuator metrics. Uses Yauaa library (https://github.com/nielsbasjes/yauaa) under the hood.

Upgrade notice

With version 0.3 the baseline has been updated to java 11 and spring boot 2.1 and the underlying user agent parser library has been replaced with a more recent project. To match the new metrics framework (micrometer), the metrics concept has been changed from individual metrics keys per value (e.g. browser version) to a single metric with (configurable) tags. Therefore, the keys namespace in the configuration has been renamed to tags.

Note: do not use version 0.2.0, while it was updated to work with current framework versions, the library used for user agent parsing was outdated and could not correctly identify a number of current browsers.

Howto use

Gradle

runtime("eu.hinsch:spring-boot-actuator-user-agent-metrics:0.3.2")

Maven

<dependency>
  <groupId>eu.hinsch</groupId>
  <artifactId>spring-boot-actuator-user-agent-metrics</artifactId>
  <version>0.3.2</version>
</dependency>

Configuration

All config properties are located beneath the prefix user-agent-metric

Key Default Description
enabled false Turn metrics filter on/off
url-patterns empty list List of patterns (ant style) to match the servlet filter on
exclude-patterns empty list List of patterns (regex) to match against the request URI to exclude the request from metrics collection
tags empty list list of fields to be added as micrometer tags. For a list of available fields see https://github.com/nielsbasjes/yauaa/blob/master/analyzer/src/main/java/nl/basjes/parse/useragent/UserAgent.java

For an example see SpringBootActuatorUserAgentMetricsTestApplication and application.yml