1946 Commits

Author SHA1 Message Date
Andy Wilkinson
fe72f307f4 Avoid actuator beans being ineligible for post-processing
Closes gh-33110
2022-11-11 16:39:57 +00:00
Andy Wilkinson
b5e502d03b Make class package-private as it's returned from package-private method
Returning a private class from a package-private method causes the
AOT-generated source files to fail to compile as the private class is
not visible.

Closes gh-33106
2022-11-11 15:47:09 +00:00
Madhura Bhave
8cb615e9b6 Remove workarounds for SecurityContextRepository 2022-11-10 14:23:17 -08:00
Andy Wilkinson
5f6b63e277 Auto-configure span customizer beans
Closes gh-33087
2022-11-10 12:15:22 +00:00
Phillip Webb
e5a0b164ac Configure MeterBinders after beans have been created
Update `MeterRegistryPostProcessor` to configure `MeterRegistry` beans
in two distinct sweeps. The first sweep applies customizers and filters
as the `MeterRegistry` bean is initialized, the second sweep applies
`MeterBinder` beans once all singletons have been instantiated.

Prior to this commit, it was not possible for a `MeterBinder` bean to
directly or indirectly use a `MeterRegistry`. It was also possible for
bound meters to cause a deadlock during refresh processing if those
meters could be updated on a thread other than main, such as GC
notifications.

Fixes gh-30636
Fixes gh-33070
2022-11-10 11:39:12 +00:00
Andy Wilkinson
e60084112e Avoid NPE when TraceContext has deferred sampling
Closes gh-33093
2022-11-10 11:22:42 +00:00
Andy Wilkinson
6e4bece912 Make auto-configured OtelTracer back off when user defines a Tracer
Closes gh-33097
2022-11-10 11:20:39 +00:00
Andy Wilkinson
d91e16a6c5 Make auto-configured BraveTracer back off when user defines a Tracer
Closes gh-33095
2022-11-10 11:20:38 +00:00
Phillip Webb
3d2071d044 Migrate endpoints to return OperationResponseBody types
Update types returned from endpoints to implement the
`OperationResponseBody` interface. This ensures that they will be
serialized using the isolated actuator `ObjectMapper`.

See gh-20291
2022-11-09 22:17:16 -08:00
Phillip Webb
1f8493fb29 Support isolated actuator ObjectMapper
Add `OperationResponseBody` tagging interface that can be used
to trigger the use of an isolated ObjectMapper specifically for
actuator responses.

The isolated mapper is provided by an `EndpointObjectMapper`
bean which is auto-configured unless specifically disabled
by the user.

WebMVC, WebFlux and Jersey integrations have been updated
to provide a link between the `OperationResponseBody` type
and the endpoint `ObjectMapper`.

See gh-20291
2022-11-09 22:17:13 -08:00
Phillip Webb
72cbb8a5d8 Polish 2022-11-09 21:56:49 -08:00
Phillip Webb
79ff11cb2b Rename and relocate ExemplarsAutoConfiguration
Rename `ExemplarsAutoConfiguration` and relocate it to a diffent
package to make it clear that it is for Prometheus.
2022-11-09 18:03:09 -08:00
Scott Frederick
a53141f8a4 Fix JMX exposure default in config metadata and docs
Fixes gh-33072
2022-11-09 14:56:44 -06:00
Phillip Webb
883e97b166 Merge branch '2.7.x' 2022-11-09 11:40:56 -08:00
Phillip Webb
ea10a64a0c Merge branch '2.6.x' into 2.7.x 2022-11-09 11:39:53 -08:00
Phillip Webb
f423a26dd5 Polish 2022-11-09 11:39:48 -08:00
Phillip Webb
1adc7c7dd4 Merge branch '2.7.x' 2022-11-09 11:32:24 -08:00
Phillip Webb
0ef03d725f Merge branch '2.6.x' into 2.7.x 2022-11-09 11:31:55 -08:00
Phillip Webb
a431ae04e6 Polish 2022-11-09 11:30:11 -08:00
Phillip Webb
32b9945632 Polish 2022-11-08 23:15:30 -08:00
Andy Wilkinson
3a2703e8f6 Upgrade to Jakarta Mail 2.1 and switch to Eclipse Angus RI
Closes gh-33059
Closes gh-33050
2022-11-08 11:01:15 +00:00
Andy Wilkinson
b67c427259 Upgrade to Servlet 6.0 and related EE 10 specs
Co-authored-by: Phillip Webb <pwebb@vmware.com>

Closes gh-33036
Closes gh-33037
Closes gh-33038
Closes gh-33039
Closes gh-33040
Closes gh-33041
Closes gh-33042
Closes gh-33043
2022-11-07 17:33:38 +00:00
Phillip Webb
179aa987ee Unify actuator descriptor class names
Update actuator endpoints to consistently use `...Descriptor` for
JSON support classes.

