Commit Graph

2572 Commits

Author SHA1 Message Date
Moritz Halbritter f613ab89b9 Auto-configure observations for RestClients
Closes gh-38500
2023-11-23 09:28:09 +01:00
Andy Wilkinson 9c68a2ab87 Integrate child management context with parent context's lifecycle
Previously, the child management context was created when the
parent context's web server was initialized and it wasn't stopped
or closed until the parent context was closed. This resulted in
the child context being left running when the parent context was
stopped. This would then cause a failure when the parent context
was started again as another web server initialized event would be
received and a second child management context would be started.

This commit updates the initialization of the child management
context to integrate it with the lifecycle of the parent context.
The management context is now created the first time the parent
context is started. It is stopped when the parent context is
stopped and restarted if the parent context is started again.
This lifecycle management is done using a phase that ensures
that the child context is not started until the parent context's
web server has been started.

Fixes gh-38502
2023-11-22 19:50:22 +00:00
Johnny Lim 175b6473c7 Polish
See gh-38389
2023-11-22 10:16:19 +01:00
Phillip Webb 59493e8306 Fix failing tests following version upgrades 2023-11-20 21:03:17 -08:00
Moritz Halbritter d8ce901011 Close meter registries early in the shutdown process
Closes gh-38240
2023-11-16 09:26:02 +01:00
Andy Wilkinson 517026ab9f Merge branch '3.1.x'
Closes gh-38366
2023-11-15 16:00:20 +00:00
Andy Wilkinson 37b2567aeb Merge branch '3.0.x' into 3.1.x
Closes gh-38365
2023-11-15 16:00:05 +00:00
Andy Wilkinson ff555c5ceb Merge branch '2.7.x' into 3.0.x
Closes gh-38364
2023-11-15 15:57:39 +00:00
Andy Wilkinson c2156d6803 Remove static state from CF web endpoint integration tests
The mocks being static meant that their state was shared across each
test in the class. This resulted in the tests being order dependent.
This commit uses instance variables to hold the mocks, thereby
ensuring that they're recreated for each test as part of the standard
JUnit lifecycle.

Closes gh-38363
2023-11-15 15:16:24 +00:00
Moritz Halbritter 7a8a393154 Revert "Close meter registries early in the shutdown process"
This reverts commit f62c1188a1.
2023-11-15 14:17:07 +01:00
Moritz Halbritter f62c1188a1 Close meter registries early in the shutdown process
Closes gh-38240

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2023-11-15 10:24:54 +01:00
Phillip Webb 80210e93d3 Make LogCorrelationPropertySource an EnumerablePropertySource
Change `LogCorrelationPropertySource` to an `EnumerablePropertySource`
to reduce the likelihood of `Binder` errors.

