Commit Graph

2323 Commits

Author SHA1 Message Date
Phillip Webb
31f218c4e0 Merge branch '3.0.x' into 3.1.x 2023-06-22 00:27:51 -07:00
Phillip Webb
9db3c5a2f7 Polish 2023-06-22 00:24:39 -07:00
Moritz Halbritter
f7abf926a9 Merge branch '3.1.x' 2023-06-19 21:04:26 +02:00
Moritz Halbritter
cbbbecce37 Merge branch '3.0.x' into 3.1.x 2023-06-19 21:04:09 +02:00
Moritz Halbritter
975e2d110c Polish CompositePropagationFactory
Remove shaded Guava import
2023-06-19 21:03:05 +02:00
Andy Wilkinson
ca5bd37e81 Upgrade to Spring Framework 6.1.0-M1
Closes gh-35977
Closes gh-35980
2023-06-19 18:12:16 +01:00
Phillip Webb
23eb7ec1f8 Merge branch '3.1.x' 2023-06-16 14:35:44 -07:00
Phillip Webb
5d6a507142 Merge branch '3.0.x' into 3.1.x 2023-06-16 14:35:23 -07:00
Phillip Webb
48e13af8c4 Merge branch '2.7.x' into 3.0.x 2023-06-16 14:34:54 -07:00
Phillip Webb
b8d2c279ee Update copyright year of changed files 2023-06-16 14:32:43 -07:00
Phillip Webb
854b29b8fb Polish 2023-06-16 14:32:14 -07:00
Phillip Webb
13f16da716 Merge branch '3.1.x' 2023-06-16 14:00:12 -07:00
Phillip Webb
baddf4c857 Merge branch '3.0.x' into 3.1.x 2023-06-16 13:54:01 -07:00
Phillip Webb
9b72cc41ab Polish 'Add support for multiple tracing propagation formats'
See gh-35611
2023-06-16 13:43:46 -07:00
Moritz Halbritter
3664df61eb Polish API of SpanExporters and SpanProcessors 2023-06-16 14:54:44 +02:00
Moritz Halbritter
27add2bbe3 Rework @AutoConfigureObservability and tracing auto-configurations
@ConditionalOnEnabledTracing is now applied to the minimal amount of
beans. The beans which are annotated with it are beans that will lead
to span sending to backends.

This leaves the majority of the Micrometer Tracing, Brave and
OpenTelemetry infrastructure untouched in tests.

Closes gh-35354
2023-06-16 14:09:10 +02:00
Moritz Halbritter
c25b084391 Polish 2023-06-16 10:36:33 +02:00
Moritz Halbritter
929283f4dc Support overriding OTel SpanExporters
See gh-35596
2023-06-16 10:24:45 +02:00
Moritz Halbritter
d51559956f Support overriding default OTel SpanProcessor
Also makes it easier to set the MeterProvider used in the default
SpanProcessor.

Closes gh-35560
2023-06-16 09:54:27 +02:00
Moritz Halbritter
6e86f5c444 Register uncategorized ObservationHandlers after categorized ones
Closes gh-34399
2023-06-15 15:01:13 +02:00
Moritz Halbritter
5bad242bfb Merge branch '3.1.x' 2023-06-15 13:50:17 +02:00
Moritz Halbritter
be471c58fe Merge branch '3.0.x' into 3.1.x
Closes gh-35907
2023-06-15 13:49:57 +02:00
Moritz Halbritter
8cd8d21720 Add support for multiple tracing propagation formats
See gh-35611
2023-06-15 13:37:33 +02:00
Moritz Halbritter
efcc65bc5b Apply filter order to ServerHttpObservationFilter
Closes gh-35067
2023-06-15 11:45:05 +02:00
Moritz Halbritter
140c37ceba Enable virtual threads on Jetty
Closes gh-35703
2023-06-15 11:01:11 +02:00
Moritz Halbritter
f81787e65d Enable virtual threads on Tomcat
Closes gh-35704
2023-06-15 08:30:09 +02:00
Andy Wilkinson
0ce2b054d2 Merge branch '3.1.x' 2023-06-14 18:20:07 +01:00
Andy Wilkinson
9b88128e3b Merge branch '3.0.x' into 3.1.x 2023-06-14 18:19:53 +01:00
Andy Wilkinson
4694e20628 Merge branch '2.7.x' into 3.0.x 2023-06-14 18:19:43 +01:00
Andy Wilkinson
7d07c0d09c Polish configuration related to predictive test selection
Most notably, this commit splits the tests that use Spring REST Docs
out into a separate task for which predictive test selection is
disabled. This allows it to be cached and use Gradle's built-in
up-to-date checking, thereby avoiding the generation of new snippets
and the need to then run the asciidoctor and asciidoctorPdf tasks.

