Commit Graph

381 Commits (9c5f207e2221226c9cfdb1970bb2ed2946e142d1)

Author SHA1 Message Date
Andy Wilkinson 2f1b2e3ce2 Log summary of web-exposed endpoints during startup
Closes gh-12442
7 years ago
Andy Wilkinson f758a4ddd5 Do not link to controller endpoints in Jersey-based Actuator
Closes gh-12463
7 years ago
dreis2211 a21ea612db Remove duplicated @author tags
Closes gh-12454
7 years ago
igor-suhorukov 93f9bd0a32 Polish
Closes gh-12450
7 years ago
Madhura Bhave 89e42d40c5 Provide security matchers for actuator links
Fixes gh-12353
7 years ago
Andy Wilkinson 317b51f2ad Make ApplicationContextRequestMatcher and subclasses thread-safe
Previously, when performing lazy initialisation of the context,
ApplicationContextRequestMatcher assigned the context field before it
called initialized. The context being non-null is used as the signal
that it’s ok to call a subclass’s matches method. If one thread checks
for a non-null context in between the field being assigned and
initialized being called on another thread, matches will be called
before the subclass is ready.

This commit closes the window for the race condition by only assigning
the context field once the subclass’s initialized method has been
called.

There is a secondary problem in each of the subclasses. Due to the use
of double-checked locking in ApplicationContextRequestMatcher, it’s
possible for a subclass’s matches method to be called by a thread that
has not synchronised on the context lock that’s held when initialized
is called and the delegate field is assigned. This means that the
value assigned to the field may not be visible to that thread.

This commit declares the delegate field of each
ApplicationContextRequestMatcher subclass as volatile to ensure that,
following initialisation, its value is guaranteed to be visible to
all threads.

Closes gh-12380
7 years ago
Madhura Bhave e6eca04af2 Make EndpointRequestMatcher#excluding public
Fixes gh-12354
7 years ago
Johnny Lim 751c444166 Polish
See gh-12326
7 years ago
Madhura Bhave 1c27a8e6e2 Move tests to ApplicationContextRunner 7 years ago
Andy Wilkinson 01304959fa Polish "Remove redundant auto-configuration of SI Micrometer metrics"
Closes gh-12287
7 years ago
Gary Russell ddd820af9a Remove redundant auto-configuration of SI Micrometer metrics
Spring Integration no longer requires a `MicrometerMetricsFactory` to
support Micrometer metrics so there's nothing for Boot to
auto-configure.

See gh-12287
7 years ago
Andy Wilkinson c4c50b7c49 Only auto-configure LogbackMetrics when Logback is actually being used
Closes gh-12286
7 years ago
Phillip Webb 7f8bb4e8eb Allow EndpointRequest matching without path bean
Update `EndpointRequest` to that the `PathMappedEndpoints` bean is
optional. A missing bean is treated as if there are no path mapped
endpoints.

Fixes gh-12238
7 years ago
Phillip Webb d66496787d Propagate exceptions in security matchers
Update `ApplicationContextRequestMatcher` and
`ApplicationContextServerWebExchangeMatcher` to use a supplier for
the context, rather than the context itself.

This allow exceptions to be propagated to subclasses which may choose
to deal with them.

See gh-12238
7 years ago
Phillip Webb 802cd856aa Remove test-autoconfigure dependency
Update `spring-boot-actuator-autoconfigure` so that it no longer has
a dependency on `spring-boot-test-autoconfigure`. This will allow us to
add test support for actuator concerns in the future if we need to.

Fixed gh-12270
7 years ago
Andy Wilkinson dc36360155 Polish 7 years ago
Phillip Webb 3e4da3cc37 Polish 7 years ago
Andy Wilkinson 476b7087a7 Upgrade to Hikaricp 2.7.8
Closes gh-12252
7 years ago
Stephane Nicoll 0b46408846 Polish 7 years ago
Stephane Nicoll b0f381bb6f Review conditions of ElasticsearchHealthIndicatorAutoConfiguration
Closes gh-12249
7 years ago
Phillip Webb 29c3be3590 Polish 7 years ago
Stephane Nicoll 306c79f0de Merge branch '1.5.x' 7 years ago
Stephane Nicoll cd522dadcd Revert "Add Kafka health indicator"
Closes gh-12225
7 years ago
igor-suhorukov 98f4692c62 Polish
This commit changes invocations to immediately return the expression
instead of assigning it to a temporary variable. The method name should
be sufficient for callers to know exactly what will be returned.

Closes gh-12211
7 years ago
Stephane Nicoll cb1eed42b8 Polish 7 years ago
Stephane Nicoll e1fd9df7b9 Fix usage of management.server.add-application-context-header
Closes gh-12190
7 years ago
Stephane Nicoll 09ff815f00 Harmonize metadata
Closes gh-12177
7 years ago
Phillip Webb 4b9c3c137e Polish Collection.toArray
Consistently use `StringUtils.toStringArray`, `ClassUtils.toClassArray`
or zero length when converting collections to arrays.

