Commit Graph

1052 Commits (417113f196900a12f13e2f719f781c599e4c0130)

Author SHA1 Message Date
Brian Clozel 685fa900f8 Auto-configure Observation instrumentation for WebFlux
Prior to this commit, Spring Boot would offer a specific Metrics
instrumentation for WebFlux applications through a `WebFilter` and
custom Tag providers.

As of Spring Framework 6.0, the Observation instrumentation is done
directly in WebFlux, also with a `WebFilter`. While this allows both
metrics and traces, some features cannot be supported in the same way
with this new infrastructure.
The former `WebFilter` has been removed and the Tagging infrastructure
deprecated in favor of custom Observation conventions. This commit
provides an adapter layer so that developers can refactor their custom
tagging solution to the convention way, during the deprecation phase,
without losing any feature.

Closes gh-32539
2 years ago
Brian Clozel 9948fc3e39 Use GraphQL Observation instrumentation
This commit migrates the existing metrics support (added in #29140) to
the new `Observation` instrumentation contributed in
spring-projects/spring-graphql#501.

We cannot have a smoother migration path here as the instrumentation
does not use the same context information for metadata extraction.

Closes gh-32794
2 years ago
Madhura Bhave ce3c933f77 Adapt to Spring Security changes
Closes gh-32604
2 years ago
Brian Clozel b2fe807d47 Move MVC metrics to Observation auto-configuration
This commit moves the entire Metrics auto-configuration for Spring MVC
to the new `Observation` API and the instrumentation contributed in
Spring Framework.

Closes gh-32538
2 years ago
Phillip Webb 07dd388b58 Merge branch '2.7.x'
Closes gh-32776
2 years ago
Phillip Webb 8dec296dfd Merge branch '2.6.x' into 2.7.x
Closes gh-32775
2 years ago
Guirong Hu 3b25132e38 Add DataSize serializer for configprops endpoint
See gh-32645
2 years ago
Phillip Webb e3df6c5b6f Move @ConstructorBinding annotation and support add default support
Relocate `@ConstructorBinding` from the `boot.context.properties`
package to `boot.context.properties.bind` and update the
`DefaultBindConstructorProvider` to support it.

Closes gh-32660
2 years ago
Brian Clozel cbca457eff Adapt to HTTP Observation changes in Framework
This commit adapts to the renames/package changes in the HTTP
Observation support in Spring Framework.

See spring-projects/spring-framework#29334
2 years ago
Andy Wilkinson 7852c45a77 Generate reflection hints for loggers endpoint's responses
Some of the types that are returned are hidden behind a
Map<String, Object> so the operation annotations already been marked
as reflective isn't sufficient.

This commit uses `@RegisterReflectionForBinding` to register the
types that are used as (nested) values in the response maps.

Closes gh-32486
2 years ago
Johnny Lim 73fd760137 Polish HTTP client observability changes
See gh-32484
See gh-32518

Closes gh-32636
2 years ago
Brian Clozel d25fc73dae Upgrade to Neo4J Java Driver 5.0.0
Closes gh-32620
2 years ago
Andy Wilkinson 7c4e46e538 Allow thread dump endpoint to call ThreadMXBean in a native image
Closes gh-31680
2 years ago
Phillip Webb e0b67889a8 Use Stream.toList instead of Stream.collect when possible
Update code to make use of `Stream.toList()` whenever possible.

Closes gh-28177
2 years ago
Andy Wilkinson 51df7813a5 Remove code deprecated in 2.x and add since and forRemoval attributes
Closes gh-32548
Closes gh-32549
2 years ago
Brian Clozel 5b092f5d80 Polish
See gh-32518
2 years ago
Brian Clozel ceb1e5d223 Polish
See gh-32518
2 years ago
Brian Clozel 8b4a20d6cd Use Observation infrastructure for instrumenting WebClient
As of spring-projects/spring-framework#28341, `WebClient` is
instrumented directly for `Observation`.
This commit removes the custom `ExchangeFilterFunction` that previously
instrumented the client for metrics.

As a result, the relevant tag providers are now deprecated and adapted
as `ObservationConvention` for the time being.

Closes gh-32518
2 years ago
Brian Clozel eac50a8f0c Auto-configure Observation support for RestTemplate
Prior to this commit, Spring Boot would auto-configure a customizer that
instruments `RestTemplate` through a `RestTemplateBuilder`. This would
install a request interceptor that instrumented client exchanges for
producing metrics.

As of spring-projects/spring-framework#28341, the instrumentation is
done at the `RestTemplate` level directly using the `Observation` API.
The `Tag` (now `KeyValue`) extraction, observation name and
instrumentation behavior now lives in the Spring Framework project.

This commit updates the auto-configuration to switch from Boot-specific
Metrics instrumentation to a generic Observation instrumentation.
As a migration path, some configuration properties are deprecated in
favor of the new `management.observations.*` namespace.

Closes gh-32484
2 years ago
Stephane Nicoll bac1bfcd1c Merge branch '2.7.x'
Closes gh-32514
2 years ago
Stephane Nicoll eb4b0a3f3c Merge branch '2.6.x' into 2.7.x
Closes gh-32513
2 years ago
Stephane Nicoll 8f598f876b Polish "Use non-blocking API in CouchbaseReactiveHealthIndicator"
See gh-32505
2 years ago
Mico Piira f51c4c3df0 Use non-blocking API in CouchbaseReactiveHealthIndicator
See gh-32505
2 years ago
Andy Wilkinson 5cb68eab1e Remove HotSpot specifics from HeapDumper strategy interface
Closes gh-27533
2 years ago
Madhura Bhave b44a7e242c Support Mongo's Stable API in MongoHealthIndicator
Closes gh-30849
2 years ago
Andy Wilkinson aafceb3868 Merge branch '2.7.x'
Closes gh-32285
2 years ago
Andy Wilkinson f17df7bf30 Merge branch '2.6.x' into 2.7.x
Closes gh-32284
2 years ago
Andy Wilkinson 23c2f73b3f Update tests to allow them to run on Java 19
Closes gh-32280
2 years ago
Phillip Webb 46be4a3f30 Merge branch '2.7.x' 2 years ago
Johnny Lim 2273191c03 Polish
See gh-32215
2 years ago
Andy Wilkinson 25e6c533d9 Polish "Add path to DiskSpaceHealthIndicator's details and log message"
See gh-31998
2 years ago
rreich 36f9230f01 Add path to DiskSpaceHealthIndicator's details and log message
See gh-31998
2 years ago
Madhura Bhave 47effdcade Support role-based sanitization for actuator endpoints
Closes gh-32156
2 years ago
Andy Wilkinson ba93e6c0ed Restore support for Jersey
Closes gh-28637
2 years ago
Madhura Bhave 0991bd3983 Harmonize data configuration
Any classes that rely on Spring Data being on the classpath
have been moved under a data package.

Certain configuration properties have also been updated to
accurately reflect whether Spring Data is required for the
auto-configuration to work.

Closes gh-11574
2 years ago
Johnny Lim 6a4681baf5 Polish
See gh-31948
2 years ago
Brian Clozel 38f1bc9793 Reinstate Spring for GraphQL auto-configuration
This commit adds the Spring for GraphQL auto-configuration back
into Spring Boot 3.0, now that a 1.1.0 release is scheduled with the
required baseline. This release also needs GraphQL Java 19.0 as a
baseline.

Closes gh-31809
2 years ago
Phillip Webb e08c16dfd6 Polish 2 years ago
Stephane Nicoll c413f9adbe Merge branch '2.7.x'
Closes gh-31884
2 years ago
Stephane Nicoll 53a652ec65 Merge branch '2.6.x' into 2.7.x
Closes gh-31883
2 years ago
Stephane Nicoll 9cb614c626 Migrate Hazelcast 3 sanity tests to Hazelcast 4
Closes gh-31881
2 years ago
Adrian Bob aad9c8906a Disable auto-detection in tests that start Hazelcast
This commit updates test configurations to disable auto-detection of
Hazelcast instances.

See gh-31863
2 years ago
Stephane Nicoll 782e3f75b6 Polish Hazelcast configuration
This commit updates the XSD to 4.2 and removes the "tcp-ip" network
option as it is disabled by default.

See gh-31863
2 years ago
Phillip Webb 94ca5b5b53 Merge branch '2.7.x'
Closes gh-31880
2 years ago
Phillip Webb bfc703a40d Merge branch '2.6.x' into 2.7.x
Closes gh-31879
2 years ago
Phillip Webb 59c9a9cd8a Polish "Call the value adapter during NamedContributorsMapAdapter construction"
See gh-31676
2 years ago
Guirong Hu c530f12cc3 Call the value adapter during NamedContributorsMapAdapter construction
Update `NamedContributorsMapAdapter` so that the adapter function is
called only once per entry. Prior to this commit, the adapter was called
dynamically which made `CompositeHealthContributor` behave differently
from a regular `HealthContributor`.

See gh-31676
2 years ago
Phillip Webb 7377d85096 Merge branch '2.7.x'
Closes gh-31866
2 years ago
Phillip Webb a4ef6a7c5c Merge branch '2.6.x' into 2.7.x
Closes gh-31865
2 years ago
Marc Wrobel dbfc6bded4 Fix typos in code and documentation
See gh-31734
2 years ago
Vedran Pavic f1bf80f5e1 Upgrade to Flyway 9.0.1
See gh-31723
2 years ago
Andy Wilkinson 1acc7857e6 Merge branch '2.7.x'
Closes gh-31807
2 years ago
Andy Wilkinson 84efc89d76 Merge branch '2.6.x' into 2.7.x
Closes gh-31806
2 years ago
Andy Wilkinson bcbe072d96 Fix 500 from mappings endpoint with attributed WebFlux router function
Closes gh-31784
2 years ago
Andy Wilkinson 5c057a2730 Auto-configure the new Elasticsearch clients
This commit introduces auto-configuration for the new Elasticsearch
clients that are based upon their new Java client. The new Java
client builds on top of their existing low-level REST client,
replacing the high-level REST client which has been deprecated.
As part of introducing support for the new Elasticsearch client,
the auto-configuration for the templates (both imperative and
reactive) provided by Spring Data has also been updated to use the
new templates that build upon the new Java client.

As part of these changes, support for the high-level REST client and
the old Spring Data Elasticsearch templates has been removed. One
significant change is that the new reactive template is no longer
based on WebClient. As a result, the WebClient-specific configuration
property has been removed.

Closes gh-30647
Closes gh-28597
Closes gh-31755
2 years ago
Moritz Halbritter 0291388f2a Polish 2 years ago
Moritz Halbritter 13c920b2a9 Add AOT support for ReactiveHealthEndpointWebExtension
See gh-31530
2 years ago
Stephane Nicoll 51cba6ec72 Polish "Add AOT support for actuator"
See gh-31671
2 years ago
Moritz Halbritter 584b7d1343 Add AOT support for actuator
Mainly adds reflection hints for the actuator infrastructure.
Also adds the OperationReflectiveProcessor, which registers the
@ReadMethod, @DeleteMethod and @WriteMethod annotated methods for
reflection and adds reflection hints for method return types.

See gh-31671
2 years ago
Madhura Bhave 7c56a45d3e Drop support for String path matching for MVC endpoints
Closes gh-31700
2 years ago
Andy Wilkinson efc5391496 Adapt to deprecations in Framework's scheduling APIs
See gh-31241
2 years ago
Andy Wilkinson 7f00378eaf Polish "Start building against Spring Data 2022.0.0-M5 snapshots"
See gh-31582
2 years ago
Andy Wilkinson e9136e023b Adapt to trailing slashes no longer being matched by default
See gh-31563
2 years ago
dreis2211 5db04da275 Use pattern matching for instanceof where appropriate
See gh-31475
2 years ago
Phillip Webb 85dcbf6100 Merge branch '2.7.x'
Closes gh-31385
2 years ago
Phillip Webb e0947459b6 Merge branch '2.6.x' into 2.7.x
Closes gh-31384
2 years ago
Phillip Webb 9f8a262e6b Log a warning when a health indicator takes too long to run
Update `HealthEndpointSupport` so that it logs a warning if a health
indicator takes too long to respond.

Fixes gh-31231
2 years ago
Stephane Nicoll b0f5fb51fc Adapt to deprecation of NestedServletException 2 years ago
Andy Wilkinson bf56665718 Polish "Add PUT shutdown operation for Prometheus Push Gateway"
See gh-31104
3 years ago
Mattia Cansirro Cortorillo 0f99c43198 Add PUT shutdown operation for Prometheus Push Gateway
See gh-31104
3 years ago
Andy Wilkinson 4bb5ba2bd0 Merge branch '2.7.x' 3 years ago
Andy Wilkinson 935d1264e0 Merge branch '2.6.x' into 2.7.x 3 years ago
Andy Wilkinson 3d203d0215 Polish 3 years ago
Andy Wilkinson 5dfa5adb75 Merge branch '2.7.x'
Closes gh-31178
3 years ago
Andy Wilkinson 455ee0ce22 Merge branch '2.6.x' into 2.7.x
Closes gh-31177
3 years ago
Andy Wilkinson ee45fd2fc8 Remove redundant throws declarations from internal APIs
Closes gh-31176
3 years ago
Andy Wilkinson 96c2d08fc4 Remove support for Solr as it is not compatible with Jetty 11
Closes gh-31054
3 years ago
Scott Frederick 8a1c8b5c2c Fix deprecation warning
See gh-30978
3 years ago
Scott Frederick 8e38e28e94 Merge branch '2.7.x' 3 years ago
Scott Frederick 03deb1d067 Merge branch '2.6.x' into 2.7.x
Closes gh-31089
3 years ago
Scott Frederick f395cfa255 Merge branch '2.5.x' into 2.6.x
Closes gh-31088
3 years ago
Scott Frederick 50e27333d2 Tolerate failures when recording WebClient metrics
Fixes gh-30978
3 years ago
Andy Wilkinson 3892b56a32 Adapt to breaking changes in Couchbase Driver 3.3
See gh-31031
3 years ago
Andy Wilkinson 69a88b1938 fixup! Upgrade to Couchbase Client 3.3.0 3 years ago
Andy Wilkinson 4a030343d3 Merge branch '2.7.x' 3 years ago
Andy Wilkinson c61cd7761e Merge branch '2.6.x' into 2.7.x
Closes gh-30883
3 years ago
Andy Wilkinson 5258cd2814 Merge branch '2.5.x' into 2.6.x
Closes gh-30882
3 years ago
Andy Wilkinson 0e7c3547dd Prohibit usage of Micrometer nullability annotations
Closes gh-30881
3 years ago
Andy Wilkinson 541ab69aff Merge branch '2.7.x' 3 years ago
Andy Wilkinson 4cd850cfc0 Merge branch '2.6.x' into 2.7.x
Closes gh-30851
3 years ago
Andy Wilkinson fa327a783d Merge branch '2.5.x' into 2.6.x
Closes gh-30850
3 years ago
Andy Wilkinson 4fd2e0c916 Polish "Fix typos"
See gh-30773
3 years ago
Andy Wilkinson f6d24dc1a8 Fix typos
See gh-30773
3 years ago
Phillip Webb 7a6ca8ce25 Merge branch '2.7.x' 3 years ago
Phillip Webb dd5696b59b Update copyright year of changed files 3 years ago
Andy Wilkinson fe46392144 Merge branch '2.7.x' 3 years ago
Andy Wilkinson 27a936e466 Fix Elastic health indicator without RestHighLevelClient
Closes gh-28496
3 years ago
Brian Clozel 77b7f2f1ce Switch to Spring Framework SNAPSHOTs
See gh-30624
3 years ago
Andy Wilkinson 44211564a4 Adapt to latest changes in Micrometer 2.0 snapshots
See gh-29666
3 years ago
Andy Wilkinson 6580f6c742 Align with latest changes in Micrometer 1.9 snapshots
See gh-30605
3 years ago