It also updates spring-boot-smoke-test-junit-vintage to disable
predictive test selection so that we can continue to assert that
the some tests were executed.

See gh-35869
2023-06-14 18:15:04 +01:00
Moritz Halbritter
c73315b4a3 Add property to prevent observations starting with a prefix
For example, setting management.observations.enable.denied.prefix=false
will prevent all observations starting with 'denied.prefix'

Closes gh-34802
2023-06-13 14:04:33 +02:00
Moritz Halbritter
7b90fbb0b2 Add property to specify the order of ServerHttpObservationFilter
The property is named 'management.observations.http.server.filter.order'

Closes gh-35067
2023-06-13 12:14:58 +02:00
Moritz Halbritter
491e12ab5e Add property to disable Spring Security observations
Setting 'management.observations.spring-security.enabled' installs an
ObservationPredicate, which prevents all observations starting with
'spring.security.' to be created.

Closes gh-34802
2023-06-13 11:18:05 +02:00
Moritz Halbritter
5b06224af5 Add property for common key/values on observations
- Deprecates 'management.metrics.tags.*'

Closes gh-33241
2023-06-13 09:56:42 +02:00
Moritz Halbritter
214f06083b Auto-configure OtlpHttpSpanExporter only if property is set
- Remove the default value of 'management.otlp.tracing.endpoint'

Closes gh-35596
2023-06-13 08:14:22 +02:00
Moritz Halbritter
28a3cee5a2 Merge branch '3.0.x'
Closes gh-35766
2023-06-07 08:57:54 +02:00
Moritz Halbritter
85720a5d90 Merge branch '2.7.x' into 3.0.x
Closes gh-35765
2023-06-07 08:57:38 +02:00
Bernardo Bulgarelli
51afaa79a7 Add @AliasFor annotation to EndpointCloudFoundryExtension
See gh-35716
2023-06-07 08:45:57 +02:00
Moritz Halbritter
d841490f5f Enable ZipkinProperties in ZipkinAutoConfiguration
Closes gh-35592
2023-05-23 09:22:39 +02:00
Stephane Nicoll
9643dbeed2 Merge branch '3.0.x'
Closes gh-35590
2023-05-22 16:31:55 +02:00
Christoph Dreis
b2b5728995 Remove unnecessary exclude from spring-restdocs-mockmvc
See gh-35568
2023-05-22 16:31:22 +02:00
Stephane Nicoll
7a9bb55fdf Merge branch '3.0.x'
Closes gh-35589
2023-05-22 16:24:56 +02:00
Johnny Lim
1b5fc89b43 Polish
See gh-35576
2023-05-22 16:17:05 +02:00
Phillip Webb
0743da4987 Merge branch '3.0.x'
Closes gh-35546
2023-05-17 16:42:38 -07:00
Phillip Webb
4072588c29 Polish "Fix invalid Zipkin Reporter back-off behavior"
See gh-35455
2023-05-17 16:38:03 -07:00
ryosuke-hasebe
903e19854d Fix invalid Zipkin Reporter back-off behavior
Update `ReporterConfiguration` so that `spanReporter` back off
if a `Reporter` bean is defined. Prior to this commit, only
`AsyncReporter` beans would be considered.

