Micrometer/micrometer: Release v1.1.0
Name: micrometer
Owner: Micrometer
Release: v1.1.0
Released: 2018-10-29
License: Apache-2.0
Release Assets:
Enhancements
New registries
- Added new registry implementations for monitoring systems:
- AppOptics
- Azure Monitor
- Dynatrace
- Elastic
- Humio
- KairosDB
- Stackdriver
- Sysdig StatsD
- Added a
LoggingMeterRegistry
that formats metrics as logs periodically.
New meter binders
- Jetty server thread pool metrics.
- Thread state metrics to
JvmThreadMetrics
. - PostgreSQL metrics.
- Disk space metrics.
- Log4J 1.2 metrics.
- Kafka consumer metrics.
- Enhance ExecutorServiceMetrics to record time between task submission and task execution start time.
- Hystrix metrics reworked from the ground up.
Spring Boot 1.5.x legacy module improvements
- Support
management.metrics.tags.*
in Spring Boot 1.5.x. - Support distribution's min/max expected values via properties in Spring Boot 1.5.x.
- Autoconfigure Hibernate metrics.
Other improvements
- Added support for buffering StatsD metrics using Nagle's algorithm.
- Add support for
MultiGauge
, a helper to spawn a series of gauges from a table-like structure that share a name but vary in tags.MultiGauge
allows the set of gauges to grow and shrink over time, provided the total set of tags is well-bounded over time. - Add support for Meter removal (
MeterRegistry#remove(Meter.Id)
andMeterRegistry#remove(Meter)
) and a newMeterRegistry#config().onMeterRemoved(Consumer)
method. - Meter registration memory and CPU performance improvements.
- Support for strong reference gauges.
- Support for defining gauges from
Supplier<T>
. - Add "outcome" tag to WebMVC and Jersey metrics that summarizes the HTTP status as informational, success, redirection, client error, server error, or unknown.
- Reduce default push-based registry logging level to DEBUG and add a single INFO-level log message that indicates the push frequency on startup.
- Upgrade to Dropwizard 4.x for Graphite/JMX.
- Eliminate Dropwizard dependency for Ganglia, instead publishing directly through the Ganglia Java client.
- Add a new overload
Timer#start()
that uses the default system clock. - Allow for injection of HTTP interface into push-based registries (e.g.
DatadogMeterRegistry.builder(..).httpClient(CUSTOM_HTTP_CLIENT).build()
. - Drop
Autocloseable
fromMeter
andMeterRegistry
to improve static code analysis experience (e.g. Sonar). - Added structural pattern matching for meters (
Meter#match(..)
andMeter#use(..)
) - Make
HierarchicalNameMapper
injectable forGraphiteMeterRegistry
. - Add exception handling for
TimedAspect
. - Add base units to several binders. (Breaking change for Prometheus. See #1063)
Fixes
- Properly handle infinity values in gauges.
- Remove invalid
DEFAULT
from someMeterRegistryConfig
subclasses (when a default isn't possible because there is a required property). - Always convert Strings to byte array using UTF-8.