Commit Graph

723 Commits

Author SHA1 Message Date
Dmytro Nosan 81a6701914 Limit metrics collection of incoming requests
See gh-14173
2018-08-30 12:26:06 +02:00
dreis2211 422a436df1 Polish some Collectors
See gh-13727
2018-08-27 18:09:02 +02:00
Stephane Nicoll dd9209c7d9 Merge branch '2.0.x' 2018-08-22 10:48:35 +02:00
Stephane Nicoll 000cb94323 Polish "Fix String concatenation in a loop"
Closes gh-14153
2018-08-22 10:47:05 +02:00
Hiroaki Yoshida 43acc37587 Fix String concatenation in a loop
See gh-14153
2018-08-22 10:46:14 +02:00
Stephane Nicoll f5d922c712 Upgrade to Spring Integration 5.1.0.M2
Upgrade to M2 broke a test that was looking for a particular bean that
is configured by Spring Integration (`HeaderChannelRegistry`).

It looks like INT-4517 is related to the regression as it registers the
bean too late for the auto-configuration to see it.

This commit changes the condition to a more central bean that is created
very early on.

Closes gh-14142
2018-08-21 09:56:19 +02:00
Stephane Nicoll b60fbe5a1f Merge branch '2.0.x' 2018-08-20 17:00:36 +02:00
Stephane Nicoll b0d388830f Polish test 2018-08-20 17:00:21 +02:00
Vedran Pavic 644ab5f3e4 Align SessionsEndpoint with Spring Session API improvements
This commit aligns SessionsEndpoint with
FindByIndexNameSessionRepository API improvements that simplifies
retrieval of sessions by principal name.

Closes gh-14124
2018-08-18 11:27:35 +02:00
Madhura Bhave d724f154f4 Merge branch '2.0.x' 2018-08-16 15:45:20 -07:00
Madhura Bhave b93c2b9a9f Allow actuator endpoints to be used with mvcMatchers
This commit changes AbstractWebMvcEndpointHandlerMapping to
be a MatchableHandlerMapping. Additionally, EndpointRequest,
now delegates to MvcRequestMatcher for Spring MVC applications.

For all other applications, AntPathRequestMatcher is used as
a delegate.

Closes gh-13962
2018-08-16 15:41:02 -07:00
Johnny Lim 101cc59b7d Polish
Closes gh-14023
2018-08-09 09:32:10 +02:00
Stephane Nicoll a12ca0a0dc Merge branch '2.0.x' 2018-08-08 16:05:34 +02:00
Stephane Nicoll a023bd030a Add configurable timeout for Couchbase health indicator
This commit makes sure to use a configurable timeout to check if the
Couchbase cluster is up, rather than relying on the default that can be
quite long.

Closes gh-13879
2018-08-08 16:01:58 +02:00
Stephane Nicoll 14a9ec8711 Polish 2018-08-06 14:44:44 +02:00
Stephane Nicoll e6b44189e0 Polish "Add global support for JMX unique names"
This commit ensures that the new "spring.jmx.unique-names" property
deprecates the Endpoint's specific property as they share the same goal.

If both are set with an incompatible value, an exception is thrown
inviting the user to update their configuration.

Closes gh-13990
2018-08-06 14:35:18 +02:00
Stephane Nicoll 624c1306fd Merge branch '2.0.x' 2018-08-03 18:25:24 +02:00
Stephane Nicoll 737b4a275b Polish 2018-08-03 18:24:59 +02:00
Stephane Nicoll 0e750f982b Merge branch '2.0.x' 2018-08-03 09:25:15 +02:00
Johnny Lim 7b6b91aae7 Return null immediately when sla is null in convertSla()
Closes gh-13991
2018-08-03 09:23:22 +02:00
Phillip Webb 1b91c0ceb7 Merge branch '2.0.x' 2018-07-29 09:29:57 +01:00
Phillip Webb 0ec22c8bf9 Polish copyright date on changed files 2018-07-29 09:29:29 +01:00
Phillip Webb 80da9cf5eb Merge branch '2.0.x' 2018-07-29 09:28:56 +01:00
Phillip Webb aeb885192e Polish ternary expressions 2018-07-29 09:24:46 +01:00
Phillip Webb a6c9c92f2e Merge branch '2.0.x' 2018-07-28 01:35:43 +01:00
Phillip Webb e6a68b39a3 Fix checkstyle javadoc issues
Fix checkstyle issues in javadoc following the spring-javaformat
upgrade.

See gh-13932
2018-07-28 01:11:52 +01:00
Phillip Webb 7fc455654a Fix checkstyle ternary issues
Fix checkstyle issues with ternary expressions following the
spring-javaformat upgrade.