See gh-35455
2023-05-17 16:36:19 -07:00
Phillip Webb
08c3cccc92 Merge branch '3.0.x' 2023-05-15 22:20:39 -07:00
Phillip Webb
4e305cc209 Merge branch '2.7.x' into 3.0.x 2023-05-15 22:20:32 -07:00
Phillip Webb
a75cd014fc Merge branch '2.6.x' into 2.7.x 2023-05-15 22:20:23 -07:00
Phillip Webb
95d1cb9884 Merge branch '2.5.x' into 2.6.x 2023-05-15 22:20:11 -07:00
Phillip Webb
8316a96515 Polish 2023-05-15 22:19:06 -07:00
Phillip Webb
25b0a4a67b Merge branch '2.5.x' into 2.6.x
Fixes gh-35438
2023-05-15 22:12:57 -07:00
Andy Wilkinson
086b1e5f58 Stop WebFilterChainPostProcessor from causing eager init
Fixes gh-35437
2023-05-15 22:12:32 -07:00
Phillip Webb
ef1401fcc9 Fix formatting 2023-05-12 14:20:40 -07:00
Phillip Webb
27c8da66f1 Merge branch '2.5.x' into 2.6.x
Closes gh-35412
2023-05-12 13:27:46 -07:00
Madhura Bhave
307f3c3399 Use endpoint mappings in CloudFoundry integration
Closes gh-35411
2023-05-12 13:23:13 -07:00
Phillip Webb
e3ed87d165 Merge branch '3.0.x' 2023-05-12 13:21:52 -07:00
Phillip Webb
92e420a098 Merge branch '2.7.x' into 3.0.x 2023-05-12 13:14:12 -07:00
Johnny Lim
ff9fd1abeb Polish
See gh-35185
2023-05-10 08:31:36 +02:00
Stephane Nicoll
ae0efba523 Merge branch '3.0.x'
See gh-35312
2023-05-05 12:09:03 +02:00
Stephane Nicoll
1b4f9a7e9c Remove GraphQL's tracing observation auto-configuration
This commit removes the auto-configuration for
PropagationWebGraphQlInterceptor as it has been deprecated with no
replacement.

See gh-35303
2023-05-05 12:07:12 +02:00
Stephane Nicoll
66cc9d73b8 Merge branch '3.0.x' 2023-05-05 11:58:30 +02:00
Stephane Nicoll
be29ab389a Merge branch '2.7.x' into 3.0.x 2023-05-05 11:57:51 +02:00
Stephane Nicoll
eeefb2a1de Polish 2023-05-05 11:55:46 +02:00
Marc Leroux
b61834c92d Replace Mockito argument captors with assertArg
See gh-35015
2023-05-05 11:34:55 +02:00
Jonatan Ivanov
5142e8e157
Support Brave's joint spans
Brave has a feature called joint spans that was enabled by default with
Spring Cloud Sleuth (and Boot 2.x). This has changed with
Micrometer Tracing and Boot 3.x. In order to make migration simpler,
joint spans should be set through a property.
This is a Brave+B3-only feature, W3C is not supported by Brave and
OTel does not have this capability.

See gh-35165
2023-05-03 17:22:12 -07:00
Phillip Webb
a890323758 Merge branch '3.0.x' 2023-05-02 14:52:42 -07:00
Andy Wilkinson
b03f1e47d0 Merge branch '3.0.x'
Closes gh-35171
2023-04-26 12:10:34 +01:00
Andy Wilkinson
d6e3db9c36 Merge branch '2.7.x' into 3.0.x
Closes gh-35170
2023-04-26 11:59:19 +01:00
Andy Wilkinson
472afafd4b Stop WebFilterChainPostProcessor from causing eager init
Fixes gh-35163
2023-04-25 22:08:58 +01:00
Scott Frederick
66db13b962 Refactor web server support to use SslBundles
Update Tomcat, Jetty, Undertow and Netty servers so that an SslBundle
is used to apply SSL configuration. Existing `Ssl` properties are
internally adapted to an `SslBundle` using the `WebServerSslBundle`
class. Additionally, if `Ssl.getBundle()` returns a non-null value the
the `SslBundles` bean will be used to find a registered bundle by name.

See gh-34814
2023-04-21 01:02:47 -07:00
Andy Wilkinson
04780650a1 Merge branch '3.0.x'
Closes gh-35087
2023-04-20 08:04:37 +01:00
Andy Wilkinson
32444fed4b Merge branch '2.7.x' into 3.0.x
Closes gh-35086
2023-04-20 08:04:18 +01:00
Madhura Bhave
3522714c13 Use endpoint mappings in CloudFoundry integration
Closes gh-35085
2023-04-20 07:50:44 +01:00
Andy Wilkinson
c55d398f95 Validate health group includes and excludes
Closes gh-34360
2023-04-19 19:51:57 +01:00
Andy Wilkinson
45068c777f Document default value for management.otlp.tracing.compression
See gh-34508
2023-04-19 17:21:14 +01:00
Andy Wilkinson
c543d9172c Polish "Add auto-configuration for OTLP span exporter"
See gh-34508
2023-04-19 15:11:00 +01:00
Jonatan Ivanov
ceaafeca0b Add auto-configuration for OTLP span exporter
With these changes an OTLP HTTP/protobuf exporter is auto-configured
if opentelemetry-exporter-otlp is on the classpath.

