Commit Graph

163 Commits

Author SHA1 Message Date
Marcin Grzejszczak
4bebf0a501 Increased timeout for better tests stability when executed in parallel 2020-11-25 14:48:53 +01:00
Marcin Grzejszczak
f027196b84 Stops wrapping the Reactor's ExecutorService; fixes gh-1786 2020-11-25 14:37:14 +01:00
Marcin Grzejszczak
d3e8a16052 Only propgate b3 baggage when b3 picked; fixes gh-1781 2020-11-24 17:24:08 +01:00
Marcin Grzejszczak
76ad931b42 Refactoring modules to be consistent with Spring Boot (#1784)
# Modules

* New modules: `spring-cloud-sleuth-autoconfigure`, `spring-cloud-sleuth-api`, `spring-cloud-sleuth-instrumentation`
  `spring-cloud-sleuth-core` removed and changed to `spring-cloud-sleuth-instrumentation` & `spring-cloud-sleuth-api`
* Removed `spring-cloud-starter-sleuth-otel`
  To add OpenTelemetry support you need to add `spring-cloud-starter-sleuth` (adds Brave by default), exclude Brave and add `spring-cloud-sleuth-otel` dependency
* Except for the tests, `spring-cloud-sleuth-autoconfigure` is the only module that can have access to `@Configuration`, `@ConfigurationProperties` classes.
Tests have been added to ensure such separation.

## Package moving

* `org.springframework.cloud.sleuth.api` -> `org.springframework.cloud.sleuth`
* `org.springframework.cloud.sleuth.brave.autoconfig` -> `org.springframework.cloud.sleuth.autoconfig.brave`
* `org.springframework.cloud.sleuth.otel.autoconfig` -> `org.springframework.cloud.sleuth.autoconfig.otel`
* `org.springframework.cloud.sleuth` -> `org.springframework.cloud.sleuth`
* Instrumentation: `org.springframework.cloud.sleuth.annotation` -> `org.springframework.cloud.sleuth.instrument.annotation`
* All the autoconfiguration classes were moved under `org.springframework.cloud/sleuth.autoconfig` package

## Global class modifications

* Any class registered as a bean is now public

## Classes

* `RateLimitingSampler` constructor changed
* Merged a lot of auto configuration classes into one (e.g. `BraveAutoConfiguration` now imports various other configurations)
* Renamed `TraceBraveAutoConfiguration` to `BraveAutoConfiguration`
* Renamed `TraceOtelAutoConfiguration` to `OtelAutoConfiguration`
* Removed all `NoOp` implementations of the API
2020-11-23 15:39:13 +01:00
buildmaster
6a1495db5c Going back to snapshots 2020-11-17 21:06:46 +00:00
buildmaster
4b5bd34bbc Update SNAPSHOT to 3.0.0-M5 2020-11-17 21:04:48 +00:00
Marcin Grzejszczak
ee3d98c277 Removed jetbrains annotations 2020-11-16 12:54:40 +01:00
Marcin Grzejszczak
06d353f155 Migrated to OTel 0.10.0 2020-11-06 14:59:11 +01:00
Olga Maciaszek-Sharma
186d68030b Merge remote-tracking branch 'origin/2.2.x'
# Conflicts:
#	spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TracingFeignObjectWrapperTests.java
2020-10-28 14:31:57 +01:00
Olga Maciaszek-Sharma
61cb452cac Merge remote-tracking branch 'origin/2.2.x'
# Conflicts:
#	spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceFeignObjectWrapper.java
2020-10-28 13:29:56 +01:00
Marcin Grzejszczak
297955c35a Merge branch '2.2.x' 2020-10-26 12:05:54 +01:00
Oleg Zhurakousky
6897ee47f8 You're welcome Marcin
See ba15726c9a
2020-10-26 08:34:23 +01:00
Marcin Grzejszczak
6e306e594d Abstract tracer implementations via an API (#1757)
Spring Cloud Sleuth currently is an autoconfiguration over Brave. It also consists of various instrumentation mechanisms for libraries that are not supported by Brave (e.g. Spring Cloud Circuitbreaker).

We would like to abstract Brave so that Spring Cloud Sleuth becomes an autoconfiguration for any tracer implementation that is compatible with Spring Cloud Sleuth. That way Spring Cloud Sleuth in its core module would consist of an API and various tracer implementations would implement that API which would also allow automatic instrumentation of libraries that are supported by Spring Cloud Sleuth.

## OpenTelemetry Support

Thanks to doing this abstraction we are able to support new tracer implementations, not only Brave. We've decided to add support for the OpenTelemetry SDK as the second one. If in the future if we decide to add new tracers then it will be just a matter of adding a new module that bridges to the Spring Cloud Sleuth one. Thanks to abstraction of tests as well we will be easily able to plug that tracer mechanism into our current suite of tests.
2020-10-23 08:50:23 +02:00
buildmaster
f6608cd27f Going back to snapshots 2020-10-03 14:19:22 +00:00
buildmaster
bc5668b96d Update SNAPSHOT to 3.0.0-M4 2020-10-03 14:18:00 +00:00
Ryan Baxter
0c0277f8b3 Fixes feign compilation errors 2020-10-02 15:16:36 -04:00
buildmaster
05461159eb Bumping versions 2020-09-17 05:29:17 +00:00
Adrian Cole
65eafad90e Updates to lates Brave (#1736)
Notably, this fixes a missing localEndpoint.ip field
2020-09-12 10:29:52 +02:00
buildmaster
cf3a082477 Bumping versions to 2.2.6.BUILD-SNAPSHOT after release 2020-08-28 20:23:45 +00:00
buildmaster
8b1d17fb26 Going back to snapshots 2020-08-28 20:23:44 +00:00
buildmaster
53a15b5b52 Update SNAPSHOT to 2.2.5.RELEASE 2020-08-28 20:21:13 +00:00
Marcin Grzejszczak
ed68a109c6 Merge branch '2.2.x' 2020-08-06 17:14:39 +02:00
Marcin Grzejszczak
aea67cb0bb Improved checks on final methods and cglib proxy creation; fixes gh-1569 2020-08-06 17:13:45 +02:00
Marcin Grzejszczak
3ecd34d9c2 Merge branch '2.2.x' 2020-08-05 18:29:44 +02:00
Marcin Grzejszczak
f31df6b3e2 Resolves the remote ip when behind proxy; fixes gh-1683 2020-08-05 18:28:19 +02:00
Marcin Grzejszczak
466749588e Added Reactor Netty Http 2020-08-05 14:34:43 +02:00
buildmaster
bb8d203f4c Bumping versions to 2.2.5.BUILD-SNAPSHOT after release 2020-07-31 21:27:20 +00:00
buildmaster
8fe9812944 Going back to snapshots 2020-07-31 21:27:20 +00:00
buildmaster
db7427984e Update SNAPSHOT to 2.2.4.RELEASE 2020-07-31 21:25:19 +00:00
spencergibb
cd72c6954f Comments out failing bit of test.
See gh-1702
2020-07-31 15:45:31 -04:00
Marcin Grzejszczak
1c33332320 Further WebFlux and Messaging Reactor Sleuth improvements (#1699)
* Improving performance and adding docs
2020-07-28 18:02:16 +02:00
buildmaster
dca561e4e8 Going back to snapshots 2020-07-23 18:49:08 +00:00
buildmaster
f352801918 Update SNAPSHOT to 3.0.0-M3 2020-07-23 18:47:48 +00:00
Marcin Grzejszczak
bd149ce4a7 Improvement with Reactor instrumentation
- adds Spring Cloud Function instrumentation
- adds Operators to manually provide instrumentation for Fluxes
- introduces Manual instrumentation mode for Reactor

TODO: Documentation (will add it soon)

related gh-1684
2020-07-21 19:06:55 +02:00
Marcin Grzejszczak
3ea7460913 Merge branch '2.2.x' 2020-06-30 14:36:13 +02:00
Ivo Smid
18c27d9a43 Optional/Null parameter used within @SpanTag 2020-06-30 14:26:54 +02:00
Roberto Tassi
791f729f49 Adds tracing on every factory methods in KafkaListenerContainerFactory (#1665) 2020-06-29 15:13:52 +02:00
Ivo Smid
62225e6905 Optional/Null parameter used within @SpanTag 2020-06-21 20:56:17 +02:00
buildmaster
93ea0d6b00 Going back to snapshots 2020-05-29 19:03:35 +00:00
buildmaster
640faa7c30 Update SNAPSHOT to 3.0.0-M2 2020-05-29 19:02:42 +00:00
buildmaster
6b8dd82346 Bumping versions to 2.2.4.BUILD-SNAPSHOT after release 2020-05-28 20:00:54 +00:00
buildmaster
4b961dcdf3 Going back to snapshots 2020-05-28 20:00:54 +00:00
buildmaster
fdf4c647df Update SNAPSHOT to 2.2.3.RELEASE 2020-05-28 19:57:31 +00:00
Adrian Cole
a6573bc2a5 Uses B3 single for non-remote spans (2.2.x) (#1655)
This makes sure there cannot be JMS problems related to use of
hyphenated headers unless someone overrides the `Propagation.Factory`.

To avoid this, we set non-remote spans to B3 single format as done on
the 3.x branch here:
https://github.com/spring-cloud/spring-cloud-sleuth/pull/1607/files#diff-db43b7e91bd69d063333c20b947c902bR83-R84
2020-05-26 14:42:27 +08:00
Marcin Grzejszczak
de399c8959 Merge branch '2.2.x' 2020-05-22 14:02:11 +02:00
Marcin Grzejszczak
473549f000 Removed / ignored flakey tests; fixes gh-1635; fixes gh-1652 2020-05-22 13:51:14 +02:00
Adrian Cole
ddea6860cb Merge branch '2.2.x' 2020-05-20 08:59:03 +08:00
Adrian Cole
d02493ca40 Reverts JmsTracingConfigurationTest test configuration
JmsTracingConfigurationTest flakes in Jenkins for some reason that appears
like either the test rule not being honored or tests run concurrently.
2020-05-20 08:30:01 +08:00
Adrian Cole
4ed3db9a27 Drops zipkin dependency from spring-cloud-sleuth-core (#1649)
There was emmense work to prepare for decoupling of spring-cloud-sleuth-core
from Zipkin. This included complete test conversion and deprecations between
2.2.x and 3.0.x.

This moves all Zipkin related code to spring-cloud-sleuth-zipkin, making the
primary data recording tool `SpanHandler` as opposed to `Reporter<zipkin2.Span>`

For example, Wavefront and soon Stackdriver can implement `SpanHandler` and
skip conversion into the Zipkin model first. `SpanHandler` also includes
begin and end hooks which allow data extensions to be developed.

see https://github.com/wavefrontHQ/wavefront-spring-boot
2020-05-19 08:22:54 +08:00
Adrian Cole
31fb3001c5 Merge branch '2.2.x' 2020-05-18 23:58:46 +08:00