See gh-13932
2018-07-28 01:11:52 +01:00
Madhura Bhave f2a9030788 Merge branch '2.0.x' 2018-07-27 12:23:51 -07:00
Madhura Bhave e753b530fa EndpointRequest should match links with trailing slash
Fixes gh-13921
2018-07-27 12:23:27 -07:00
Phillip Webb b5b60c2053 Merge branch '2.0.x' 2018-07-26 13:23:07 +01:00
Phillip Webb 9a9111af21 Support path discovery for main dispatcher servlet
Add an `DispatcherServletPath` interface which provides a much more
consistent way to discover the path of the main dispatcher servet.

Prior to this commit, auto-configurations would often make use of the
`ServerProperties` class to discover the dispatcher servlet path. This
mechanism isn't very explicit and also makes it hard for us to relocate
that property in Spring Boot 2.1.

This commit also reverts most of fddc9e9c7e since it is now clear that
the supporting multiple dispatcher servlet paths will be much more
involved that we originally anticipated.

Closes gh-13834
2018-07-26 11:35:12 +01:00
Phillip Webb d37e717500 Polish 2018-07-26 11:35:12 +01:00
Stephane Nicoll 1e7aa7c4bc Fix Spring Integration imports 2018-07-25 16:25:06 +02:00
Stephane Nicoll af0aa11d15 Polish "Add reactive health indicator for Cassandra"
Closes gh-13864
2018-07-25 10:16:17 +02:00
artsiom 61c41555c8 Add reactive health indicator for Cassandra
See gh-13864
2018-07-25 10:16:17 +02:00
Stephane Nicoll 6dc0cb4f67 Merge branch '2.0.x' 2018-07-24 09:33:22 +02:00
Stephane Nicoll 7176c54f5e Polish "Add metric description and base unit to metrics endpoint"
Closes gh-13813
2018-07-24 09:32:22 +02:00
Johannes Edmeier ab1f8cf77b Add metric description and base unit to metrics endpoint
See gh-13813
2018-07-24 09:32:22 +02:00
Stephane Nicoll ecb8da2536 Polish "Upgrade to Micrometer 1.0.6"
Closes gh-13819
2018-07-24 09:25:54 +02:00
Jon Schneider f478911c54 Upgrade to Micrometer 1.0.6
See gh-13819
2018-07-24 09:12:06 +02:00
Madhura Bhave 9b6a069903 Merge branch '2.0.x' 2018-07-17 16:54:43 -07:00
Johnny Lim 86ccb26c58 Polish EndpointRequest.RequestMatcherFactory.antPath()
Closes gh-13775
2018-07-17 16:53:33 -07:00
Andy Wilkinson 6a189cee06 Merge branch '2.0.x' 2018-07-17 19:26:08 +01:00
Andy Wilkinson a57d0f0853 Reinstate order of WebMvcMetricsFilter
Closes gh-13781
2018-07-17 19:14:17 +01:00
Stephane Nicoll 070c26d6c3 Merge branch '2.0.x' 2018-07-17 12:03:58 +02:00
Stephane Nicoll d6c7eff8f7 Add check for empty values for lookup
Closes gh-13419
2018-07-17 12:01:26 +02:00
Johnny Lim 58df752af4 Polish
See gh-13790
2018-07-17 10:25:38 +02:00
Stephane Nicoll 43091150d8 Merge branch '2.0.x' 2018-07-17 10:23:12 +02:00
Johnny Lim f363fe7dd1 Polish
See gh-13790
2018-07-17 10:03:41 +02:00
Andy Wilkinson ac1f2a5817 Polish 2018-07-14 08:45:34 +01:00
Madhura Bhave d1b8558430 Make /health and /info insecure by default
Closes gh-13722
2018-07-13 13:35:52 -07:00
Stephane Nicoll fa171671b1 Merge branch '2.0.x' 2018-07-13 09:39:29 +02:00
Stephane Nicoll e6ea28dec5 Polish 2018-07-13 09:36:37 +02:00
Johnny Lim 13202eb278 Prevent duplicate RequestMatcher in RequestMatcherFactory.antPath()
Closes gh-13706
2018-07-13 09:35:34 +02:00
Johnny Lim f94ce495d8 Fix parameter order for RequestMatcherAssert.doesNotMatch()
Closes gh-13707
2018-07-10 11:36:47 -07:00
dreis2211 be837ccb4b Use PropertySources.stream() where possible
Closes gh-13724
2018-07-10 15:35:03 +02:00
Andy Wilkinson c1a81cfca0 Prohibit bean overriding by default and analyze override failures
Closes gh-13609
2018-07-10 12:28:18 +01:00
Johnny Lim b87b23a44f Fix parameter order for RequestMatcherAssert.doesNotMatch()
Closes gh-13707
2018-07-09 15:20:18 -07:00
Stephane Nicoll 60457f1d9a Merge branch '2.0.x' 2018-07-09 13:22:14 +02:00
Stephane Nicoll 44b9aa168e Polish "Improve description of Endpoint exclude"
Closes gh-13619
2018-07-09 13:20:43 +02:00
Miguel Gomes 838e6cdbbb Improve description of Endpoint exclude
See gh-13619
2018-07-09 13:12:13 +02:00
Brian Clozel 68a3c234be Adapt to API changes in Reactor Netty
The following issue changed the SSL configuration API for both client
and server: https://github.com/reactor/reactor-netty/issues/370
2018-07-06 14:45:47 +02:00
Andy Wilkinson fd624c20cf Upgrade to Hikaricp 3.2.0
Closes gh-13695
2018-07-03 20:04:55 +01:00
Andy Wilkinson b6b37c91bb Upgrade to Flyway 5.1.3
Closes gh-13672
2018-07-03 17:30:48 +01:00
Madhura Bhave 4eff07f6c0 Merge branch '2.0.x' 2018-06-28 12:49:34 -07:00
Madhura Bhave fddc9e9c7e Support multiple paths in DispatcherServletPathProvider
Closes gh-13603
2018-06-28 12:36:58 -07:00
Johnny Lim bb60edaca6 Polish
Closes gh-13534
2018-06-21 09:24:36 +02:00
Stephane Nicoll d4d169277d Merge branch '2.0.x' 2018-06-21 09:23:43 +02:00
Johnny Lim b9ea0fd5a7 Polish
See gh-13534
2018-06-21 09:20:50 +02:00
Stephane Nicoll 9d3ba14686 Fix conditions for CachingConnectionFactory support
Closes gh-12161
2018-06-19 19:58:48 +02:00
Stephane Nicoll defa171a32 Merge branch '2.0.x' 2018-06-18 13:41:36 +02:00
Johnny Lim dd3bfdbe42 Use @ManagementContextConfiguration consistently 2018-06-18 13:28:30 +02:00
Brian Clozel cb6c8f76e2 Configure X-Forwarded-* support with Reactor Netty
This commit configures the new X-Forwarded-* / Forwarded HTTP headers
support with Reactor Netty in its 0.8.0 version.

