Commit Graph

209 Commits

Author SHA1 Message Date
buildmaster
fd707d5d67 Bumping versions 2021-02-19 05:30:04 +00:00
buildmaster
6b0ceb7ede Bumping versions 2021-01-28 05:30:33 +00:00
buildmaster
2dc9556cc3 Bumping versions to 3.0.2-SNAPSHOT after release 2021-01-27 21:15:42 +00:00
buildmaster
5394ecb9ec Going back to snapshots 2021-01-27 21:15:41 +00:00
buildmaster
49f5528e69 Update SNAPSHOT to 3.0.1 2021-01-27 21:12:10 +00:00
Marcin Grzejszczak
82766eeaef Updated jmh 2021-01-13 11:03:10 +01:00
buildmaster
ca2e15fc76 Bumping versions 2020-12-22 18:28:05 +00:00
buildmaster
ea66740e2e Bumping versions 2020-12-22 05:29:47 +00:00
buildmaster
7ed5683386 Bumping versions to 3.0.1-SNAPSHOT after release 2020-12-21 20:12:10 +00:00
buildmaster
749c1cc9e2 Going back to snapshots 2020-12-21 20:12:10 +00:00
buildmaster
dbe4853e36 Update SNAPSHOT to 3.0.0 2020-12-21 20:07:38 +00:00
buildmaster
02c00bb682 Bumping versions 2020-12-18 05:29:57 +00:00
buildmaster
be35aaec21 Going back to snapshots 2020-12-11 22:29:42 +00:00
buildmaster
5630b3fa61 Update SNAPSHOT to 3.0.0-RC1 2020-12-11 22:27:43 +00:00
Marcin Grzejszczak
4c3d12e639 Removed OTel (#1802) 2020-12-10 22:19:57 +01:00
buildmaster
f3b384a8aa Going back to snapshots 2020-12-01 23:11:38 +00:00
buildmaster
df54a7b772 Update SNAPSHOT to 3.0.0-M6 2020-12-01 23:09:32 +00: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
buildmaster
791b397964 Bumping versions 2020-11-17 05:31:08 +00:00
buildmaster
14b14e8196 Bumping versions 2020-11-07 05:30:54 +00: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
e6ebce4505 Bumping versions 2020-10-17 05:28:33 +00: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
dependabot-preview[bot]
4cdc13a731 Bump okhttp from 4.8.0 to 4.9.0 (#1743)
Bumps [okhttp](https://github.com/square/okhttp) from 4.8.0 to 4.9.0.
- [Release notes](https://github.com/square/okhttp/releases)
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/square/okhttp/compare/parent-4.8.0...parent-4.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-10-01 09:52:16 +02:00
buildmaster
d969aa7b54 Bumping versions 2020-09-30 05:31:01 +00:00
Marcin Grzejszczak
9d1150356b libs-X-local to X migration 2020-08-06 15:07:53 +02:00
Marcin Grzejszczak
965d22ff08 Bumped okhttp to 4.8.0 2020-08-05 18:05:06 +02:00
dependabot-preview[bot]
3428a942ac Bump jmeter-maven-plugin from 1.10.1 to 3.1.1 (#1704)
Bumps [jmeter-maven-plugin](https://github.com/jmeter-maven-plugin/jmeter-maven-plugin) from 1.10.1 to 3.1.1.
- [Release notes](https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/releases)
- [Changelog](https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/compare/jmeter-maven-plugin-1.10.1...3.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-05 17:37:55 +02: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
buildmaster
2cb00038bb Bumping versions 2020-07-17 05:29:07 +00:00
buildmaster
15a7a543d0 Bumping versions 2020-05-30 05:29:28 +00: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
7ecf64a607 Bumping versions 2020-05-27 05:29:15 +00:00
Adrian Cole
31fb3001c5 Merge branch '2.2.x' 2020-05-18 23:58:46 +08:00
Adrian Cole
453be43b5a bump 2020-05-18 21:13:23 +08:00
Adrian Cole
3da9de053e Merge branch '2.2.x' 2020-05-18 20:20:40 +08:00
Adrian Cole
40785d642a Removes Zipkin dependency from all tests (#1645)
Brave's SpanHandler can report natively in other formats which have different
constraints than Zipkin and often extensions to the data model.

This change ports all tests away from Zipkin's types so that it is more clear
what's actually recorded vs what's a side-effect of Zipkin conversion.

This removes `BlockingQueueSpanReporter` which was never released, also.
2020-05-18 17:02:29 +08:00
Adrian Cole
58094e4d76 Merge branch '2.2.x' 2020-05-17 22:38:01 +08:00
Adrian Cole
99ce7cdd1c latest brave 2020-05-17 21:01:31 +08:00
Adrian Cole
8ae5e13d31 Merge branch '2.2.x' 2020-05-16 15:15:37 +08:00
Adrian Cole
b1d39ce291 Updates to Brave 5.12 and introduces SpanHandler (#1632)
`SpanHandler` is the base type for the now deprecated `FinishedSpanHandler`.

Notable, it can not just handle things at the end of a recording, but also the
beginning.

For example, this permits set-once baggage without the HTTP abstraction:
```java
static final BaggageField EPOCH_SECONDS = BaggageField.create("epoch_seconds");

static final class RootOnlyBaggage extends SpanHandler {
  @Override
  public boolean begin(TraceContext context, MutableSpan span, @Nullable TraceContext parent) {
    if (EPOCH_SECONDS.getValue(context) == null) { // only set at the first span
      long epochSeconds = System.currentTimeMillis() / 1000;
      EPOCH_SECONDS.updateValue(context, String.valueOf(epochSeconds));
    }
    return true;
  }

  @Override public boolean end(TraceContext context, MutableSpan span, Cause cause) {
    Tags.BAGGAGE_FIELD.tag(EPOCH_SECONDS, context, span);
    return true;
  }
}
```

As the parent is available, it can also facilitate advanced tasks like counting
children, or summarizing entire local roots.

See https://github.com/openzipkin/brave/tree/master/brave/src/test/java/brave/features/handler
and https://github.com/openzipkin/brave/blob/master/brave/src/main/java/brave/handler/SpanHandler.java for more
2020-05-16 14:01:38 +08:00
buildmaster
d41d75a3eb Bumping versions 2020-04-17 14:53:39 +00:00
buildmaster
08a575141d Going back to snapshots 2020-04-09 22:48:15 +00:00