See gh-34508
2023-04-19 14:44:56 +01:00
Stephane Nicoll
a323bd90a8 Polish "Reintroduce support for ActiveMQ"
See gh-35048
2023-04-19 13:08:14 +02:00
Martin BENDA
3e9908a797 Reintroduce support for ActiveMQ
See gh-35048
2023-04-19 11:00:40 +02:00
Andy Wilkinson
1ad428129d Polish "Add customizer for SdkTracerProviderBuilder"
See gh-34945
2023-04-18 10:02:17 +01:00
Yanming Zhou
f40e9738b6 Add customizer for SdkTracerProviderBuilder
See gh-34945
2023-04-18 10:01:53 +01:00
Phillip Webb
1849b82334 Don't apply configuration-properties from auto-configuration plugin
Update the auto-configuration gradle plugin so that the
configuration-properties plugin is not longer automatically applied.
This  allows us to have auto-configuration modules that don't ship
configuration properties.

Closes gh-35028
2023-04-17 00:41:25 -07:00
Phillip Webb
00dc942e94 Migrate to Spring Security lambda config
Closes gh-35011
2023-04-14 17:39:48 -07:00
Jonatan Ivanov
9774d8a439
Add aggregation temporality to OtlpProperties
In Micrometer 1.11.0-RC1, a new property was introduced in OtlpConfig
to define aggregation temporality.
See https://github.com/micrometer-metrics/micrometer/pull/3625
2023-04-13 10:10:19 -07:00
Andy Wilkinson
d4980ea993 Always define connection details beans
Closes gh-34776
2023-04-13 18:02:35 +01:00
Phillip Webb
e9a198a68f Merge branch '3.0.x' 2023-04-12 22:16:35 -07:00
Phillip Webb
7fea4c84b4 Update copyright year of changed files 2023-04-12 22:16:07 -07:00
Phillip Webb
8d2f550f8c Merge branch '3.0.x' 2023-04-10 21:14:42 -07:00
Phillip Webb
3ba3558cff Merge branch '2.7.x' into 3.0.x 2023-04-10 21:14:34 -07:00
Phillip Webb
3e9a136143 Polish gradle formatting 2023-04-10 21:14:09 -07:00
Phillip Webb
463701db18 Merge branch '3.0.x' 2023-04-10 16:22:57 -07:00
Phillip Webb
d442bfbeff Polish 2023-04-10 16:22:11 -07:00
Stephane Nicoll
a031bf4d58 Merge branch '3.0.x'
Closes gh-34867
2023-04-05 16:13:42 +02:00
Stephane Nicoll
579364c2ec Polish "Auto-configure observation for Spring-Batch"
See gh-34305
2023-04-05 16:12:49 +02:00
Mark Bonnekessel
5ad29db9c8 Auto-configure observation for Spring-Batch
See gh-34305
2023-04-05 15:53:19 +02:00
Andy Wilkinson
8721c0e64f Add ConnectionDetail support to Zipkin auto-configuration
Update Zipkin auto-configuration so that `ZipkinConnectionDetails`
beans may be optionally used to provide connection details.

See gh-34657

Co-Authored-By: Mortitz Halbritter <mkammerer@vmware.com>
Co-Authored-By: Phillip Webb <pwebb@vmware.com>
2023-03-24 09:25:26 +00:00
Andy Wilkinson
eef4919a33 Start building against Micrometer Tracing 1.1.0-M2 snapshots
See gh-34547

Co-Authored-By: Marcin Grzejszczak <mgrzejszczak@vmware.com>
2023-03-10 15:23:10 +00:00
Moritz Halbritter
0b23ffd73a Merge branch '3.0.x'
Closes gh-34425
2023-03-01 14:14:05 +01:00
Moritz Halbritter
ecbc412c7c Add property 'management.wavefront.trace-derived-custom-tag-keys'
Closes gh-34194
2023-03-01 13:35:17 +01:00
Moritz Halbritter
79a4861c17 Merge branch '3.0.x'
Closes gh-34418
2023-03-01 12:46:58 +01:00
Moritz Halbritter
73ba797c02 Merge branch '2.7.x' into 3.0.x
Closes gh-34417
2023-03-01 12:46:43 +01:00
Johnny Lim
956a579bc9 Polish "Add missing Micrometer PropertiesConfigAdapterTests"
See gh-34319
2023-03-01 12:45:55 +01:00
Tadaya Tsuyukubo
1a6d240234 Add management.wavefront.application.custom-tags property
Add `management.wavefront.application.custom-tags` property which
populates custom tags in `ApplicationTags` created by
`WavefrontAutoConfiguration`.