Closes gh-10900
2018-06-13 14:55:33 +02:00
Stephane Nicoll c738b73c6f Merge branch '2.0.x' 2018-06-13 09:29:36 +02:00
Johnny Lim 870d7fe16a Use @SpringBootTest.properties in tests and samples
Closes gh-13453
2018-06-13 09:24:28 +02:00
Madhura Bhave 6eaae608b5 Merge branch '2.0.x' 2018-06-06 10:49:46 -07:00
Madhura Bhave 461202bc25 EndpointRequest uses empty servlet path if not available
Fixes gh-13399
2018-06-06 10:48:42 -07:00
Stephane Nicoll 0d63e7f592 Merge branch '2.0.x' 2018-06-06 09:30:46 +02:00
dreis2211 ba8a32fa4e Replace commons-codec Base64 usage
See gh-13378
2018-06-06 09:19:17 +02:00
Phillip Webb 66be6c3396 Polish 2018-06-05 17:44:51 -07:00
Stephane Nicoll 83f7df920b Merge branch '2.0.x' 2018-06-05 13:30:07 +02:00
Stephane Nicoll bf56ec496d Polish 2018-06-05 13:29:56 +02:00
Stephane Nicoll 47634f5587 Polish 2018-06-05 13:21:03 +02:00
Stephane Nicoll 1901008d6f Merge branch '2.0.x' 2018-06-05 13:18:40 +02:00
Stephane Nicoll fff06822dc Polish 2018-06-05 13:15:38 +02:00
Stephane Nicoll d84e2b90d7 Fix wrong usage of ManagementContextConfiguration
Closes gh-13366
2018-06-05 13:15:21 +02:00
Stephane Nicoll 3248400665 Merge branch '2.0.x' 2018-06-05 10:12:46 +02:00
Stephane Nicoll b4f8361989 Make JMX metrics domain configurable
Closes gh-13356
2018-06-05 10:12:26 +02:00
Phillip Webb ade1397ea2 Merge branch '2.0.x' 2018-06-04 17:28:54 -07:00
Phillip Webb 571c50e43f Switch to functional web code to use static imports
Update the samples and tests to use the more idiomatic static import
style.
2018-06-04 17:27:34 -07:00
Brian Clozel bd8106d77f Upgrade to Spring Framework 5.1
As of Spring Framework 5.1, we're depending on the Reactor Californium
release train.
Reactor Netty is now at version 0.8 and changed its artifact
coordinates, package names and broke several APIs. Spring Framework is
now up-to-date with those changes and this commit does the same for
Spring Boot.

Note that in that process, the `NettyServerCustomizer` has been changed
since the former `HttpServerOptions.Builder` API is now gone from
Reactor Netty, and we're now relying on immutable server instances
instead of a stateful builder pattern.

