Releases: micrometer-metrics/micrometer
v1.0.0-rc.4
New Features
- Property-based meter filters!
SimpleMeterRegistry
can now be configured to accumulate values or use a step-interval- OkHttp instrumentation.
- Now validating user-provided
HistogramConfig
s - Improved internal data structure of composite meters for better performance
- Improved histogram implementations allow for the retrieval of multiple percentiles/buckets in one call for better performance.
- Conditionally disable
RestTemplate
customizer to allowmicrometer-spring-legacy
to be used for older versions of Spring Boot (pre 1.5.x) - Binders in
MeterBindersConfiguration
can now be disabled via properties ThreadPoolTaskExecutor
metrics binder- Jetty statistics binder
- Hibernate binder
Fixes
WebMvcTags
- Strip trailing URI slashes to limit dimensional explosionMetricsFilter
now forwards to other filters when a matchable handler mapping cannot be foundCumulativeDistributionSummary
- prevent losing the maximum in case of data-raceCumulativeTimer
- prevent losing the maximum in case of data-race- StatsD registry now accepts custom naming conventions
- Fix thread safety issues in
MeterRegistry
- Add base unit to buffer pool metrics
v1.0.0-rc.3
New features
- Meter filters - allow for ignoring tags, adding common tags, ignoring whole metrics, etc at a registry level
- Replaced histogram and quantiles implementations with
HdrHistogram
- Servlet metrics are recorded with a servlet
Filter
instead ofHandlerInterceptor
(metrics are now recorded for resources blocked byspring-security
) HierarchicalNameMapper
is now customizable for Etsy-flavored StatsDDatadogMeterRegistry
matches the naming convention ofdogstatsd
- Fluent builders for
FunctionCounter
andFunctionTimer
- Support collecting
max
for Prometheus timers - Add processor metrics binder to the list of default binders autoconfigured by Spring
- Create
DEFAULT
for each registry implementation's config interface - Add host property to datadog config so that traffic can pass through a proxy
- Meta-annotation support for @timed
- Add record method that accepts
Duration
toTimer
Fixes
- Servlet request metrics report the targetted URI in the event of an error rather than
/error
- Adjust metric name for "system load average"
- Logback -
MetricsTurboFilter
no longer increments stats whenis<LEVEL>Enabled()
is called. - Properly synchronize metrics creation (the symptom previously was duplicate lines in Prometheus output)
- Fixed file descriptor metrics names to match Prometheus standard
- Description is present for all meters registered to Prometheus
- Rename autoconfigured clock beans in Spring to avoid naming collisions
- Ensure
MeterRegistryConfigurer
s are run before autoconfigured binders - Add
StringToDurationConverter
to Prometheus configuration - Fix erroneously set description set as baseunit for ThreadPoolExecutor
v1.0.0-rc.2
- Added support for Statsd (Etsy, Datadog, and Telegraf flavors).
- Added additional cache binders (Hazelcast, JCache, ConcurrentMapCache, Ehcache).
- Add property to select Graphite pickle or plaintext protocol.
- New technology compatibility kit to test custom registry implementations (extend
MeterRegistryCompatibilityKit
, found inmicrometer-test
). - Narrow the use of synchronization to make Micrometer suitable for use in reactive apps.
- Add support for file descriptor metrics.
- Add database table size binder.
- New function-tracking timer to convert monotonically increasing counts/totalTimes from third-party APIs into a native timer form for various systems. Now you can do things like alert when your cache miss rate goes through the roof suddenly!
- FIX
Histogram.percentiles()
andHistogram.percentilesTimer()
now produce valid Prometheus series. - FIX Make
WebMvcMetrics#tagWithException(ex)
public again. - FIX Duplicate dimensions when common tags are present.
v1.0.0-rc.1
-
This is the version incorporated into Spring Boot 2.0 M4
-
Backported changes to types and packages that Spring Boot team made for Spring Boot 2 M4 to
micrometer-spring-legacy
. -
Change Spring support to classpath + property-based enablement for individual registries.
-
Add property that controls whether Spring auto-times all request mappings.
-
Add
UptimeMetrics
. -
Introduced percentile histograms with automatically selected buckets for aggregable percentile approximations.
-
Consistent naming on JVM metrics originating in binders.
-
Add area tag (heap,nonheap) to JVM memory pools.
-
New auto-completable @ConfigurationProperties for registry configs.
-
FIX - Convention names not applied to custom meters.
-
FIX - Data size metrics for Prometheus do not contain unit.
-
FIX - RestTemplate instrumentation doesn't capture URI when calling restTemplate with a URI object instead of a URL string.
-
FIX - Spring Boot application only reports metrics for 200 OK responses.
v0.10.0.RELEASE
- Added
CompositeMeterRegistry
for shipping metrics to multiple systems. - Added
Metrics
, an all-static class for building meters against a global static composite registry. Using this is the new recommended approach for common libraries. - Added a
NamingConvention
interface, a config option to set a naming convention on a registry, and added default naming conventions for all supported monitoring systems. - Moved
longTaskTimer
behindMeterRegistry.more()
, where more esoteric meter patterns will live as they are added. - New
MeterRegistry.find(...)
fluent builder for finding meters with a particular type, name, set of tags, value, etc. HierarchicalNameMapper
is now a functional interface.- Eliminated the old
Meters.monitor(...)
type builders, and put themonitor
method on each binder (e.g. for Guava cache metrics, you now useGuavaCacheMetrics.monitor(...)
. This prevents runtime issues related to missing optional dependencies. - Added instrumentation for Caffeine caches.
v0.9.0.RELEASE
v0.8.0.RELEASE
- Support for exporting to Graphite, Ganglia, and JMX via a new
DropwizardMeterRegistry
. The new registry can be used as a base for exporting to other hierarchical systems as needed. - Broadened the use of
TagFormatter
to sanitize metric names and tags across all supported monitoring systems for both user-provided values and binder-provided values. - Fixed common tag values not being correctly appended to Prometheus meters (@eloo).
- Added
MeterRegistryConfigurer
which allows for the application of common tags before any meters are registered (@eloo).
v0.7.0.RELEASE
- Support common tags on registries which are added to every metric reported to the monitoring system (useful for things like host, region, stack, etc.).
- Fixed synchronization issue on deduping new metrics (#53) @eloo.
PrometheusMeterRegistry
now constructs a new instance ofCollectorRegistry
to support better test isolation (#54) @eloo.- Prevent garbage collection of
DataSourcePoolMetadata
that causedDataSource
gauges to eventually become invalid @eloo. - Provide abstract Spectator implementation for push backends taking step counts and changed the Datadog registry to use this implementation @CameLion.
v0.6.3.RELEASE
- First successful release under
io.micrometer
group. - Spring 4/Boot 1 support has been split into a
micrometer-spring-legacy
project, and Spring 5/Boot 2 support will be merged directly into the Boot 2 codebase.
v0.6.1.RELEASE
Do not use -- only partially released to Maven Central and JCenter
- Changed to a static version on assertj in
micrometer-spring-legacy
in order to publish to Maven Central.