Commit Graph

2225 Commits (a630baf32abb558f1b4b8e896ab8ea0dbea924b8)

Author SHA1 Message Date
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
1 year ago
Phillip Webb 3a796aedea Merge branch '3.1.x' 1 year ago
Phillip Webb 31f218c4e0 Merge branch '3.0.x' into 3.1.x 1 year ago
Phillip Webb 9db3c5a2f7 Polish 1 year ago
Moritz Halbritter f7abf926a9 Merge branch '3.1.x' 1 year ago
Moritz Halbritter cbbbecce37 Merge branch '3.0.x' into 3.1.x 1 year ago
Moritz Halbritter 975e2d110c Polish CompositePropagationFactory
Remove shaded Guava import
1 year ago
Andy Wilkinson ca5bd37e81 Upgrade to Spring Framework 6.1.0-M1
Closes gh-35977
Closes gh-35980
1 year ago
Phillip Webb 23eb7ec1f8 Merge branch '3.1.x' 1 year ago
Phillip Webb 5d6a507142 Merge branch '3.0.x' into 3.1.x 1 year ago
Phillip Webb 48e13af8c4 Merge branch '2.7.x' into 3.0.x 1 year ago
Phillip Webb b8d2c279ee Update copyright year of changed files 1 year ago
Phillip Webb 854b29b8fb Polish 1 year ago
Phillip Webb 13f16da716 Merge branch '3.1.x' 1 year ago
Phillip Webb baddf4c857 Merge branch '3.0.x' into 3.1.x 1 year ago
Phillip Webb 9b72cc41ab Polish 'Add support for multiple tracing propagation formats'
See gh-35611
1 year ago
Moritz Halbritter 3664df61eb Polish API of SpanExporters and SpanProcessors 1 year ago
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
1 year ago
Moritz Halbritter c25b084391 Polish 1 year ago
Moritz Halbritter 929283f4dc Support overriding OTel SpanExporters
See gh-35596
1 year ago
Moritz Halbritter d51559956f Support overriding default OTel SpanProcessor
Also makes it easier to set the MeterProvider used in the default
SpanProcessor.

Closes gh-35560
1 year ago
Moritz Halbritter 6e86f5c444 Register uncategorized ObservationHandlers after categorized ones
Closes gh-34399
1 year ago
Moritz Halbritter 5bad242bfb Merge branch '3.1.x' 1 year ago
Moritz Halbritter be471c58fe Merge branch '3.0.x' into 3.1.x
Closes gh-35907
1 year ago
Moritz Halbritter 8cd8d21720 Add support for multiple tracing propagation formats
See gh-35611
1 year ago
Moritz Halbritter efcc65bc5b Apply filter order to ServerHttpObservationFilter
Closes gh-35067
1 year ago
Moritz Halbritter 140c37ceba Enable virtual threads on Jetty
Closes gh-35703
1 year ago
Moritz Halbritter f81787e65d Enable virtual threads on Tomcat
Closes gh-35704
1 year ago
Andy Wilkinson 0ce2b054d2 Merge branch '3.1.x' 1 year ago
Andy Wilkinson 9b88128e3b Merge branch '3.0.x' into 3.1.x 1 year ago
Andy Wilkinson 4694e20628 Merge branch '2.7.x' into 3.0.x 1 year ago
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
1 year ago
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
1 year ago
Moritz Halbritter 7b90fbb0b2 Add property to specify the order of ServerHttpObservationFilter
The property is named 'management.observations.http.server.filter.order'

Closes gh-35067
1 year ago
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
1 year ago
Moritz Halbritter 5b06224af5 Add property for common key/values on observations
- Deprecates 'management.metrics.tags.*'

Closes gh-33241
1 year ago
Moritz Halbritter 214f06083b Auto-configure OtlpHttpSpanExporter only if property is set
- Remove the default value of 'management.otlp.tracing.endpoint'