See gh-13321
2018-06-04 18:59:17 +02:00
Andy Wilkinson 78b1a37d7d Merge branch '2.0.x' 2018-06-01 17:58:03 +01:00
Andy Wilkinson 68cd27c47b Do not require DataSourcePoolMetrics to auto-configure Hikari meters
Closes gh-13330
2018-06-01 17:55:43 +01:00
Vedran Pavic 205b1c1327 Upgrade to Hazelcast 3.10.1
Closes gh-13322
2018-06-01 09:30:42 +02:00
Johnny Lim 5d5a14e4f7 Make MetricsProperties fields final if possible
Closes gh-13324
2018-06-01 09:29:34 +02:00
Stephane Nicoll f06627c408 Allow CompositeHealthIndicator to be created with a Map as before
See gh-4965
2018-05-30 16:09:07 +02:00
Johnny Lim de01e7aad4 Polish
See gh-13243
2018-05-28 09:46:40 +02:00
Stephane Nicoll f91b53747a Merge branch '2.0.x' 2018-05-28 09:41:41 +02:00
Johnny Lim f385a1cb11 Polish
Closes gh-13243
2018-05-28 09:36:15 +02:00
Phillip Webb 3702da4573 Formatting 2018-05-25 23:52:38 -07:00
Phillip Webb 2215709165 Merge branch '2.0.x' 2018-05-25 23:50:39 -07:00
Phillip Webb 9fd3b9103a Format code 2018-05-25 23:02:45 -07:00
Madhura Bhave 940c3d1b75 Merge branch '2.0.x' 2018-05-25 10:39:22 +02:00
Madhura Bhave 552878c431 Fix javadoc 2018-05-25 10:37:39 +02:00
Stephane Nicoll 4464a5f5bd Remove code deprecated in 2.0
Closes gh-12962
2018-05-22 14:48:25 +02:00
Phillip Webb c5f63c19a4 Merge branch '2.0.x' 2018-05-21 21:38:32 -07:00
Phillip Webb 2dc4f1df00 Polish 2018-05-21 21:32:42 -07:00
Stephane Nicoll 27c60e3deb Merge branch '2.0.x' 2018-05-18 13:42:57 +02:00
Stephane Nicoll 48cf025093 Polish 2018-05-18 13:42:45 +02:00
Stephane Nicoll d35d221b5c Merge branch '2.0.x' 2018-05-18 11:54:43 +02:00
Stephane Nicoll 6893be5479 Make sure that RabbitMQ metrics are configured early
The ConnectionFactory can be used early in user configuration to
configure an `Exchange`. Such connection may not hold the proper
MetricCollector and can be cached, leading to missed metrics
information.

This commit moves the configuration of RabbitMQ metrics to a
BeanPostProcessor so that the proper MetricCollector is configured
before any connection is created.

Closes gh-12855
2018-05-18 11:54:11 +02:00
Stephane Nicoll b51b997b70 Run specific health check
This commit improves the `health` endpoint to run health check for a
particular component or, if that component is itself a composite, an
instance of that component.

Concretely, it is now possible to issue a `GET` on
`/actuator/health/{component}` and
`/actuator/health/{component}/instance` to retrieve the health of a
component or an instance of a composite component, respectively.

If details cannot be showed for the current user, any request leads to a
404 and does not invoke the health check at all.

Closes gh-8865
2018-05-17 15:26:38 +02:00
Stephane Nicoll 2c176a3770 Add support for ReactiveHealthIndicatorRegistry
This commit updates the initial proposal to add support for reactive
use cases as well. A reactive application can use
ReactiveHealthIndicatorRegistry as an alternative to
HealthIndicatorRegistry.

Closes gh-4965
2018-05-16 17:48:41 +02:00
Stephane Nicoll 95b251590e Polish "Introduce HealthIndicatorRegistry"
See gh-4965

Co-authored-by: Andy Wilkinson <awilkinson@pivotal.io>
2018-05-16 17:39:20 +02:00
Vedran Pavic d829d522be Introduce HealthIndicatorRegistry
This commit introduces HealthIndicatorRegistry which handles
registration of HealthIndicator instances. Registering new
HealthIndicator instances is now possible in runtime.

See gh-4965
2018-05-16 13:59:34 +02:00
Stephane Nicoll 602f52fffc Add support for configuring common tags declaratively
Closes gh-12933
2018-05-14 13:26:01 +02:00
Vedran Pavic f81f50c119 Improve LDAP auto-configuration
Auto-configuration of LDAP's `LdapTemplate` is currently a part of
`LdapDataAutoConfiguration` which is conditional of presence of
`LdapRepository` (i.e. Spring Data LDAP). This arrangement isn't ideal
since the `LdapTemplate` is a part of Spring LDAP project, and therefore
should not be tied to Spring Data LDAP.