See gh-34223

Signed-off-by: Tadaya Tsuyukubo <tadaya@ttddyy.net>
2023-03-01 09:28:44 +01:00
Andy Wilkinson
8a9ea2bad8 Merge branch '3.0.x'
Closes gh-34370
2023-02-24 12:27:00 +00:00
Tadaya Tsuyukubo
9854154c31 Specify @Order to the defaultTracingObservationHandler bean definition
See gh-34216

Signed-off-by: Tadaya Tsuyukubo <tadaya@ttddyy.net>
2023-02-24 12:25:59 +00:00
Phillip Webb
157091a811 Merge branch '3.0.x' 2023-02-22 18:36:57 -08:00
Phillip Webb
0b15962aca Merge branch '2.7.x' into 3.0.x 2023-02-22 18:36:16 -08:00
Phillip Webb
b07269a018 Merge branch '3.0.x' 2023-02-21 23:20:07 -08:00
Phillip Webb
c4de86c244 Merge branch '2.7.x' into 3.0.x 2023-02-21 23:17:57 -08:00
Phillip Webb
df5898a146 Reformat code following spring-javaformat upgrade 2023-02-21 22:53:27 -08:00
Andy Wilkinson
1847a9deb6 Upgrade to Spring Framework 6.0.5
Closes gh-34301
2023-02-20 20:29:49 +00:00
Andy Wilkinson
e617d362d5 Merge branch '3.0.x'
Closes gh-34208
2023-02-15 15:26:55 +00:00
Andy Wilkinson
efbeab74ee Merge branch '2.7.x' into 3.0.x
Closes gh-34207
2023-02-15 15:26:38 +00:00
Mirko Sobeck
ff04f009c0 Add missing Micrometer PropertiesConfigAdapterTests
Closes gh-33743
2023-02-15 15:12:02 +00:00
Andy Wilkinson
5cef7632ee Start building against Spring Framework 6.0.5 snapshots
This commit adapts to the changes made for
spring-projects/spring-framework#29885.

Closes gh-34152
2023-02-15 11:39:08 +00:00
Andy Wilkinson
1c9e22c845 Merge branch '3.0.x'
Closes gh-34121
2023-02-08 11:26:33 +00:00
Andy Wilkinson
3551030e3f Add ObservationFilter beans to auto-configured ObservationRegistry
Fixes gh-33968
2023-02-08 11:19:17 +00:00
Moritz Halbritter
23f1c896c9 Merge branch '3.0.x'
Closes gh-34015
2023-01-31 10:20:36 +01:00
Johnny Lim
bc7fc90550 Replace Base64Utils with JDK's Base64
See gh-33967
2023-01-31 10:20:06 +01:00
Marcin Grzejszczak
06aec1a9bf Adds CompositeSpanExporter
Micrometer Tracing comes with 3 generic interfaces, SpanExportingPredicate,
SpanReporter and SpanFilter, thanks to which you can decide whether you
want to export a span, how you want to report it and how to mutate it
regardless of which tracer library you are using.

Without this change usage of these 3 interfaces is not possible
for OpenTelemetry.

With this change we're putting all SpanExporters to the
CompositeSpanExporter and apply the exporters only after predicates,
filtering and reporting took place.

See gh-34002
2023-01-31 10:11:20 +01:00
Eddú Meléndez
92dd004375 Add property headers in OtlpProperties
In Micrometer 1.11, headers property has been introduced.