Closes gh-35596
1 year ago
Moritz Halbritter 28a3cee5a2 Merge branch '3.0.x'
Closes gh-35766
1 year ago
Moritz Halbritter 85720a5d90 Merge branch '2.7.x' into 3.0.x
Closes gh-35765
1 year ago
Bernardo Bulgarelli 51afaa79a7 Add @AliasFor annotation to EndpointCloudFoundryExtension
See gh-35716
1 year ago
Moritz Halbritter d841490f5f Enable ZipkinProperties in ZipkinAutoConfiguration
Closes gh-35592
2 years ago
Stephane Nicoll 9643dbeed2 Merge branch '3.0.x'
Closes gh-35590
2 years ago
Christoph Dreis b2b5728995 Remove unnecessary exclude from spring-restdocs-mockmvc
See gh-35568
2 years ago
Stephane Nicoll 7a9bb55fdf Merge branch '3.0.x'
Closes gh-35589
2 years ago
Johnny Lim 1b5fc89b43 Polish
See gh-35576
2 years ago
Phillip Webb 0743da4987 Merge branch '3.0.x'
Closes gh-35546
2 years ago
Phillip Webb 4072588c29 Polish "Fix invalid Zipkin Reporter back-off behavior"
See gh-35455
2 years ago
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
2 years ago
Phillip Webb 08c3cccc92 Merge branch '3.0.x' 2 years ago
Phillip Webb 4e305cc209 Merge branch '2.7.x' into 3.0.x 2 years ago
Phillip Webb a75cd014fc Merge branch '2.6.x' into 2.7.x 2 years ago
Phillip Webb 95d1cb9884 Merge branch '2.5.x' into 2.6.x 2 years ago
Phillip Webb 8316a96515 Polish 2 years ago
Phillip Webb 25b0a4a67b Merge branch '2.5.x' into 2.6.x
Fixes gh-35438
2 years ago
Andy Wilkinson 086b1e5f58 Stop WebFilterChainPostProcessor from causing eager init
Fixes gh-35437
2 years ago
Phillip Webb ef1401fcc9 Fix formatting 2 years ago
Phillip Webb 27c8da66f1 Merge branch '2.5.x' into 2.6.x
Closes gh-35412
2 years ago
Madhura Bhave 307f3c3399 Use endpoint mappings in CloudFoundry integration
Closes gh-35411
2 years ago
Phillip Webb e3ed87d165 Merge branch '3.0.x' 2 years ago
Phillip Webb 92e420a098 Merge branch '2.7.x' into 3.0.x 2 years ago
Johnny Lim ff9fd1abeb Polish
See gh-35185
2 years ago
Stephane Nicoll ae0efba523 Merge branch '3.0.x'
See gh-35312
2 years ago
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
2 years ago
Stephane Nicoll 66cc9d73b8 Merge branch '3.0.x' 2 years ago
Stephane Nicoll be29ab389a Merge branch '2.7.x' into 3.0.x 2 years ago
Stephane Nicoll eeefb2a1de Polish 2 years ago
Marc Leroux b61834c92d Replace Mockito argument captors with assertArg
See gh-35015
2 years ago
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
2 years ago
Phillip Webb a890323758 Merge branch '3.0.x' 2 years ago
Andy Wilkinson b03f1e47d0 Merge branch '3.0.x'
Closes gh-35171
2 years ago
Andy Wilkinson d6e3db9c36 Merge branch '2.7.x' into 3.0.x
Closes gh-35170
2 years ago
Andy Wilkinson 472afafd4b Stop WebFilterChainPostProcessor from causing eager init
Fixes gh-35163
2 years ago
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
2 years ago
Andy Wilkinson 04780650a1 Merge branch '3.0.x'
Closes gh-35087
2 years ago
Andy Wilkinson 32444fed4b Merge branch '2.7.x' into 3.0.x
Closes gh-35086
2 years ago
Madhura Bhave 3522714c13 Use endpoint mappings in CloudFoundry integration
Closes gh-35085
2 years ago
Andy Wilkinson c55d398f95 Validate health group includes and excludes
Closes gh-34360
2 years ago
Andy Wilkinson 45068c777f Document default value for management.otlp.tracing.compression
See gh-34508
2 years ago
Andy Wilkinson c543d9172c Polish "Add auto-configuration for OTLP span exporter"
See gh-34508
2 years ago
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
2 years ago
Stephane Nicoll a323bd90a8 Polish "Reintroduce support for ActiveMQ"
See gh-35048
2 years ago
Martin BENDA 3e9908a797 Reintroduce support for ActiveMQ
See gh-35048
2 years ago
Andy Wilkinson 1ad428129d Polish "Add customizer for SdkTracerProviderBuilder"
See gh-34945
2 years ago
Yanming Zhou f40e9738b6 Add customizer for SdkTracerProviderBuilder
See gh-34945
2 years ago
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
2 years ago
Phillip Webb 00dc942e94 Migrate to Spring Security lambda config
Closes gh-35011
2 years ago
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
2 years ago
Andy Wilkinson d4980ea993 Always define connection details beans
Closes gh-34776
2 years ago
Phillip Webb e9a198a68f Merge branch '3.0.x' 2 years ago
Phillip Webb 7fea4c84b4 Update copyright year of changed files 2 years ago
Phillip Webb 8d2f550f8c Merge branch '3.0.x' 2 years ago
Phillip Webb 3ba3558cff Merge branch '2.7.x' into 3.0.x 2 years ago
Phillip Webb 3e9a136143 Polish gradle formatting 2 years ago
Phillip Webb 463701db18 Merge branch '3.0.x' 2 years ago
Phillip Webb d442bfbeff Polish 2 years ago
Stephane Nicoll a031bf4d58 Merge branch '3.0.x'
Closes gh-34867
2 years ago
Stephane Nicoll 579364c2ec Polish "Auto-configure observation for Spring-Batch"
See gh-34305
2 years ago
Mark Bonnekessel 5ad29db9c8 Auto-configure observation for Spring-Batch
See gh-34305
2 years ago
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>
2 years ago
Andy Wilkinson eef4919a33 Start building against Micrometer Tracing 1.1.0-M2 snapshots
See gh-34547