This commit improves and simplifies LDAP auto-configuration by moving
`LdapTemplate` configuration to `LdapAutoConfiguration`. Consequently,
`LdapDataAutoConfiguration` is not needed anymore and is removed.

See gh-13136
2018-05-11 14:37:13 +02:00
Andy Wilkinson a325b13d05 Polish "Auto-configure a ResourceConfig for Jersey endpoints if needed"
Closes gh-11948
2018-05-11 12:49:44 +01:00
Michael J. Simons bb2864ad02 Auto-configure a ResourceConfig for Jersey endpoints if needed
See gh-11948
2018-05-11 12:49:31 +01:00
Madhura Bhave ea99d8cab0 Merge branch '2.0.x' 2018-05-10 11:53:25 -07:00
Madhura Bhave 05cf8229d9 Fix tests 2018-05-10 11:50:43 -07:00
Madhura Bhave 36c89e2383 Merge branch '2.0.x' 2018-05-10 10:01:42 -07:00
Madhura Bhave c937bb68a0 ServletEndpoints should take servletPath into account
Fixes gh-13106
2018-05-10 10:01:11 -07:00
Madhura Bhave 36c7602f2a Merge branch '2.0.x' 2018-05-09 12:04:34 -07:00
Madhura Bhave 4ec87956f9 Fix EndpointRequest include/exclude for ServletEndpoints
Fixes gh-13089
2018-05-09 12:01:58 -07:00
Stephane Nicoll c72df104d8 Improve caches endpoint format
This commit adds an intermediate "caches" element so that additional
cache manager attributes can be added in the future.

Closes gh-13079
2018-05-09 11:08:23 +02:00
Andy Wilkinson a41c9eb736 Merge branch '2.0.x' 2018-05-09 09:14:48 +01:00
Andy Wilkinson e14a2e33ab Deprecate queue size property for StatsD metrics export
Closes gh-13108
2018-05-09 09:14:09 +01:00
Andy Wilkinson c826310fd1 Polish 2018-05-09 08:44:15 +01:00
Andy Wilkinson 3a3eeb0caf Merge branch '2.0.x' 2018-05-08 21:12:58 +01:00
Andy Wilkinson 8ce4110966 Allow Jersey-based Actuator to be used with separate management port
Previously, when the Jersey-based Actuator was configure with a
separate management port, the resulting child context would fail to
start due to their being no ResourceConfigCustomizer beans available.

This commit updates the configuration so that the customizer's are
injected using an ObjectProvider and an empty list is used in the
event of their being no customizer beans. This aligns the child
context configuration class with JerseyAutoConfiguration which
already used this approach.

Closes gh-12975
2018-05-08 21:00:05 +01:00
Stephane Nicoll 3ad8f3fcbf Merge branch '2.0.x' 2018-05-07 14:53:58 +02:00
Stephane Nicoll 9dccf5b895 Polish
See gh-13078
2018-05-07 14:48:56 +02:00
Phillip Webb c578a30e90 Polish 2018-05-04 23:12:42 -07:00
Phillip Webb cff552fb05 Merge branch '2.0.x' 2018-05-04 20:14:33 -07:00
Phillip Webb 6556bb2e89 Fix checkstyle violations 2018-05-04 20:13:57 -07:00
Phillip Webb a323a85e3b Merge branch '2.0.x' 2018-05-04 20:06:55 -07:00
Phillip Webb 975e986fef Polish 2018-05-04 20:06:27 -07:00
Madhura Bhave cdb5d76c7d Merge branch '2.0.x' 2018-05-04 18:12:25 -07:00
Madhura Bhave 469372c5ef Account for servlet path "/" in EndpointRequest
See gh-12934
2018-05-04 18:09:15 -07:00
Phillip Webb 7b120c1c97 Formatting 2018-05-04 16:36:35 -07:00
Phillip Webb 42c053cf1b Merge branch '2.0.x' 2018-05-04 16:31:46 -07:00
Phillip Webb 6de479fe6a Polish 2018-05-04 16:08:05 -07:00
Phillip Webb 93046d058d Polish 2018-05-04 16:05:12 -07:00
Madhura Bhave 6855c5556d EndpointRequest should consider server.servlet.path
Fixes gh-12934
2018-05-04 16:03:31 -07:00
Phillip Webb 5b3cb8a698 Update copyright header year for changed files 2018-05-04 15:59:26 -07:00
Phillip Webb 6e09e497f2 Formatting 2018-05-04 12:06:19 -07:00
Phillip Webb b6a2a46f78 Merge branch '2.0.x' 2018-05-03 23:54:42 -07:00
Phillip Webb 2d70a7ae5e Polish caught exception names
Prefer `ex` over `e`.
2018-05-03 22:43:32 -07:00
Phillip Webb 41efea51a7 Polish ternary expressions
Consistently format ternary expressions and always favor `!=` as the
the check.
2018-05-03 22:43:12 -07:00
Phillip Webb 8c0c0ee55a Merge branch '2.0.x' 2018-05-03 12:44:58 -07:00
Phillip Webb e125085993 Merge branch '1.5.x' into 2.0.x 2018-05-03 12:43:50 -07:00
Andy Wilkinson 0526594a3c Merge branch '2.0.x' 2018-05-02 12:26:23 +01:00
Stephane Nicoll 0fcffae0d9 Merge branch '2.0.x' 2018-04-30 16:50:51 +02:00
Johnny Lim d8700522d3 Rename nested *AutoConfiguration classes to *Configuration
Closes gh-12989
2018-04-30 16:50:18 +02:00
Stephane Nicoll fb8a5a9864 Polish "Add cache actuator endpoint"
This commit improves the initial proposal by providing a by name read
operation that returns the detail of a particular cache. It also adds
more tests and complete API documentation for the feature.