Closes gh-38349
2023-11-13 10:40:24 -08:00
Claudio Nave 61aecdedd6 Remove Liquibase javax.activation excludes
Liquibse no longer declares a dependency on `javax.activation`
(see https://github.com/liquibase/liquibase/issues/4487) so we
can now remove our exclusions.

See gh-38274
2023-11-09 11:44:31 -08:00
Phillip Webb 0ea75f0f65 Polish 2023-11-05 10:53:25 -08:00
Phillip Webb cc4ef32efe Merge branch '3.1.x' 2023-11-02 14:19:12 -07:00
Phillip Webb 47c1088111 Polish 2023-11-02 14:19:07 -07:00
Moritz Halbritter 20edbb402f Merge branch '3.1.x' 2023-10-31 10:23:13 +01:00
Moritz Halbritter 607ed86edb Merge branch '3.0.x' into 3.1.x 2023-10-31 10:23:01 +01:00
Moritz Halbritter dccf378d49 Polish CloudFoundryActuatorAutoConfiguration 2023-10-31 10:09:44 +01:00
Moritz Halbritter e0985331c0 Polish ReactiveCloudFoundrySecurityService 2023-10-31 09:56:35 +01:00
Moritz Halbritter 9152217c96 Fix JUnit's @Nested usage 2023-10-31 09:49:01 +01:00
Moritz Halbritter 627a821d5f Polish ReactiveTokenValidator 2023-10-31 09:49:01 +01:00
Moritz Halbritter 0e63326beb Merge branch '3.1.x'
Closes gh-38080
2023-10-27 14:21:26 +02:00
Moritz Halbritter 140ba4039d Merge branch '3.0.x' into 3.1.x
Closes gh-38079
2023-10-27 14:20:07 +02:00
Moritz Halbritter 43a3fbf449 Move "Sanitize Sensitive Values" in docs
Closes gh-35917
2023-10-27 14:16:48 +02:00
Moritz Halbritter 79f8bfaeb7 Merge branch '3.1.x'
Closes gh-38073
2023-10-27 10:55:10 +02:00
Moritz Halbritter 790ee9afb5 Add FailureAnalyzer for NoSuchHealthContributorFailureExceptions
Closes gh-36489
2023-10-27 10:48:48 +02:00
Moritz Halbritter 4c3de96d74 Fix links to Antora based JavaDoc and reference documentation
This introduces two different attributes for, e.g. the Spring Framework
version: the "normal" one, e.g. 6.1.0-SNAPSHOT, and the Antora one,
e.g. 6.1.

Spring Framework's reference documentation is still broken when using
SNAPSHOT versions, see spring-framework/gh-31480.

See gh-38000
2023-10-24 10:31:26 +02:00
Johnny Lim b5d4983829 Polish
See gh-37984
2023-10-23 11:15:27 +02:00
Phillip Webb d638bbb0ba Merge branch '3.1.x'
Closes gh-37967
2023-10-19 21:25:44 -07:00
Phillip Webb 1d456e09d2 Merge branch '3.0.x' into 3.1.x
Closes gh-37966
2023-10-19 21:12:52 -07:00
Phillip Webb a0b999c8b4 Merge branch '2.7.x' into 3.0.x
Closes gh-37965
2023-10-19 20:55:51 -07:00
Phillip Webb abdad1cabe Constently use assertThatExceptionOf... assertions
Closes gh-37964
2023-10-19 20:17:26 -07:00
Johnny Lim 446677375e Polish gh-35082
See gh-37831
2023-10-12 14:17:02 +02:00
Andy Wilkinson 81cbf05b41 Merge branch '3.1.x'
Closes gh-37839
2023-10-12 11:39:19 +01:00
Andy Wilkinson 19b877fc14 Merge branch '3.0.x' into 3.1.x
Closes gh-37838
2023-10-12 11:39:06 +01:00
Andy Wilkinson f780cc6d03 Merge branch '2.7.x' into 3.0.x
Closes gh-37837
2023-10-12 11:38:32 +01:00
Andy Wilkinson 11311dbf6d Register task executor metrics when using lazy init
Fixes gh-37832
2023-10-12 11:19:33 +01:00
Andy Wilkinson bdaf7a7603 Merge branch '3.1.x'
Closes gh-37830
2023-10-11 15:06:09 +01:00
Andy Wilkinson 411586347c Merge branch '3.0.x' into 3.1.x
Closes gh-37829
2023-10-11 15:04:21 +01:00
Andy Wilkinson 781ac2ece2 Merge branch '2.7.x' into 3.0.x
Closes gh-37828
2023-10-11 15:02:36 +01:00
Moritz Halbritter 1bd14652d8 Apply Wavefront token type to auto-configured WavefrontSender
Closes gh-37165
2023-10-11 09:12:26 +02:00
Andy Wilkinson 5280cfeec0 Adapt to breaking API change in Micrometer
See gh-37703
2023-10-10 17:56:56 +01:00
Jonatan Ivanov 346db8e795 Add auto-configuration for SpanAspect
See gh-37640
2023-10-05 11:26:21 +02:00
Moritz Halbritter fbec06a134 Support new CSP auth method for Wavefront
Closes gh-37165
2023-10-05 10:44:19 +02:00
Andy Wilkinson a630baf32a Start building against Micrometer Tracing 1.2.0 snapshots
See gh-37704
2023-10-04 12:05:34 +01:00
Andy Wilkinson d59ea2f038 Start building against Micrometer Tracing 1.1.6 snapshots
See gh-37694
2023-10-04 10:00:18 +01:00
Andy Wilkinson 7907358875 Start building against Micrometer Tracing 1.0.11 snapshots
See gh-37679
2023-10-04 09:52:49 +01:00
Andy Wilkinson 7d40a45b50 Merge branch '3.1.x'
Closes gh-37662
2023-10-03 11:21:29 +01:00
Andy Wilkinson a4100e12ff Merge branch '3.0.x' into 3.1.x
Closes gh-37661
2023-10-03 11:05:51 +01:00
Andy Wilkinson 931584f8af Merge branch '2.7.x' into 3.0.x
Closes gh-37659
2023-10-03 10:28:51 +01:00
Johnny Lim c9932bb73a Use AssertJ's fail, not JUnit's
This commit also updates Checkstyle to prevent use of JUnit's
assertions from being reintroduced.

See gh-37655
2023-10-03 10:11:12 +01:00
Jonatan Ivanov a454712dea Add auto-configuration for CountedAspect and TimedAspect
See gh-37626
2023-10-02 10:19:59 +02:00
Moritz Halbritter 72a4e1ebae Honor timeout in ZipkinWebClientSender
Unfortunately there's no good way to configure connect and read timeout
separately, which works for all supported reactive clients. This
implementation applies a timeout through Reactor's timeout method. The
timeout from the properties is summed together and this is the applied
timeout. While not perfect, this is better than no timeout at all.

Closes gh-31496
2023-09-29 10:05:29 +02:00
Phillip Webb 052757c2d8 Polish 2023-09-27 20:58:09 -07:00
Andy Wilkinson ecc670772a Make user details service auto-configs back off more readily
Previously auto-configuration of a user details service (imperative
or reactive) would only back off on the presence of certain beans.
This led to situations where the im-memory service was
auto-configured and the default password was logged even though
another authentication mechanism was in use.

This commit updates the auto-configuration so that it backs off
when depending on Spring Security's OAuth2 Client and OAuth2
Resource Server modules. In the imperative case it will also back
off when depending on the SAML 2 provider.

Closes gh-35338
2023-09-26 16:47:19 +01:00
Phillip Webb 2075f6c685 Merge branch '3.1.x' 2023-09-20 17:16:13 -07:00
Phillip Webb 78eb8f90d1 Merge branch '3.0.x' into 3.1.x 2023-09-20 17:12:27 -07:00
Phillip Webb 78c3512e32 Polish 2023-09-20 17:11:54 -07:00
Brian Clozel 0fc97e9315 Auto-configure ObservationRegistry on JmsTemplate
Spring Boot auto-configures both a `JmsTemplate` and a
`JmsMessagingTemplate`. As of Spring Framework 6.2, JMS has
observability support when publishing messages.

This commit creates a bean post-processor that configures an
`ObservationRegistry` on the template, if the registry is present.

Closes gh-37388
2023-09-15 16:28:06 +02:00
Moritz Halbritter 3dd6372602 Polish "Add service connection from OpenTelemetry Collector"
See gh-35082
2023-09-14 11:10:19 +02:00
Moritz Halbritter c387c87fda Polish "Add service connection from OpenTelemetry Collector"
See gh-35082
2023-09-14 10:50:36 +02:00
Eddú Meléndez 6997277f75 Add service connection from OpenTelemetry Collector
See gh-35082
2023-09-14 09:44:20 +02:00
Johnny Lim c2b78830ff Polish
See gh-37340
2023-09-13 10:26:54 +02:00
Stephane Nicoll 7df79432eb Polish "Upgrade to Micrometer Tracing 1.0.10"
See gh-37345
2023-09-12 15:10:19 +02:00
Andy Wilkinson 4ebee17cb1 Suppress warnings until more to new semconv module
OTel has deprecated their semconv module and introduced a new module
with different Maven coordinates. micrometer-metrics/tracing#343 will
move Micrometer Tracing to the new module. Until then, we need to
suppress the deprecation warnings that result from using the old one.

Closes gh-37347
2023-09-12 13:43:27 +01:00
Brian Clozel c8d036eaa8 Remove ServerHttpObservationFilter from WebFlux
This commit removes the auto-configuration of the
`ServerHttpObservationFilter` bean for WebFlux applications as it's been
deprecated by Spring Framework.

The Observability instrumentation is now handled at the
`WebHttpHandlerBuilder` in Framework directly and doesn't need any
auto-configuration from Spring Boot.

Closes gh-37344
2023-09-12 10:59:25 +02:00
Moritz Halbritter fa42316652 Use spring.application.name for OTel service.name when not set
Closes gh-37285
2023-09-11 10:45:40 +02:00
Moritz Halbritter 11ebe32dcf Remove dependency to opentelemetry-sdk
Closes gh-37284
2023-09-11 09:49:28 +02:00
Moritz Halbritter f0bb054774 Merge branch '3.1.x'
Closes gh-37254
2023-09-08 11:21:20 +02:00
Moritz Halbritter d9b7a8c0af Merge branch '3.0.x' into 3.1.x
Closes gh-37253
2023-09-08 11:17:40 +02:00
Moritz Halbritter bbc10856ee Merge branch '2.7.x' into 3.0.x
Closes gh-37252
2023-09-08 11:17:25 +02:00
Johnny Lim 5f9bc721d3 Add default value metadata for management.metrics.export.signalfx.published-histogram-type
See gh-37210
2023-09-08 11:04:26 +02:00
Andy Wilkinson ed5d16de84 Upgrade to Jetty 12
Closes gh-36073
2023-09-07 13:59:15 +01:00
Andy Wilkinson 88f8311a59 Start building against Micrometer 1.12.0 snapshots
See gh-37226
2023-09-07 13:34:12 +01:00
Scott Frederick 47508b8338 Merge branch '3.1.x'
Closes gh-37179
2023-09-01 14:42:24 -05:00
Scott Frederick 03dcf8b663 Merge branch '3.0.x' into 3.1.x
Closes gh-37178
2023-09-01 14:42:15 -05:00
Scott Frederick 1e85bf7ca8 Fix mapping of consumed types to propagators
Fixes gh-37161
2023-09-01 14:40:01 -05:00
Moritz Halbritter a7855622f2 Merge branch '3.1.x'
Closes gh-37157
2023-08-31 11:51:26 +02:00
Moritz Halbritter b86937bb8e Merge branch '3.0.x' into 3.1.x
Closes gh-37156
2023-08-31 11:51:15 +02:00
Moritz Halbritter 61739bd917 Prevent propagation for local fields when using W3C propagation
Closes gh-37109
2023-08-31 11:50:05 +02:00
Johnny Lim 847c6aec01 Fix metadata of management.otlp.metrics.export.base-time-unit
See gh-37094
2023-08-24 16:30:13 +02:00
Jonatan Ivanov a3f37089db Fix failing tests due to extended exemplars
Micrometer introduced extended exemplars functionality that adds
exemplars to _count too not only to histogram buckets,
see: https://github.com/micrometer-metrics/micrometer/pull/3996
Because of this, some verifications should be changed.
2023-08-16 08:55:40 +02:00
Phillip Webb 8edec21a6f Update copyright year of changed files 2023-08-13 20:44:44 -07:00
Moritz Halbritter 7bb337aeb1 Polish tests 2023-08-08 13:12:47 +02:00
Moritz Halbritter 4ea3c75331 Improve exception message if endpoint can't be found 2023-08-08 13:12:47 +02:00
Moritz Halbritter ed9169501e Polish 2023-08-08 13:12:47 +02:00
Moritz Halbritter 02a7c22f40 Revert "Use virtual threads in JmsHealthIndicator if enabled"
This reverts commit 6fc585c5d2.
2023-08-03 17:25:28 +02:00
Moritz Halbritter a843aca821 Revert "Polish"
This reverts commit 25eb3c8c18.
2023-08-03 17:25:15 +02:00
Moritz Halbritter 25eb3c8c18 Polish 2023-08-03 11:16:16 +02:00
Moritz Halbritter 6fc585c5d2 Use virtual threads in JmsHealthIndicator if enabled
Closes gh-36694
2023-08-03 10:32:42 +02:00
Moritz Halbritter e677eb7759 Polish Polish R2dbcObservationAutoConfiguration 2023-08-02 12:14:03 +02:00
Moritz Halbritter 20d264150b Polish R2dbcObservationAutoConfiguration 2023-08-02 11:41:30 +02:00
Scott Frederick f2ad08c292 Add since version to deprecated config properties
See gh-36482
2023-08-01 16:13:22 -05:00
Moritz Halbritter b0615dd311 Split OpenTelemetry auto-configuration
The OpenTelemetry bean is now configured in the
OpenTelemetryAutoConfiguration. This method also applies
SdkLoggerProvider and SdkMeterProvider.

Additionally, the OpenTelemetry Resource is now a bean. Resource
attributes can now be configured through properties

The resourceAttributes in OtlpProperties have been deprecated in favor
of the new one in OpenTelemetryProperties.

Closes gh-36544
Closes gh-36545
2023-07-27 08:53:09 +02:00
Moritz Halbritter 6050fff078 Auto-configure observability for R2DBC
The new ConnectionFactoryDecorator can be used to decorate the
ConnectionFactory built by the ConnectionFactoryBuilder.

The new R2dbcObservationAutoConfiguration configures a
ConnectionFactoryDecorator to attach a ObservationProxyExecutionListener
to ConnectionFactories. This enables Micrometer Observations for R2DBC
queries.

Closes gh-33768
2023-07-25 17:01:55 +02:00
Andy Wilkinson df4c65e494 Merge branch '3.1.x'
Closes gh-36568
2023-07-25 15:18:02 +01:00
Andy Wilkinson ee9574d399 Merge branch '3.0.x' into 3.1.x
Closes gh-36567
2023-07-25 15:04:30 +01:00
Andy Wilkinson e106828fc8 Merge branch '2.7.x' into 3.0.x
Closes gh-36566
2023-07-25 14:59:44 +01:00
Andy Wilkinson 5c6a9122cb Polish "Test Micrometer config to property exposure"
See gh-33743
2023-07-25 14:43:14 +01:00
Mirko Sobeck 19e70055a5 Test Micrometer config to property exposure
See gh-33743
2023-07-25 14:37:25 +01:00
Andy Wilkinson 2289b725d2 Merge branch '3.1.x'
Closes gh-36560
2023-07-25 13:08:01 +01:00
Andy Wilkinson 2766c4b648 Merge branch '3.0.x' into 3.1.x
Closes gh-36559
2023-07-25 13:07:48 +01:00
Andy Wilkinson d290d05f63 Add missing Stackdriver metric-type-prefix property
Closes gh-36499
2023-07-25 13:01:59 +01:00
Andy Wilkinson 0f110a5f5b Merge branch '3.1.x'
Closes gh-36557
2023-07-25 12:54:46 +01:00
Andy Wilkinson 22fa904590 Merge branch '3.0.x' into 3.1.x
Closes gh-36556
2023-07-25 12:54:34 +01:00
Andy Wilkinson 45624c0a78 Merge branch '2.7.x' into 3.0.x
Closes gh-36555
2023-07-25 12:53:11 +01:00
Andy Wilkinson aae8665db1 Add missing management.metrics.export.wavefront properties
Closes gh-36498
2023-07-25 12:35:58 +01:00
Andy Wilkinson 346ebbc6f8 Merge branch '3.1.x'
Closes gh-36554
2023-07-25 12:09:22 +01:00
Andy Wilkinson 5d1b2348e8 Merge branch '3.0.x' into 3.1.x
Closes gh-36553
2023-07-25 12:08:43 +01:00
Andy Wilkinson 826bad5820 Merge branch '2.7.x' into 3.0.x
Closes gh-36552
2023-07-25 12:08:19 +01:00
Andy Wilkinson a6c19dae07 Add missing management.metrics.export.signalfx properties
Closes gh-36497
2023-07-25 11:35:57 +01:00
Andy Wilkinson c9c36e7e42 Merge branch '3.1.x'
Closes gh-36527
2023-07-24 14:38:52 +01:00
Andy Wilkinson 54323d1a95 Merge branch '3.0.x' into 3.1.x
Closes gh-36526
2023-07-24 14:35:14 +01:00
Andy Wilkinson 2db45e9ba3 Merge branch '2.7.x' into 3.0.x
Closes gh-36525
2023-07-24 14:34:50 +01:00
Andy Wilkinson a5d5908c27 Add missing management.metrics.export.atlas properties
Closes gh-36496
2023-07-24 14:34:11 +01:00
Andy Wilkinson 3affb3342e Deprecate auto-configuration for InfluxDB
Closes gh-35190
2023-07-20 13:31:10 +01:00
Moritz Halbritter 54e99d68fa Auto-configure ObservationRegistry on ScheduledTaskRegistrar
The TaskSchedulingAutoConfiguration.taskScheduler auto-configuration now
no longer backs off on SchedulingConfigurer beans.

Closes gh-36119
2023-07-20 09:43:12 +02:00
kitbolourchi abebc396c0 Change B3 extraction format to single
See gh-36061
2023-07-19 08:14:01 +02:00
Stephane Nicoll c726a13395 Polish "Add auto-configuration for ObservedAspect"
See gh-35191
2023-07-17 16:06:08 +02:00
Vedran Pavic 0dae89e837 Add auto-configuration for ObservedAspect
This adds support for auto-configuring `ObservedAspect` when AspectJ is
on the classpath, which enables the usage of `@Observed`.

See gh-35191
2023-07-17 16:05:48 +02:00
Stephane Nicoll 31db1d8125 Merge branch '3.1.x'
Closes gh-36430
2023-07-17 15:48:41 +02:00
Stephane Nicoll 7195d87e6c Merge branch '3.0.x' into 3.1.x
Closes gh-36429
2023-07-17 15:48:30 +02:00
Stephane Nicoll 750096b9c2 Polish "Allow custom ExemplarSampler to be used"
See gh-35619
2023-07-17 15:46:48 +02:00
Johnny Goncalves 94b17ecd26 Allow custom ExemplarSampler to be used
See gh-35619
2023-07-17 15:44:05 +02:00
Stephane Nicoll df8b73d8f7 Merge branch '3.1.x'
Closes gh-36425
2023-07-17 15:09:23 +02:00
Stephane Nicoll 588129318c Merge branch '3.0.x' into 3.1.x
Closes gh-36423
2023-07-17 15:06:00 +02:00
Jonatan Ivanov 58cfdbfa2d Add missing OTel Span attributes
OTel semantic conventions mandate certain resource attributes to present
on exported spans. This commits make sure that the attribute we add are
merged with the defaults, rather than replacing them.

See gh-36155
2023-07-17 15:00:51 +02:00
Jonatan Ivanov 8115f8f146 Add property for base time unit in OTLP registry
Micrometer added a new configuration option to its OTLP registry to
enable configuring the base time unit. These changes provide a
configuration property to support to it.

See gh-36393
2023-07-17 13:17:41 +02:00
Stephane Nicoll 783bfb62e2 Merge branch '3.1.x'
Closes gh-36420
2023-07-17 10:04:14 +02:00
Stephane Nicoll d2912c6442 Update copyright year of changed files
See gh-36306
2023-07-17 09:40:57 +02:00
Christoph Dreis 8321887d6a Fix typos
See gh-36306
2023-07-17 09:40:16 +02:00
Andy Wilkinson b8c4fb6b9a Upgrade to Liquibase 4.23.0
Closes gh-36377
2023-07-14 19:57:27 +01:00
Andy Wilkinson 8ed2ef5640 Merge branch '3.1.x'
Closes gh-36277
2023-07-07 12:07:25 +01:00
Andy Wilkinson c4157bb515 Merge branch '3.0.x' into 3.1.x
Closes gh-36276
2023-07-07 12:07:07 +01:00
Andy Wilkinson cc80bb78fe Merge branch '2.7.x' into 3.0.x
Closes gh-36275
2023-07-07 12:06:51 +01:00
Andy Wilkinson 52f732920b Support multiple health groups with an additional path with Jersey
This commit knowingly makes breaking API changes to
JerseyHealthEndpointAdditionalPathResourceFactory. We considered
other options but they all had the potential to be backwards
incompatible in one way or another. Faced with that situation we
concluded that the likelihood of anyone using the modified API
directly is small enough to warrant making the breaking changes.
If it becomes apparent that we have misjudged things we can revisit
the changes in the future.

Closes gh-36250
2023-07-07 11:21:56 +01:00
Johnny Lim 7c77e1bb85 Polish 'Log correlation IDs when Micrometer tracing is being used'
See gh-36158
2023-07-02 20:08:45 +01:00
Ahmed Ashour 298bfd96c2 Change WebServer log messages to use port or ports, not port(s)
See gh-36103
2023-06-30 16:28:21 +01:00
Moritz Halbritter b4bc7cebbc Revert "Add property to specify the order of ServerHttpObservationFilter"
This reverts commit 7b90fbb0b2.
2023-06-30 14:01:27 +02:00
Moritz Halbritter 849f65a0de Revert "Apply filter order to ServerHttpObservationFilter"
This reverts commit efcc65bc5b.
2023-06-30 14:01:26 +02:00
Andy Wilkinson b645eb32ac Remove deprecated code that was to be removed in 3.2
Closes gh-36034
2023-06-23 18:14:22 +01:00
Andy Wilkinson 357c67a999 Merge branch '3.1.x' 2023-06-23 15:58:51 +01:00
Andy Wilkinson 3f7fe25cb9 Merge branch '3.0.x' into 3.1.x
Closes gh-36044
2023-06-23 15:58:36 +01:00
Andy Wilkinson 2fae5de245 Merge branch '2.7.x' into 3.0.x
Closes gh-36043
2023-06-23 15:50:02 +01:00
Andy Wilkinson d2966e1cbf Polish "Replace calls to verifyComplete() to avoid indefinite blocking"
See gh-35915
2023-06-23 12:38:12 +01:00
ThomazPassarelli f9da30faf1 Replace calls to verifyComplete() to avoid indefinite blocking
See gh-35915
2023-06-23 12:16:26 +01:00
Jonatan Ivanov c1b295fd71 Log correlation IDs when Micrometer tracing is being used
Add support for logging correlation IDs with Logback or Log4J2 whenever
Micrometer tracing is being used.

The `LoggingSystemProperties` class now accepts a defualt value resolver
which will be used whenever a value isn't in the environment. The
`AbstractLoggingSystem` provides a resolver that supports the
`logging.pattern.correlation` property and will return a value whenever
`LoggingSystem.EXPECT_CORRELATION_ID_PROPERTY` is set.

Using `LoggingSystem.EXPECT_CORRELATION_ID_PROPERTY` allows us to
provide a consistent width for the correlation ID, even when it's
missing from the MDC.

The exact correlation pattern returned will depend on the `LoggingSytem`
implementation. Currently Logback and Log4J2 are supported and both
make use of a custom converter which delegates to a new
`CorrelationIdFormatter` class.

Closes gh-33280
2023-06-22 00:28:45 -07:00
Phillip Webb 3a796aedea Merge branch '3.1.x' 2023-06-22 00:28:01 -07:00
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