Commit Graph

35 Commits

Author SHA1 Message Date
Andy Wilkinson 77eb5f7794 Polish "Add StatsD transport protocol configuration option"
See gh-22125
2020-06-29 09:47:17 +01:00
Lee Dobryden 5d41f60e45 Add StatsD transport protocol configuration option
See gh-22125
2020-06-29 09:47:08 +01:00
Stephane Nicoll 35e069e2cd Polish "Add health indicator for Cassandra that uses the CqlSession"
See gh-20887
2020-06-15 11:13:13 +02:00
Stephane Nicoll 7500f0f22d Add section about Kafka metrics support
Closes gh-21910
2020-06-15 09:18:40 +02:00
Stephane Nicoll 676cd10dbf Fix encoding of @Bean in reference documentation
Closes gh-21908
2020-06-15 08:32:26 +02:00
Phillip Webb 47729be4e3 Polish 'Clarify documentation for probe ports'
See gh-21650
2020-06-08 10:42:01 -07:00
Hui Li e6ade05c2d Clarify documentation for probe ports
Update the reference documentation to provide a better description of
the port that should be used for Kubernetes probes.

See gh-21650
2020-06-08 10:41:41 -07:00
Andy Wilkinson 96ae4864a2 Merge branch '2.2.x' into 2.3.x
Closes gh-21762
2020-06-08 17:42:02 +01:00
Stephane Nicoll 79a5ca2941 Merge branch '2.2.x' into 2.3.x 2020-06-05 16:25:24 +02:00
Brian Clozel 18e0db6326 Document health probes config property in Actuator section
This commit mentions the `management.health.probes.enabled`
configuration property in the Kubernetes Probes section of the Actuator
chapter.

Enabling this property is required if we need to expose Kubernetes
Probes in a non-Kubernetes environment.

Fixes gh-21505
2020-05-22 22:23:41 +02:00
Katada, Junya bc2a83062b Fix duplicate slashes in URL links
See gh-21108
2020-05-05 17:48:49 +02:00
Brian Clozel dfdee3e00e Revert "Add support for Reactor Netty Micrometer metrics"
This commit removes the support for Reactor Netty metrics since it
seems that Spring Boot should not use this feature:

* HTTP metrics are already covered by WebFlux
* TCP metrics are only meant to TCP server/clients
* allocator metrics are already provided by Netty and there is
no specific API to enable them here.

Closes gh-19388
2020-04-27 12:06:26 +02:00
Brian Clozel 956afdcf97 Add support for Reactor Netty Micrometer metrics
This commit enables the production of TCP and buffer allocator metrics
for Reactor Netty, client and server.

When applications use auto-configured server
(`NettyReactiveWebServerFactory`) and client (through
`WebClient.Builder`) instances, metrics will be enabled.

Note that HTTP metrics are not enabled here, since similar metrics are
already produced at the WebFlux level. Also, to avoid cardinality
explosion of metrics (through the URI tag), Reactor Netty offers
configurable infrastructure to deduplicate URI tags by turning expanded
URI instances into templated URIs. This is not targeted for Spring
usage.

Closes gh-19388
2020-04-26 22:10:39 +02:00
Andy Wilkinson d05c973e71 Polish 2020-04-23 11:49:07 +01:00
Stephane Nicoll fe90b2a251 Rename Service Level Agreement to Service Level Objective
This commit harmonizes our integration of Micrometer's Service Level
objectives.

Closes gh-21076
2020-04-23 10:13:17 +02:00
Madhura Bhave d648b98991 Merge branch '2.2.x'
Closes gh-20964
2020-04-14 16:55:40 -07:00
Phillip Webb 28da1da241 Update availability/probe documentation
Update the application availability and probes documentation following
the recent set of updates.

See gh-20962
2020-04-14 16:40:36 -07:00
Stephane Nicoll d571fb311f Add support for NewRelicClientProvider
Closes gh-20908
2020-04-10 11:34:19 +02:00
Andy Wilkinson 2d360ef155 Merge branch '2.2.x'
Closes gh-20897
2020-04-09 12:41:48 +01:00
Stephane Nicoll 888a81beba Migrate Kafka metrics to KafkaClientMetrics
Closes gh-20838
2020-04-06 16:45:56 +02:00
Dave Syer 5022ec500a Extra detail for Kubernetes probes
Provides a few more concrete details about how probes and Kubernetes
behave, so users can make more informed decisions.