See gh-34004
2023-01-31 09:37:39 +01:00
Krzysztof Krason
0e68cae57f Use instanceof patterns
See gh-33987
2023-01-26 20:36:25 -08:00
Krzysztof Krason
a9c547e767 Use text blocks
See gh-33987
2023-01-26 20:36:01 -08:00
Krzysztof Krason
6e46423983 Use diamond operators
See gh-33987
2023-01-26 20:35:08 -08:00
Phillip Webb
5120242996 Merge branch '2.7.x' into 3.0.x 2023-01-26 19:41:42 -08:00
Krzysztof Krason
888d4ac392 Use '==' rather than '.equals' with enum value
See gh-33987
2023-01-26 19:33:37 -08:00
Moritz Halbritter
31ca94833a Use parent-based sampler by default
Closes gh-33821
2023-01-19 09:09:10 +01:00
Phillip Webb
71efc55bf9 Merge branch '2.7.x' 2023-01-18 16:31:53 -08:00
Phillip Webb
7c508fa324 Update copyright year of changed files 2023-01-18 15:37:58 -08:00
Moritz Halbritter
94f4a4396c Merge branch '2.7.x'
Closes gh-33880
2023-01-18 17:35:52 +01:00
Moritz Halbritter
e8d809fe65 Replace 'via' with 'over' or 'through' in the documentation
Closes gh-33878
2023-01-18 16:56:42 +01:00
Phillip Webb
fad88232b9 Update copyright year of changed files 2023-01-17 10:12:38 -08:00
Phillip Webb
a889c539ab Merge branch '2.7.x' 2023-01-17 10:12:25 -08:00
Phillip Webb
a0fe8241a7 Update copyright year of changed files 2023-01-17 10:07:03 -08:00
Moritz Halbritter
f08842019e Merge branch '2.7.x'
Closes gh-33841
2023-01-16 11:34:31 +01:00
Moritz Halbritter
96175a8e50 Use OperationParameter consistently
Closes gh-31240
2023-01-16 11:23:21 +01:00
Andy Wilkinson
433364601d Merge branch '2.7.x' 2023-01-11 17:04:33 +00:00
Andy Wilkinson
3b2e5e5292 Remove references to https://repo.spring.io/release 2023-01-11 17:03:45 +00:00
Moritz Halbritter
52760f6b78 Merge branch '2.7.x'
Closes gh-33756
2023-01-11 13:42:11 +01:00
Yongjo Lee
0440e5d1ac Fix duplicate 'the' typo
See gh-33736
2023-01-11 13:39:47 +01:00
Moritz Halbritter
fe1c1edcd4 Change transient to volatile in CompositeHandlerExceptionResolver 2023-01-11 10:52:48 +01:00
Phillip Webb
a2ac38e203 Update copyright year of changed files 2023-01-09 15:46:07 -08:00
Phillip Webb
1621cfd578 Merge branch '2.7.x' 2023-01-09 15:44:44 -08:00
Phillip Webb
6a0a61f1ce Refine EndpointRequest matcher toString and apply to reactive variant
Refine the recently introduced `EndpointRequest` matcher `toString()`
to use lower-case item names. Also applied the same logic to the
reactive variant.

See gh-33690
2023-01-09 14:41:41 -08:00
Moritz Halbritter
3b6b795c9f Merge branch '2.7.x'
Closes gh-33729
2023-01-09 12:39:42 +01:00
rishal
c84399e705 Add toString method for EndpointRequestMatcher
See gh-33690
2023-01-09 12:34:43 +01:00
Krzysztof Krason
cf6493f65c Simplify AssertJ assertions and also make them more readable
See gh-33653
2023-01-09 11:10:20 +01:00
Phillip Webb
f588793445 Update copyright year of changed files 2022-12-22 01:00:42 -08:00
Phillip Webb
0254619782 Merge branch '2.7.x' 2022-12-22 00:59:40 -08:00
Phillip Webb
e4772cf3b7 Update copyright year of changed files 2022-12-22 00:59:32 -08:00
Brian Clozel
28f9f20d39 Declare order for ServerHttpObservationFilter WebFilter
This commit declares an `@Order` for the `ServerHttpObservationFilter`
bean declaration in the Observation WebFlux auto-configuration.

This allows developers to consistently order other `WebFilter` instances
relatively to this one. Here, `@Order(Ordered.HIGHEST_PRECEDENCE + 1)`
has been chosen to align with the order of its MVC counterpart.

Fixes gh-33444
2022-12-19 18:24:36 +01:00
Brian Clozel
3310b59520 Polish 2022-12-19 14:50:47 +01:00
Brian Clozel
593b5311e9 Configure GraphQL web propagation for tracing
As of spring-projects/spring-graphql#547, Spring GraphQL introduced a
`PropagationWebGraphQlInterceptor` that propagates the incoming tracing
information in HTTP request headers into the GraphQL context.

This commit auto-configures the propagation interceptor if the
application exposes a GraphQL HTTP endpoint and if it is configured for
Tracing support.

