Commit Graph

54 Commits

Author SHA1 Message Date
Marcin Grzejszczak
f8722250de Disabled stream from benchmarks 2022-04-21 10:39:22 +02:00
Marcin Grzejszczak
938a30af7e Fixed type checking for Publisher<Non-Message>; fixes gh-2079 2021-12-14 13:50:50 +01:00
Marcin Grzejszczak
9a90127098 Fixed benchmarks 2021-12-14 13:19:53 +01:00
Marcin Grzejszczak
acaf6ce039 Fixing stream benchmarks 2021-11-08 10:35:53 +01:00
Marcin Grzejszczak
e9d55a3af0 Added awaitility to benchmarks 2021-07-02 13:13:42 +02:00
Marcin Grzejszczak
3709ed80e7 Fixed missing options for benchmarks 2021-04-06 11:44:25 +02:00
Marcin Grzejszczak
8321b23658 Fixes benchmarks 2021-04-01 12:24:38 +02:00
Marcin Grzejszczak
cb9d45d3fe Merge branch '2.2.x' 2021-02-26 14:17:34 +01:00
Marcin Grzejszczak
2e902a7fec Makes the new queueInstrumentation opt-in 2021-02-26 13:53:52 +01:00
Marcin Grzejszczak
800a4dd5ce Polish 2021-02-26 10:07:47 +01:00
Marcin Grzejszczak
b398ae6be3 Updated benchmarks 2021-02-26 09:38:44 +01:00
Marcin Grzejszczak
899410a2b0 Updated copyrights 2021-02-25 15:24:10 +01:00
Marcin Grzejszczak
05d5678eba New reactor queue wrapping (#1858)
fixes gh-1843
2021-02-25 15:22:57 +01:00
Marcin Grzejszczak
36bc95976d Changed the name from decorateHooks to decorateQueues 2021-02-25 15:22:00 +01:00
Marcin Grzejszczak
de33b91739 Upgraded copyrights 2021-02-25 12:43:46 +01:00
Marcin Grzejszczak
a937765c9f New reactor queue wrapping (#1858)
fixes gh-1843
2021-02-25 12:43:00 +01:00
Jonatan Ivanov
6b006802e2 Fixing the mockmvc-controller binding for RestTemplate JMH tests (#1829) 2021-01-20 19:31:54 -08:00
Jonatan Ivanov
ff14416cea Fixing the mockmvc-controller binding for the JMH tests (#1828) 2021-01-20 17:22:53 -08:00
Jonatan Ivanov
8445181099 JMH app start fix (#1827)
* Splitting async with and without sleuth tests to make future troubleshooting easier

* Making Tracer optional
2021-01-20 17:07:37 -08:00
Marcin Grzejszczak
e2b9056b4f Fixed benchmarks 2021-01-13 10:13:50 +01:00
Marcin Grzejszczak
78c543f5f1 Fixed broken compilation 2020-12-16 16:19:49 +01:00
Marcin Grzejszczak
4c3d12e639 Removed OTel (#1802) 2020-12-10 22:19:57 +01:00
Marcin Grzejszczak
f8245ac769 Fixed benchmarks 2020-11-26 10:40:56 +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
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
Marcin Grzejszczak
1c33332320 Further WebFlux and Messaging Reactor Sleuth improvements (#1699)
* Improving performance and adding docs
2020-07-28 18:02:16 +02:00
Marcin Grzejszczak
b0a8a81b49 Added 2 more benchmarks 2020-07-23 12:38:52 +02:00
Marcin Grzejszczak
52998b39a3 Fixes how jmh csv reports are stored 2020-07-22 16:05:28 +02:00
Marcin Grzejszczak
4fb3edcb1d Adding more logs, fixing rest template based benchmark 2020-07-22 12:42:35 +02:00
Marcin Grzejszczak
3a00067a47 Changed from seconds back to milis 2020-07-22 12:22:59 +02:00
Marcin Grzejszczak
ccef96f1b6 Speeds up and lowers memory consumption 2020-07-22 09:30:44 +02:00
Marcin Grzejszczak
41010c103d Fix 2020-07-22 08:32:04 +02:00
Marcin Grzejszczak
a49773d639 Fix 2020-07-22 08:10:59 +02:00
Marcin Grzejszczak
0e9b86db16 Fix 2020-07-22 07:45:08 +02:00
Marcin Grzejszczak
eca49777fb Fix 2020-07-21 21:33:24 +02: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
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
Marcin Grzejszczak
cd2e2c2d49 Configure Reactor instrumentation to wrap onLastOperator or onEachOperator
with this feature we would allow user to pick whether they instrument on each or on last operator.

fixes gh-1478
2019-10-30 13:09:30 +01:00
Spring Operator
ac9774d8f7 URL Cleanup (#1279)
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://www.apache.org/licenses/ with 1 occurrences migrated to:
  https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/) result 200).
* [ ] http://www.apache.org/licenses/LICENSE-2.0 with 338 occurrences migrated to:
  https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0) result 200).
2019-03-22 09:56:20 +01:00
Marcin Grzejszczak
2f7cf78614 Applied checkstyle 2019-02-07 16:41:59 +01:00
Alvin
ef5efd8041 Reduce scoping overhead of WebFlux and adds Benchmarks (#1111) 2018-10-18 22:10:53 +08:00
Marcin Grzejszczak
551429aba0 Fixing benchmarks? 2018-07-13 11:45:15 -04:00
Marcin Grzejszczak
b3710e5c2d Fixing benchmarks? 2018-07-13 11:39:07 -04:00
Marcin Grzejszczak
8a9a8c039b Fixed broken compilation 2018-07-13 11:08:01 -04:00
Marcin Grzejszczak
c801228015 TraceFilter -> TracingFilter 2018-05-17 07:56:45 +02:00
Marcin Grzejszczak
4682920675 Started the manually created span 2018-01-29 14:09:01 +01:00
Marcin Grzejszczak
4ed804590a Removed the last remnants of the legacy Spans... goodbye 2018-01-19 23:16:05 +01:00
Marcin Grzejszczak
7eb374b5a5 Sleuth now uses Brave (#829)
with this pull request we have rewritten the whole Sleuth internals to use Brave. That way we can leverage all the functionalities & instrumentations that Brave already has (https://github.com/openzipkin/brave/tree/master/instrumentation).

Migration guide is available here: https://github.com/spring-cloud/spring-cloud-sleuth/wiki/Spring-Cloud-Sleuth-2.0-Migration-Guide

fixes #711 - Brave instrumentation
fixes #92 - we move to Brave's Sampler
fixes #143 - Brave is capable of passing context
fixes #255 - we've moved away from Zipkin Stream server
fixes #305 - Brave has GRPC instrumentation (https://github.com/openzipkin/brave/tree/master/instrumentation/grpc)
fixes #459 - Brave (openzipkin/brave#510) & Zipkin (openzipkin/zipkin#1754) will deal with the AWS XRay instrumentation
fixes #577 - Messaging instrumentation has been rewritten
2018-01-19 22:45:47 +01:00
Dave Syer
c43345f197 Merge branch 'master' into 2.0.x 2017-07-26 11:52:10 +01:00
Dave Syer
5ad34cf6e6 Add startup benchmarks 2017-07-26 11:51:23 +01:00