Closes gh-33022
2022-11-05 20:15:35 -07:00
Phillip Webb
34b4ae8e05 Merge branch '2.7.x'
Closes gh-33019
2022-11-05 16:36:55 -07:00
Andy Wilkinson
604aa4d512 Align auto-configured Lettuce metrics with Lettuce's defaults
Closes gh-32986
2022-11-03 10:49:24 +00:00
Andy Wilkinson
8e08931411 Merge branch '2.7.x'
Closes gh-32990
2022-11-03 10:44:46 +00:00
Andy Wilkinson
394ae76b04 Merge branch '2.6.x' into 2.7.x
Closes gh-32989
2022-11-03 10:44:21 +00:00
Andy Wilkinson
fcd3413ba0 Allow histograms to be disabled for Lettuce metrics
Closes gh-32985
2022-11-03 10:34:41 +00:00
Andy Wilkinson
beea06f515 Polish "Handle custom observation name for HTTP reqs in max URI tag filters"
See gh-32973
2022-11-02 20:10:16 +00:00
Johnny Lim
89fe895cd6 Handle custom observation name for HTTP reqs in max URI tag filters
See gh-32973
2022-11-02 20:09:12 +00:00
Brian Clozel
0acaa0e460 Adapt to observation changes in Framework
See spring-projects/spring-framework#29388
2022-11-02 18:39:10 +01:00
Moritz Halbritter
05c5b1225c Replace Tag to KeyValues adapter code
Closes gh-32876
2022-11-02 16:25:37 +01:00
Moritz Halbritter
7aff82009f Revert "Register no-op tracer bean if tracing is disabled"
This reverts commit 2d75a8a9ebedf72313741b8590d18a8cb71c1b38.
2022-11-02 15:45:39 +01:00
Moritz Halbritter
2d75a8a9eb Register no-op tracer bean if tracing is disabled
Closes gh-32907
2022-11-02 08:48:25 +01:00
Andy Wilkinson
11cff48271 Start building against Micrometer Tracing 1.0.0 snapshots
See gh-32937
2022-11-01 11:48:32 +00:00
Phillip Webb
2b5a29d514 No longer log hostname during application start
Remove hostname logging since `InetAddress.getLocalHost().getHostName()`
causes a network lookup and can take a long time.

Closes gh-32908
2022-10-31 13:46:47 -07:00
Phillip Webb
9856286a2d Refine actuator httpexhanges naming
See gh-32885
2022-10-28 12:50:59 -07:00
Andy Wilkinson
29f7a596fe Polish 2022-10-28 08:57:00 +01:00
Phillip Webb
3e50836b1a Rename httptrace endpoint and related classes to httpexchanges
Rename `/actuator/httptrace` to `/actuator/httpexchanges` to better
describe its purpose and to remove confusion with distribute tracing.

This change also takes the opportunity to improve the code by making
the `HttpExchange` class (previously `HttpTrace`) fully immutable.

Closes gh-32885

Co-authored-by: Andy Wilkinson <wilkinsona@vmware.com>
2022-10-27 16:34:42 -07:00
Johnny Lim
8d17d2d443 Handle null span in LazyTracingSpanContextSupplier consistently
See gh-32817
2022-10-27 18:02:47 +01:00
Johnny Lim
5067aab552 Polish
See gh-32840
2022-10-27 16:33:14 +02:00
Marcin Grzejszczak
b753170807 Add missing BaggageTextMapPropagator for OTel W3C
Without this change we're missing the BaggageTextMapPropagator for
OTel. This means that we're not propagating remote-fields
(only baggage via the 'baggage' field).

With this change we're adding the missing propagator as
THE LAST entry in the composite TextMapPropagator. It has to be
last cause with the latest Snapshots of Micrometer Tracing it
will append the remote field baggage to existing baggage in the
context extracted via the W3CBaggagePropagator.

See gh-32898
2022-10-27 09:33:33 +02:00
Phillip Webb
a59b6cb1f3 Polish 2022-10-25 21:56:53 -07:00
Phillip Webb
4be3218cb6 Merge branch '2.7.x' 2022-10-25 15:48:26 -07:00
Andy Wilkinson
99edda735e Polish 2022-10-25 12:57:58 +01:00
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
2022-10-20 15:29:31 +02:00
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
2022-10-19 22:06:40 +02:00
Madhura Bhave
ce3c933f77 Adapt to Spring Security changes
Closes gh-32604
2022-10-19 11:46:27 -07:00
Phillip Webb
2e74878ba4 Downgrade to OpenSAML 4.0.1
See gh-32604
2022-10-19 11:46:27 -07:00
Brian Clozel
e5c12c2b56 Move HTTP client observation auto-configuration
This commit moves the observation auto-configuration from the metrics
package to the observation package for consistency.

See gh-32484
See gh-32518
2022-10-19 19:59:25 +02:00