Fixes gh-33542
2022-12-19 12:13:14 +01:00
Moritz Halbritter
725337f976 Make fields final
Closes gh-33537
2022-12-16 14:28:44 +01:00
Johnny Lim
d21572a189 Resolve TODOs for observability tests
See gh-33481
2022-12-09 13:21:55 +01:00
Brian Clozel
50be8cbf91 Fix IllegalArgumentException in WebClient convention adapter
Prior to this commit, the `ClientObservationConventionAdapter` would
fail with an `IllegalArgumentException` when the observation is first
started: at this point, the carrier (the request builder here) is
present, but the full request not yet fully built.

This commit ensures that the convention adapter uses the request and, if
not available, the request builder to adapt to the
`WebClientExchangeTagsProvider`.

Fixes gh-33483
2022-12-07 13:16:57 +01:00
Johnny Lim
90589fd6d4 Polish
See gh-33384
2022-12-01 11:32:39 +01:00
Moritz Halbritter
cfaade95df Add test to verify ZipkinRestTemplateBuilderCustomizer
See gh-33399
2022-11-29 11:55:27 +01:00
Moritz Halbritter
2ceee789ce Fix bug where ZipkinRestTemplateBuilderCustomizer had no effect
Closes gh-33399
2022-11-29 10:39:19 +01:00
Brian Clozel
07766c436c Apply user-provided ObservationConventions in auto-configurations
Prior to this commit, we would advise developers, as migration path from
Spring Boot 2.0-x metrics, to create `GlobalObservationConvention` beans
for the observations they want to customize (observation name or key
values).

`GlobalObservationConvention` are currently applied **in addition** to
the chosen convention in some cases, so this does not work well with
this migration path.

Instead, instrumentations always provide a default convention but also a
way to configure a custom convention for their observations. Spring Boot
should inject custom convention beans in the relevant
auto-configurations.

Fixes gh-33285
2022-11-22 20:44:05 +01:00
Jonatan Ivanov
2d40d07773 Remove Brave and OTel HTTP support in favor of instrumentation
See gh-33287
2022-11-22 13:22:14 +00:00
Stephane Nicoll
29ee5d2d9a Polish 2022-11-22 10:45:03 +01:00
Phillip Webb
12b4578e98 Further refine WavefrontProperties
See gh-33244
2022-11-21 11:43:10 -08:00
Phillip Webb
c93e248c46 Refine WavefrontProperties
Remove naming properties under `management.wavefront.application`.

Closes gh-33244
2022-11-18 16:36:37 -08:00
Andy Wilkinson
e63fcebcf4 Merge branch '2.7.x'
Closes gh-33256
2022-11-18 13:04:08 +00:00
Andy Wilkinson
c483e662a9 Merge branch '2.6.x' into 2.7.x
Closes gh-33255
2022-11-18 13:03:50 +00:00
Andy Wilkinson
fc9c036c88 Create git commit time with epoch seconds rather than milliseconds
Closes gh-33237
2022-11-18 13:03:05 +00:00
Phillip Webb
fb5cdbd11c Create ApplicationTags in common WavefrontAutoConfiguration
Relocate `ApplicationTags` `@Bean` method from
`WavefrontTracingAutoConfiguration` to `WavefrontAutoConfiguration`
since it is now shared between tracing and metrics.

The `application-name`, `service-name`, `cluster-name` and `shard-name`
have also been relocated from `management.wavefront.tracing` to
`management.wavefront`.

Fixes gh-33244
2022-11-17 20:16:38 -08:00
Andy Wilkinson
cd455a9f6f Restore previous serialization formatting in Actuator responses
Fixes gh-33236
2022-11-17 11:31:27 +00:00
Phillip Webb
a0f39d66fe Polish 'Align Wavefront application tags support with Spring Boot 2.x'
See gh-32844
2022-11-16 17:10:19 -08:00
Glenn Oppegard
42bb4c0615 Align Wavefront application tags support with Spring Boot 2.x
Update `application-name` and `service-name` `management.wavefront`
properties to align with Spring Boot 2.x support. The properties now
use the wavefront terminology where `application` refers to an a
collection of (micro)`services`.

This commit also adds `cluster-name` and `shard-name` properties that
can be used to add additional items to the `ApplicationTags`.

See gh-32844
2022-11-16 16:49:51 -08:00
Johnny Lim
6027508cf7 Polish
See gh-33108
2022-11-16 10:00:36 +01:00
Phillip Webb
0754665973 Merge branch '2.7.x'
Closes gh-33169
2022-11-14 15:08:55 -08:00
Phillip Webb
733638cf89 Merge branch '2.6.x' into 2.7.x
Closes gh-33168
2022-11-14 15:07:48 -08:00
Phillip Webb
2a989b31aa Create Environment and apply ConversionService to management contexts
Update `ManagementContextFactory` implementations to create an
appropriate `Environment` type and to apply the `ConversionService`
from the parent context.