See gh-19593
Closes gh-20660
2020-03-24 13:02:54 +01:00
Phillip Webb 0717de723f Polish 2020-03-23 20:03:44 -07:00
Brian Clozel 3cc0ab1583 Polish reference docs on Kubernetes Probes
See gh-19593
2020-03-23 21:23:51 +01:00
Stephane Nicoll 34b71561d3 Merge branch '2.2.x'
Closes gh-20619
2020-03-23 14:22:56 +01:00
Brian Clozel ffdf9a422f Polish Liveness and Readiness support
This commit moves the core Liveness and Readiness support to its own
`availability` package. We've made this a core concept independent of
Kubernetes.

Spring Boot now produces `LivenessStateChanged` and
`ReadinessStateChanged` events as part of the typical application
lifecycle.

Liveness and Readiness Probes (`HealthIndicator` components and health
groups) are still configured only when deployed on Kubernetes.

This commit also improves the documentation around Probes best practices
and container lifecycle considerations.

See gh-19593
2020-03-20 23:54:00 +01:00
Brian Clozel b30e5a60c5 Polish
See gh-19593
2020-03-19 20:07:35 +01:00
Brian Clozel fd0b2f6695 Add Kubernetes Liveness and Readiness Probes support
Prior to this commit and as of Spring Boot 2.2.0, we would advise
developers to use the Actuator health groups to define custom "liveness"
and "readiness" groups and configure them with subsets of existing
health indicators.

This commit addresses several limitations with that approach.

First, `LivenessState` and `ReadinessState` are promoted to first class
concepts in Spring Boot applications. These states should not only based
on periodic health checks. Applications should be able to track changes
(and adapt their behavior) or update states (when an error happens).

The `ApplicationStateProvider` can be injected and used by applications
components to get the current application state. Components can also
track specific `ApplicationEvent` to be notified of changes, like
`ReadinessStateChangedEvent` and `LivenessStateChangedEvent`.
Components can also publish such events with an
`ApplicationEventPublisher`. Spring Boot will track startup event and
application context state to update the liveness and readiness state of
the application. This infrastructure is available in the
main spring-boot module.

If Spring Boot Actuator is on the classpath, additional
`HealthIndicator` will be contributed to the application:
`"LivenessProveHealthIndicator"` and `"ReadinessProbeHealthIndicator"`.
Also, "liveness" and "readiness" Health groups will be defined if
they're not configured already.

Closes gh-19593
2020-03-19 14:11:00 +01:00
Andy Wilkinson 0315724126 Cache endpoint responses on a per-principal basis
Previously, any HTTP request to an endpoint that included a principal
would bypass the cache. This prevented authenticated requests from
making use of the cache and its configurable time-to-live.

This commit updates the caching operation invoker to include the
principal, if any, in its cache key. As a result, requests that
include a principal will make use of the cache, potentially returning
the result of a previous invocation of the same endpoint by the same
principal.

Closes gh-19538
2020-03-13 15:31:41 +00:00
Andy Wilkinson ef9960c69f Allow additional tags to be contributed to WebMvc and WebFlux defaults
Closes gh-20175
2020-03-13 09:38:29 +00:00
Johnny Lim 8526e66939 Polish
See gh-20498
2020-03-11 12:17:58 +01:00
Stephane Nicoll 363edfa00c Merge branch '2.2.x'
Closes gh-20221
2020-02-18 17:38:39 +01:00
Stephane Nicoll b21a41cde1 Merge branch '2.2.x'
Closes gh-20124
2020-02-11 14:27:33 +01:00
dreis2211 b49e01f67a Fix broken documentation links
See gh-19936
2020-01-27 14:14:30 +01:00
dreis2211 991bcf5ce4 Revisit documentation that mentions Gradle "compile" configuration
See gh-19797
2020-01-21 11:09:41 +01:00
Andy Wilkinson ce99db1902 Port the build to Gradle
Closes gh-19609
Closes gh-19608
2020-01-10 14:15:35 +00:00