Fixes gh-12160
7 years ago
Phillip Webb cd5266ac03 Polish 7 years ago
Johnny Lim 2fe86da95b Use isTrue() and isFalse() for AssertJ
Closes gh-12170
7 years ago
Johnny Lim 50c07d0772 Polish
Closes gh-12156
7 years ago
Andy Wilkinson e7176c63f5 Stop DataSource initialization from preventing Hikari instrumentation
Closes gh-12129
7 years ago
Stephane Nicoll e7db69be7a Polish
See gh-11869
7 years ago
Phillip Webb 349987d9be Switch show details default to ShowDetails.NEVER
Closes gh-11869
7 years ago
Phillip Webb 46021928ba Rework common server customization
Update the configurable embedded web server factory interfaces to
extend `ConfigurableWebServerFactory` so that the can be used in a
`WebServerFactoryCustomizer`.

Extract server specific customization to their own auto-configuration
and align reactive/servlet server auto-configuration.

Closes gh-8573
7 years ago
Phillip Webb aafa1e9615 Rename MetricsIntegrationAutoConfiguration
Rename `MetricsIntegrationAutoConfiguration` to
`IntegrationMetricsAutoConfiguration`.

Closes gh-12147
7 years ago
Phillip Webb 05faac2b09 Polish 7 years ago
Stephane Nicoll a7cccac0d0 Remove deprecation note for property that was renamed in 2.0 7 years ago
Stephane Nicoll 20f104766b Add missing default values for enums 7 years ago
Stephane Nicoll 45476961c1 Polish
See gh-12129
7 years ago
Stephane Nicoll 0f75a9a9fe Rework Hikari metrics registration
This commits move the Hikari metrics registration to a BeanPostProcessor
as the Hikari datasource cannot be modified once its configuration has
been sealed (usually happens when `getConnection` is invoked on the
pool).

Closes gh-12129
7 years ago
Stephane Nicoll 784372e6b3 Polish "Auto-configure metrics for Hikari"
Closes gh-12129
7 years ago
Tommy Ludwig 05e1f22824 Auto-configure metrics for Hikari
HikariCP has metrics integration with Micrometer. This configures all
`HikariDataSource` beans with the `MicrometerMetricsTrackerFactory` if a
`MeterRegistry` is available.

See gh-12129
7 years ago
Andy Wilkinson 3e4baf744e Use role-based security to show details in the health endpoint
Closes gh-11869
7 years ago
Stephane Nicoll f19b43bacc Polish "Consistent prefix for datasource pool metrics"
Closes gh-12127
7 years ago
Phillip Webb 20109e27be Add ApplicationConversionService and fix binder
Create a new `ApplicationConversionService` similar in design to the
DefaultFormattingConversionService from Spring Framework. The new
conversion service provides a central place for custom conversion logic
supported by Spring Boot.

Also replace the `BindingConversionService` with an internal
`BindConverter` class that now invokes the `SimpleTypeConverter`
directly. Binding for `@ConfigurationProperties` has been updated so
that any custom property editors registered with the BeanFactory can
be used.

Fixes gh-12095
7 years ago
igor-suhorukov fe023817c7 Polish static finals
Closes gh-12083
7 years ago
Phillip Webb adf22d6e4a Polish 7 years ago
Andy Wilkinson 482ecc606c Polish 7 years ago
Andy Wilkinson 22bac1b54e Polish "Bind StatsD queue gauges"
Closes gh-12124
7 years ago
Jon Schneider 53e872bf4c Bind StatsD queue gauges
See gh-12124
7 years ago
Jon Schneider 9934285bca Remove destroy methods from auto-configured MeterRegistry beans
Closes gh-12121
7 years ago
Andy Wilkinson 73460a5b25 Use auto-configuration to create composite, not a BFPP
Closes gh-12122
7 years ago
Stephane Nicoll 1e932860c4 Specify default micrometer values
This commit adds micrometer's default values for each monitoring
system with tests that validate those defaults are consistent. This
makes sure that those defaults are part of the metadata and any tooling
support that uses it.