Prior to this commit, the management context `Environment` would not
be able to convert values from a `configtree:` source due to a missing
converter.

Fixes gh-32941
2022-11-14 15:06:30 -08:00
Brian Clozel
932f7d705f Start building against Spring Framework 6.0.0 SNAPSHOTs
See gh-33136
2022-11-14 16:40:30 +01:00
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 2d75a8a9eb.
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
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
2022-10-19 19:33:31 +02:00
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
2022-10-17 22:46:06 +02:00
Andy Wilkinson
4700a00d94 Auto-configure CompositeSpanHandler with Brave
Closes gh-32753
2022-10-17 13:58:48 +01:00
Andy Wilkinson
d593d194de Polish "Add auto-configuration for Exemplars"
See gh-32415
2022-10-13 13:23:48 +01:00
Jonatan Ivanov
c5b2bc3dc7 Add auto-configuration for Exemplars
See gh-32415
2022-10-13 12:54:06 +01:00
Andy Wilkinson
81ee173877 Polish
See gh-32399
2022-10-13 12:51:25 +01:00
Andy Wilkinson
1af21fe33f Polish "Use TracingAwareMeterObservationHandler if tracing is configured"
See gh-32399
2022-10-13 12:09:43 +01:00
Jonatan Ivanov
415b9025c8 Use TracingAwareMeterObservationHandler if tracing is configured
See gh-32399
2022-10-13 12:09:43 +01:00
Bertolt Meier
647a2905c8 Add checkstyle rule for List.of() / Set.of() / Map.of()
This commits adds a checkstyle rule to not use List.of(), Set.of()
and Map.of(), preferring Collections.emptyList(), emptySet(), and
emptyMap() respectively.

It replaces usages of these methods across the codebase.

See gh-32655
2022-10-12 18:15:48 +01:00
Johnny Lim
1032f8cc94 Polish Micrometer tracing changes
See gh-32627
2022-10-12 18:05:41 +01:00
Andy Wilkinson
e4544c1785 Use new constructor to configure W3CPropagation without baggage
Closes gh-32524
2022-10-12 17:19:45 +01:00
Andy Wilkinson
180d0edbca Decouple AutoTimeProperties from Micrometer Core
Closes gh-32676
2022-10-12 14:40:42 +01:00
Andy Wilkinson
7e9e64a2ea Revert "Merge pull request #32399 from jonatan-ivanov"
This reverts commit ad40ef3398, reversing
changes made to 6eb32647f5.
2022-10-12 14:36:08 +01:00
Jonatan Ivanov
a0ceb2c3ff Use TracingAwareMeterObservationHandler if tracing is configured
See gh-32399
2022-10-12 13:57:39 +01:00
Jonatan Ivanov
fff4aaaac1 Fix Observation lifecycle issues in ObservationAutoConfigurationTests
See gh-32662
2022-10-12 13:31:21 +01:00
Andy Wilkinson
403803837a Adapt to changes in REST Docs for documenting query parameters
See gh-32623
2022-10-12 11:30:57 +01:00
Andy Wilkinson
4dfd770406 Ensure that metrics and observation properties are enabled
Closes gh-32676
2022-10-11 20:30:40 +01:00
Johnny Lim
73fd760137 Polish HTTP client observability changes
See gh-32484
See gh-32518

Closes gh-32636
2022-10-07 19:05:14 +02:00
Marcin Grzejszczak
dfd148fb76 Make auto-configured Brave Tracer more compliant with OTel tracer
By default we will not support joined spans and the trace ID will
be 128-bit.

See gh-32615
2022-10-07 11:14:46 +01:00
Brian Clozel
3e6ad67f16 Switch to Micrometer 1.10.0-SNAPSHOT
See gh-32598
2022-10-06 15:18:32 +02:00
Stephane Nicoll
d106fc266a Revert "Adapt to deprecations in Spring Framework snapshots"
This reverts commit ff6acbe972.
2022-10-06 07:09:51 +02:00
Stephane Nicoll
ff6acbe972 Adapt to deprecations in Spring Framework snapshots 2022-10-05 15:55:33 +02:00
Andy Wilkinson
7c4e46e538 Allow thread dump endpoint to call ThreadMXBean in a native image
Closes gh-31680
2022-10-04 17:09:22 +01:00