Closes gh-12216
2018-04-30 16:34:00 +02:00
Johannes Edmeier 1a57673345 Add cache actuator endpoint
This commits adds an actuator endpoint which lists the caches per
context and cacheManager and provides a delete operation to clear the
caches. As the statistics are exposed via the metrics endpoint they are
not included

See gh-12216
2018-04-30 16:34:00 +02:00
Brian Clozel 1ef0098ab5 Add WebClient metrics support
This commit adds support for Actuator Metrics for WebClient.
This support mirrors the current behavior for `RestTemplate`, reusing
the same metric name `"http.client.requests"` and tags.

`WebClient` is instrumented by a `MetricsWebClientFilterFunction` which
is applied by a `WebClientCustomizer`. This instrumentation happens
automatically only if you create an instance of `WebClient` using an
auto-configured `WebClient.Builder` bean.

This infrastructure is reusing de facto the `MeterFilter` that has been
added for `RestTemplate` in order to limit the "uri" tag cardinality.

Closes gh-12228
2018-04-27 13:54:14 +02:00
Johnny Lim b45c5f1a27 Polish
See gh-12981
2018-04-27 09:34:32 +02:00
Stephane Nicoll 03cf4fbb10 Polish "Add actuator endpoint for exposing the Spring Integration graph"
Closes gh-12331
2018-04-25 16:16:43 +02:00
Tim Ysewyn 8c67ef1079 Add actuator endpoint for exposing the Spring Integration graph
See gh-12331
2018-04-25 16:16:43 +02:00
Stephane Nicoll 518f41a4ae Improve @ConditionalOnEnabledEndpoint to be used on any component
This commit adds an `endpoint` attribute so that the condition can be
used on arbitrary components, not only endpoints or extensions.

Closes gh-12945
2018-04-25 13:54:04 +02:00
Stephane Nicoll 760b5e8510 Merge branch '2.0.x' 2018-04-24 10:18:20 +02:00
Johnny Lim a15319ee30 Remove ManagementServerProperties.addApplicationContextHeader
Closes gh-12926
2018-04-24 10:16:49 +02:00
Stephane Nicoll a85998f4c3 Polish "Add auto-configuration for Hibernate metrics"
Closes gh-12550
2018-04-17 13:46:27 +02:00
Rui Figueira b6b92ba937 Add auto-configuration for Hibernate metrics
All Hibernate entityManagerFactories are automatically instrumented
and their statistics are included into Micrometer using its
HibernateMetrics binder.

Closes gh-12550
2018-04-17 13:23:18 +02:00
dreis2211 2bbf438c36 Fix duplicate words in comments
Closes gh-12866
2018-04-16 08:09:40 +02:00
Stephane Nicoll 3c169b4e0a Fix bean name of EnvironmentEndpointWebExtension
Closes gh-12827
2018-04-11 11:34:44 +02:00
Johnny Lim f03849d502 Polish
See gh-12812
2018-04-10 11:46:16 +02:00
Andy Wilkinson 8d5b9f37d5 Merge branch '1.5.x' 2018-04-09 17:59:53 +01:00
Jon Schneider 03158e2fd5 Upgrade to Micrometer 1.0.3
Closes gh-12767
2018-04-04 20:42:23 -07:00
Phillip Webb 685babc829 Polish "Use lambdas for map entry iteration where possible"
Closes gh-12626
2018-04-04 19:36:18 -07:00
igor-suhorukov 69bc19e0ca Use lambdas for map entry iteration where possible
See gh-12626
2018-04-04 19:36:10 -07:00
Phillip Webb 598e9bb842 Polish 2018-04-04 18:01:25 -07:00
Phillip Webb ce9ca6ae70 Polish "Apply MeterRegistryCustomizer to composites"
Closes gh-12762
2018-04-04 16:00:53 -07:00
Jon Schneider 1fce462944 Apply MeterRegistryCustomizer to composites
Update `MeterRegistryConfigurer` to also apply customizers to
composite meter registries. Prior to this commit composites were
skipped due to the incorrect assumption that did not contain
their own state.