Co-Authored-By: Marcin Grzejszczak <mgrzejszczak@vmware.com>
2 years ago
Moritz Halbritter 0b23ffd73a Merge branch '3.0.x'
Closes gh-34425
2 years ago
Moritz Halbritter ecbc412c7c Add property 'management.wavefront.trace-derived-custom-tag-keys'
Closes gh-34194
2 years ago
Moritz Halbritter 79a4861c17 Merge branch '3.0.x'
Closes gh-34418
2 years ago
Moritz Halbritter 73ba797c02 Merge branch '2.7.x' into 3.0.x
Closes gh-34417
2 years ago
Johnny Lim 956a579bc9 Polish "Add missing Micrometer PropertiesConfigAdapterTests"
See gh-34319
2 years ago
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>
2 years ago
Andy Wilkinson 8a9ea2bad8 Merge branch '3.0.x'
Closes gh-34370
2 years ago
Tadaya Tsuyukubo 9854154c31 Specify @Order to the defaultTracingObservationHandler bean definition
See gh-34216

Signed-off-by: Tadaya Tsuyukubo <tadaya@ttddyy.net>
2 years ago
Phillip Webb 157091a811 Merge branch '3.0.x' 2 years ago
Phillip Webb 0b15962aca Merge branch '2.7.x' into 3.0.x 2 years ago
Phillip Webb b07269a018 Merge branch '3.0.x' 2 years ago
Phillip Webb c4de86c244 Merge branch '2.7.x' into 3.0.x 2 years ago
Phillip Webb df5898a146 Reformat code following spring-javaformat upgrade 2 years ago
Andy Wilkinson 1847a9deb6 Upgrade to Spring Framework 6.0.5
Closes gh-34301
2 years ago
Andy Wilkinson e617d362d5 Merge branch '3.0.x'
Closes gh-34208
2 years ago
Andy Wilkinson efbeab74ee Merge branch '2.7.x' into 3.0.x
Closes gh-34207
2 years ago
Mirko Sobeck ff04f009c0 Add missing Micrometer PropertiesConfigAdapterTests
Closes gh-33743
2 years ago
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
2 years ago
Andy Wilkinson 1c9e22c845 Merge branch '3.0.x'
Closes gh-34121
2 years ago
Andy Wilkinson 3551030e3f Add ObservationFilter beans to auto-configured ObservationRegistry
Fixes gh-33968
2 years ago
Moritz Halbritter 23f1c896c9 Merge branch '3.0.x'
Closes gh-34015
2 years ago
Johnny Lim bc7fc90550 Replace Base64Utils with JDK's Base64
See gh-33967
2 years ago
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
2 years ago
Eddú Meléndez 92dd004375 Add property `headers` in `OtlpProperties`
In Micrometer 1.11, headers property has been introduced.

See gh-34004
2 years ago
Krzysztof Krason 0e68cae57f Use instanceof patterns
See gh-33987
2 years ago
Krzysztof Krason a9c547e767 Use text blocks
See gh-33987
2 years ago
Krzysztof Krason 6e46423983 Use diamond operators
See gh-33987
2 years ago
Phillip Webb 5120242996 Merge branch '2.7.x' into 3.0.x 2 years ago
Krzysztof Krason 888d4ac392 Use '==' rather than '.equals' with enum value
See gh-33987
2 years ago
Moritz Halbritter 31ca94833a Use parent-based sampler by default
Closes gh-33821
2 years ago
Phillip Webb 71efc55bf9 Merge branch '2.7.x' 2 years ago
Phillip Webb 7c508fa324 Update copyright year of changed files 2 years ago
Moritz Halbritter 94f4a4396c Merge branch '2.7.x'
Closes gh-33880
2 years ago
Moritz Halbritter e8d809fe65 Replace 'via' with 'over' or 'through' in the documentation
Closes gh-33878
2 years ago
Phillip Webb fad88232b9 Update copyright year of changed files 2 years ago
Phillip Webb a889c539ab Merge branch '2.7.x' 2 years ago
Phillip Webb a0fe8241a7 Update copyright year of changed files 2 years ago
Moritz Halbritter f08842019e Merge branch '2.7.x'
Closes gh-33841
2 years ago
Moritz Halbritter 96175a8e50 Use OperationParameter consistently
Closes gh-31240
2 years ago
Andy Wilkinson 433364601d Merge branch '2.7.x' 2 years ago
Andy Wilkinson 3b2e5e5292 Remove references to https://repo.spring.io/release 2 years ago
Moritz Halbritter 52760f6b78 Merge branch '2.7.x'
Closes gh-33756
2 years ago
Yongjo Lee 0440e5d1ac Fix duplicate 'the' typo
See gh-33736
2 years ago
Moritz Halbritter fe1c1edcd4 Change transient to volatile in CompositeHandlerExceptionResolver 2 years ago
Phillip Webb a2ac38e203 Update copyright year of changed files 2 years ago
Phillip Webb 1621cfd578 Merge branch '2.7.x' 2 years ago
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
2 years ago
Moritz Halbritter 3b6b795c9f Merge branch '2.7.x'
Closes gh-33729
2 years ago
rishal c84399e705 Add toString method for EndpointRequestMatcher
See gh-33690
2 years ago
Krzysztof Krason cf6493f65c Simplify AssertJ assertions and also make them more readable
See gh-33653
2 years ago