Closes gh-12089
7 years ago
Stephane Nicoll 202ed7b72b Polish 7 years ago
Stephane Nicoll cd0c81fe39 Restore prefix in ConditionalOnProperty 7 years ago
Andy Wilkinson c3a31fafe2 Remove tangle between actuate.endpoint and actuate.endpoint.invoke
See gh-11854
7 years ago
Stephane Nicoll 6c85ed70e4 Polish "Add SignalFxConfig source property"
Closes gh-12066
7 years ago
Jon Schneider a732053afd Add SignalFxConfig source property
See gh-12066
7 years ago
Stephane Nicoll 1dab83adaa Polish "Restore behavior of management.metrics.export.simple.enabled"
Closes gh-12106
7 years ago
Jon Schneider da759f29d0 Restore behavior of management.metrics.export.simple.enabled
See gh-12106
7 years ago
Phillip Webb 9e75680e6f Polish 7 years ago
Andy Wilkinson c1c162ab0c Polish "Add auto-configuraton for exporting metrics to Wavefront"
Closes gh-12068
7 years ago
Jon Schneider 142dbb2213 Add auto-configuration for exporting metrics to Wavefront
See gh-12068
7 years ago
Andy Wilkinson 17c7f027e0 Add details of the request mapping conditions to mappings endpoint
Closes gh-12080
7 years ago
Andy Wilkinson 2c19257d6d Add HandlerMethod and HandlerFunction details to mappings endpoint
Closes gh-11864
7 years ago
Stephane Nicoll 99466e7fa6 Polish 7 years ago
Andy Wilkinson fe4c8f95ed Rename ReactiveWebServerAutoConfiguration
Closes gh-12086
7 years ago
Andy Wilkinson e72506c353 Protect TomcatMetrics auto-config against early MeterBinder init
Closes gh-11916
7 years ago
Andy Wilkinson 83626c7c12 Polish metrics export auto-configuration tests 7 years ago
Jon Schneider d70594a2b1 Fix upstream micrometer renames
Fix for the rename of `HistogramConfig` to `DistributionStatisticConfig`

Closes gh-12030
7 years ago
Phillip Webb 6771cc9674 Polish 7 years ago
Andy Wilkinson d238a31d3d Polish 7 years ago
Andy Wilkinson 25520a9e32 Polish “Auto-configure FileDescriptorMetrics”
Closes gh-12022
7 years ago
Tommy Ludwig a51fcd071e Auto-configure FileDescriptorMetrics
See gh-12022
7 years ago
Tommy Ludwig 149963bc61 Auto-configure ClassLoaderMetrics
Auto-configure ClassLoaderMetrics as part of the JVM metrics from
Micrometer.

See gh-12022
7 years ago
Jon Schneider 49f21a2264 Remove unnecessary config options for JDBC, Rabbit, and Cache metrics
See gh-12017
7 years ago
Andy Wilkinson ce9b2b8266 Auto-configure Micrometer’s Tomcat metrics
Closes gh-11916
7 years ago
Andy Wilkinson 01b1c1d947 Perform failure analysis of MissingRequiredConfigurationException
Closes gh-12010
7 years ago
Stephane Nicoll 28f5392787 Polish "Add health indicator for reactive MongoDB"
Closes gh-11997
7 years ago
Yulin Qin eee2694648 Add health indicator for reactive MongoDB
See gh-11997
7 years ago
Andy Wilkinson a02fdc755e Stop MeterRegistries when context is closed
Closes gh-12006
7 years ago
Johnny Lim 87bf0b26df Polish modifier order
See gh-12019
7 years ago
Phillip Webb 3bec55e16c Formatting 7 years ago
Madhura Bhave 16a499b2fa Cloud Foundry health should always show details
Fixes gh-12014
7 years ago
Phillip Webb f34aa6f4d8 Migrate to Spring Integration Micrometer support
Remove custom `SpringIntegrationMetrics` and instead provide
auto-configuration to the direct Micrometer support added in Spring
Integration 5.0.2.

Closes gh-11985
7 years ago
Andy Wilkinson b0e86bd7ac Align New Relic and Signal FX tests with those for other exporters
Closes gh-11970
7 years ago
Andy Wilkinson 384a4ed6a9 Use metrics export.*.enabled properties to control auto-configuration
Closes gh-11978
7 years ago
Phillip Webb 0348889fd7 Polish 7 years ago
Andy Wilkinson e49d50fe9d Improve testing of metrics auto-configuration
Closes gh-11970
7 years ago
Johnny Lim 5a9865dabb Polish
Closes gh-12004
7 years ago
Stephane Nicoll 7473642f58 Harmonize endpoints exclude property
Closes gh-11914
7 years ago
Andy Wilkinson 037b6d8ba2 Auto-configure Micrometer's New Relic and SignalFX support
Closes gh-11803
7 years ago
Andy Wilkinson bc814d2039 Prevent authenticated principal from clashing with argument of same name
Closes gh-11988
7 years ago
Phillip Webb 63c827b14d Ensure exports are configured before endpoint
Update `SimpleMetricsExportAutoConfiguration` to ensure that it runs
before `SimpleMetricsExportAutoConfiguration`.

See gh-11977
7 years ago
Phillip Webb d259f68fbf Drop recordRequestPercentiles property
Drop the `recordRequestPercentiles` property as it overlaps with the
property based `MeterFilter` support.

Fixes gh-11982
7 years ago
Phillip Webb 601157f552 Polish "Add publishUnchangedMeters StatsD support"
Closes gh-11967
7 years ago
Jon Schneider e02eba2a33 Add publishUnchangedMeters StatsD support
Add configuration property to support publishing unchanged pollable
meters.

See gh-11967
7 years ago
Phillip Webb 3ec778fb64 Polish 7 years ago
Andy Wilkinson 351e1ec4de Ensure that metrics export backs off when there's no Clock
Closes gh-11977
7 years ago