Closes gh-12762
2018-04-04 15:58:16 -07:00
Stephane Nicoll 7dbeaaa932 Polish "Remove HierarchicalNameMapper as a configured @Bean"
Closes gh-12683
2018-04-03 11:23:05 +02:00
Jon Schneider 8572a091b8 Remove HierarchicalNameMapper as a configured @Bean
HierarchicalNameMapper is not a component that can be shared amongst
multiple monitoring systems.

See gh-12683
2018-04-03 11:14:43 +02:00
Stephane Nicoll 7c36c00331 Fix default HierarchicalNameMapper implementation for Graphite
Closes gh-12557
2018-04-03 10:39:14 +02:00
Johnny Lim 4ab439856c Remove destroyMethod attribute in @Bean for MeterRegistry
Closes gh-12725
2018-04-03 10:14:13 +02:00
Madhura Bhave 270ee6dd2c Configure RequestContextFilter in mgmt context
Closes gh-12546
2018-04-02 11:16:46 -07:00
Andy Wilkinson cca5c0d2ee Start building against Spring REST Docs 2.0.1 snapshots
See gh-12681
2018-03-29 14:22:55 +01:00
dreis2211 3b0f6e7168 Use Supplier variants of Assert methods
See gh-12630
2018-03-26 17:58:17 +02:00
Johnny Lim c100510222 Remove value in @ConditionalOnMissingBean if possible
See gh-12604
2018-03-26 17:38:46 +02:00
Johnny Lim 625bf93598 Polish
See gh-12584
2018-03-26 17:33:25 +02:00
Johnny Lim 1e2e8b1d66 Rename expose to include
Closes gh-12555
2018-03-21 07:35:37 -04:00
Andy Wilkinson 72e36eadae Polish 2018-03-17 15:28:05 +00:00
Phillip Webb c201c1dac1 Polish 2018-03-15 16:09:14 -07:00
Madhura Bhave e6149fda1c Assert endpoints basePath starts with '/' or is empty
Fixes gh-12489
2018-03-15 11:39:37 -07:00
Vladimir Tsanev bf433e7f17 Fix Javadoc for ServiceLevelAgreementBoundary
Closes gh-12492
2018-03-15 13:40:13 +01:00
dreis2211 8626daf135 Replace Mockito.times(0) with Mockito.never()
Closes gh-12475
2018-03-14 15:12:20 -07:00
Phillip Webb a4b0be089d Polish 2018-03-14 14:05:26 -07:00
Andy Wilkinson 2f1b2e3ce2 Log summary of web-exposed endpoints during startup
Closes gh-12442
2018-03-13 14:55:51 +00:00
Andy Wilkinson f758a4ddd5 Do not link to controller endpoints in Jersey-based Actuator
Closes gh-12463
2018-03-13 14:55:51 +00:00
dreis2211 a21ea612db Remove duplicated @author tags
Closes gh-12454
2018-03-13 08:51:17 +01:00
igor-suhorukov 93f9bd0a32 Polish
Closes gh-12450
2018-03-13 08:37:50 +01:00
Madhura Bhave 89e42d40c5 Provide security matchers for actuator links
Fixes gh-12353
2018-03-07 19:02:35 -08:00
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
2018-03-07 11:37:01 +00:00
Madhura Bhave e6eca04af2 Make EndpointRequestMatcher#excluding public
Fixes gh-12354
2018-03-05 16:07:46 -08:00
Johnny Lim 751c444166 Polish
See gh-12326
2018-03-03 12:25:41 +01:00
Madhura Bhave 1c27a8e6e2 Move tests to ApplicationContextRunner 2018-03-02 18:30:55 -08:00
Andy Wilkinson 01304959fa Polish "Remove redundant auto-configuration of SI Micrometer metrics"
Closes gh-12287
2018-02-28 17:45:32 +00:00
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
2018-02-28 17:33:05 +00:00
Andy Wilkinson c4c50b7c49 Only auto-configure LogbackMetrics when Logback is actually being used
Closes gh-12286
2018-02-28 17:20:04 +00:00
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
2018-02-27 21:05:35 -08:00
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
2018-02-27 16:29:14 -08:00
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
2018-02-27 16:29:03 -08:00
Andy Wilkinson dc36360155 Polish 2018-02-27 21:25:48 +00:00
Phillip Webb 3e4da3cc37 Polish 2018-02-27 12:53:01 -08:00
Andy Wilkinson 476b7087a7 Upgrade to Hikaricp 2.7.8
Closes gh-12252
2018-02-27 17:43:36 +00:00
Stephane Nicoll 0b46408846 Polish 2018-02-27 16:47:34 +01:00
Stephane Nicoll b0f381bb6f Review conditions of ElasticsearchHealthIndicatorAutoConfiguration
Closes gh-12249
2018-02-27 16:37:59 +01:00
Phillip Webb 29c3be3590 Polish 2018-02-26 10:26:02 -08:00
Stephane Nicoll 306c79f0de Merge branch '1.5.x' 2018-02-26 18:03:32 +01:00
Stephane Nicoll cd522dadcd Revert "Add Kafka health indicator"
Closes gh-12225
2018-02-26 15:46:35 +01:00
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
2018-02-25 10:59:02 +01:00
Stephane Nicoll cb1eed42b8 Polish 2018-02-23 13:57:19 +01:00
Stephane Nicoll e1fd9df7b9 Fix usage of management.server.add-application-context-header
Closes gh-12190
2018-02-23 13:57:02 +01:00
Stephane Nicoll 09ff815f00 Harmonize metadata
Closes gh-12177
2018-02-23 11:02:28 +01:00
Phillip Webb 4b9c3c137e Polish Collection.toArray
Consistently use `StringUtils.toStringArray`, `ClassUtils.toClassArray`
or zero length when converting collections to arrays.

Fixes gh-12160
2018-02-22 21:11:30 -08:00
Phillip Webb cd5266ac03 Polish 2018-02-22 20:25:28 -08:00
Johnny Lim 2fe86da95b Use isTrue() and isFalse() for AssertJ
Closes gh-12170
2018-02-22 09:55:40 +01:00
Johnny Lim 50c07d0772 Polish
Closes gh-12156
2018-02-21 17:46:57 +01:00
Andy Wilkinson e7176c63f5 Stop DataSource initialization from preventing Hikari instrumentation
Closes gh-12129
2018-02-21 10:32:41 +00:00
Stephane Nicoll e7db69be7a Polish
See gh-11869
2018-02-21 07:39:40 +01:00
Phillip Webb 349987d9be Switch show details default to ShowDetails.NEVER
Closes gh-11869
2018-02-20 16:43:11 -08:00
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
2018-02-20 16:27:15 -08:00
Phillip Webb aafa1e9615 Rename MetricsIntegrationAutoConfiguration
Rename `MetricsIntegrationAutoConfiguration` to
`IntegrationMetricsAutoConfiguration`.

Closes gh-12147
2018-02-20 16:25:51 -08:00
Phillip Webb 05faac2b09 Polish 2018-02-20 15:53:25 -08:00
Stephane Nicoll a7cccac0d0 Remove deprecation note for property that was renamed in 2.0 2018-02-20 18:57:25 +01:00
Stephane Nicoll 20f104766b Add missing default values for enums 2018-02-20 17:33:32 +01:00
Stephane Nicoll 45476961c1 Polish
See gh-12129
2018-02-20 17:02:03 +01:00
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
2018-02-20 16:25:51 +01:00
Stephane Nicoll 784372e6b3 Polish "Auto-configure metrics for Hikari"
Closes gh-12129
2018-02-20 13:24:45 +01:00
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
2018-02-20 13:22:42 +01:00
Andy Wilkinson 3e4baf744e Use role-based security to show details in the health endpoint
Closes gh-11869
2018-02-20 12:12:05 +00:00
Stephane Nicoll f19b43bacc Polish "Consistent prefix for datasource pool metrics"
Closes gh-12127
2018-02-20 10:07:00 +01:00
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
2018-02-19 20:25:47 -08:00
igor-suhorukov fe023817c7 Polish static finals
Closes gh-12083
2018-02-19 20:10:58 -08:00
Phillip Webb adf22d6e4a Polish 2018-02-19 19:54:10 -08:00
Andy Wilkinson 482ecc606c Polish 2018-02-19 22:46:31 +00:00
Andy Wilkinson 22bac1b54e Polish "Bind StatsD queue gauges"
Closes gh-12124
2018-02-19 21:24:24 +00:00
Jon Schneider 53e872bf4c Bind StatsD queue gauges
See gh-12124
2018-02-19 21:21:58 +00:00
Jon Schneider 9934285bca Remove destroy methods from auto-configured MeterRegistry beans
Closes gh-12121
2018-02-19 17:44:38 +00:00
Andy Wilkinson 73460a5b25 Use auto-configuration to create composite, not a BFPP
Closes gh-12122
2018-02-19 17:41:23 +00:00
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
2018-02-19 16:41:28 +01:00
Stephane Nicoll 202ed7b72b Polish 2018-02-19 16:20:56 +01:00
Stephane Nicoll cd0c81fe39 Restore prefix in ConditionalOnProperty 2018-02-19 15:46:39 +01:00
Andy Wilkinson c3a31fafe2 Remove tangle between actuate.endpoint and actuate.endpoint.invoke
See gh-11854
2018-02-19 13:04:23 +00:00
Stephane Nicoll 6c85ed70e4 Polish "Add SignalFxConfig source property"
Closes gh-12066
2018-02-19 10:53:25 +01:00