Marcin Grzejszczak
899410a2b0
Updated copyrights
2021-02-25 15:24:10 +01:00
Marcin Grzejszczak
de33b91739
Upgraded copyrights
2021-02-25 12:43:46 +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
buildmaster
05461159eb
Bumping versions
2020-09-17 05:29:17 +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
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
Marcin Grzejszczak
3ce018bc51
Upgrades to JUnit5; fixes gh-1567
2020-03-03 19:53:57 +01:00
Marcin Grzejszczak
59216c32f7
Calling asyncreporter#check upon bean registration ( #1413 )
...
fixes gh-1411
2019-07-31 22:53:14 +02:00
Marcin Grzejszczak
f4b979e574
Fixed broken compilation
2019-05-20 12:31:49 +02:00
Spring Operator
929d6c440c
URL Cleanup ( #1309 )
...
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).
# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.
* [ ] http://ajaxian.com/archives/100-line-ajax-wrapper (200) with 1 occurrences could not be migrated:
([https](https://ajaxian.com/archives/100-line-ajax-wrapper ) result ConnectTimeoutException).
* [ ] http://dubbo.io/ (200) with 1 occurrences could not be migrated:
([https](https://dubbo.io/ ) result SSLHandshakeException).
# Fixed URLs
## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.
* [ ] http://jaubourg.net/2010/07/loading-script-as-onclick-handler-of.html (AnnotatedConnectException) with 1 occurrences migrated to:
https://jaubourg.net/2010/07/loading-script-as-onclick-handler-of.html ([https](https://jaubourg.net/2010/07/loading-script-as-onclick-handler-of.html ) result AnnotatedConnectException).
* [ ] http://192.168.99.100:9411/ (ConnectTimeoutException) with 2 occurrences migrated to:
https://192.168.99.100:9411/ ([https](https://192.168.99.100:9411/ ) result ConnectTimeoutException).
* [ ] http://host.com:9999/ticker/12/basd (ConnectTimeoutException) with 1 occurrences migrated to:
https://host.com:9999/ticker/12/basd ([https](https://host.com:9999/ticker/12/basd ) result ConnectTimeoutException).
* [ ] http://compose.docker.io/ (UnknownHostException) with 1 occurrences migrated to:
https://compose.docker.io/ ([https](https://compose.docker.io/ ) result UnknownHostException).
* [ ] http://non.existing.url (UnknownHostException) with 1 occurrences migrated to:
https://non.existing.url ([https](https://non.existing.url ) result UnknownHostException).
* [ ] http://cloud.spring.io/spring-cloud-static/Dalston.SR4/multi/multi__span_data_as_messages.html (404) with 1 occurrences migrated to:
https://cloud.spring.io/spring-cloud-static/Dalston.SR4/multi/multi__span_data_as_messages.html ([https](https://cloud.spring.io/spring-cloud-static/Dalston.SR4/multi/multi__span_data_as_messages.html ) result 404).
* [ ] http://docssleuth-zipkin-server.cfapps.io/dependency (404) with 4 occurrences migrated to:
https://docssleuth-zipkin-server.cfapps.io/dependency ([https](https://docssleuth-zipkin-server.cfapps.io/dependency ) result 404).
* [ ] http://www.erg.abdn.ac.uk/~gerrit/dccp/notes/ccid2/rto_estimator/ (301) with 1 occurrences migrated to:
https://erg.abdn.ac.uk/~gerrit/dccp/notes/ccid2/rto_estimator/ ([https](https://www.erg.abdn.ac.uk/~gerrit/dccp/notes/ccid2/rto_estimator/ ) result 404).
* [ ] http://www.puppycrawl.com/dtds/suppressions_1_1.dtd (404) with 1 occurrences migrated to:
https://www.puppycrawl.com/dtds/suppressions_1_1.dtd ([https](https://www.puppycrawl.com/dtds/suppressions_1_1.dtd ) result 404).
* [ ] http://zipkin.io/pages/existing_instrumentations.html (301) with 1 occurrences migrated to:
https://zipkin.io/pages/existing_instrumentations.html ([https](https://zipkin.io/pages/existing_instrumentations.html ) result 404).
## 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://asciidoctor.org with 1 occurrences migrated to:
https://asciidoctor.org ([https](https://asciidoctor.org ) result 200).
* [ ] http://bugs.jquery.com/ticket/1450 with 2 occurrences migrated to:
https://bugs.jquery.com/ticket/1450 ([https](https://bugs.jquery.com/ticket/1450 ) result 200).
* [ ] http://bugs.jquery.com/ticket/5280 with 1 occurrences migrated to:
https://bugs.jquery.com/ticket/5280 ([https](https://bugs.jquery.com/ticket/5280 ) result 200).
* [ ] http://cloud.spring.io with 2 occurrences migrated to:
https://cloud.spring.io ([https](https://cloud.spring.io ) result 200).
* [ ] http://docs.spring.io/spring-hateoas/docs/current/reference/html/ with 1 occurrences migrated to:
https://docs.spring.io/spring-hateoas/docs/current/reference/html/ ([https](https://docs.spring.io/spring-hateoas/docs/current/reference/html/ ) result 200).
* [ ] http://docssleuth-service1.cfapps.io/start with 1 occurrences migrated to:
https://docssleuth-service1.cfapps.io/start ([https](https://docssleuth-service1.cfapps.io/start ) result 200).
* [ ] http://en.wikipedia.org/wiki/Mapping_of_Unicode_characters with 1 occurrences migrated to:
https://en.wikipedia.org/wiki/Mapping_of_Unicode_characters ([https](https://en.wikipedia.org/wiki/Mapping_of_Unicode_characters ) result 200).
* [ ] http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/ with 1 occurrences migrated to:
https://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/ ([https](https://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/ ) result 200).
* [ ] http://opentracing.io/ with 3 occurrences migrated to:
https://opentracing.io/ ([https](https://opentracing.io/ ) result 200).
* [ ] http://projects.spring.io/spring-integration/ with 1 occurrences migrated to:
https://projects.spring.io/spring-integration/ ([https](https://projects.spring.io/spring-integration/ ) result 200).
* [ ] http://stackoverflow.com/questions/12817946/generate-a-random-bitset-with-n-1s with 1 occurrences migrated to:
https://stackoverflow.com/questions/12817946/generate-a-random-bitset-with-n-1s ([https](https://stackoverflow.com/questions/12817946/generate-a-random-bitset-with-n-1s ) result 200).
* [ ] http://stackoverflow.com/questions/1641507/detect-browser-support-for-cross-domain-xmlhttprequests with 1 occurrences migrated to:
https://stackoverflow.com/questions/1641507/detect-browser-support-for-cross-domain-xmlhttprequests ([https](https://stackoverflow.com/questions/1641507/detect-browser-support-for-cross-domain-xmlhttprequests ) result 200).
* [ ] http://stevesouders.com/misc/test-postmessage.php with 2 occurrences migrated to:
https://stevesouders.com/misc/test-postmessage.php ([https](https://stevesouders.com/misc/test-postmessage.php ) result 200).
* [ ] http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html with 2 occurrences migrated to:
https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html ([https](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html ) result 200).
* [ ] http://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order with 1 occurrences migrated to:
https://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order ([https](https://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order ) result 200).
* [ ] http://www.splunk.com/ with 2 occurrences migrated to:
https://www.splunk.com/ ([https](https://www.splunk.com/ ) result 200).
* [ ] http://www.w3.org/TR/DOM-Level-2-Events/events.html with 1 occurrences migrated to:
https://www.w3.org/TR/DOM-Level-2-Events/events.html ([https](https://www.w3.org/TR/DOM-Level-2-Events/events.html ) result 200).
* [ ] http://htrace.incubator.apache.org/ with 2 occurrences migrated to:
https://htrace.incubator.apache.org/ ([https](https://htrace.incubator.apache.org/ ) result 301).
* [ ] http://msdn.microsoft.com/en-us/library/cc197015 with 1 occurrences migrated to:
https://msdn.microsoft.com/en-us/library/cc197015 ([https](https://msdn.microsoft.com/en-us/library/cc197015 ) result 301).
* [ ] http://msdn.microsoft.com/en-us/library/cc288060 with 1 occurrences migrated to:
https://msdn.microsoft.com/en-us/library/cc288060 ([https](https://msdn.microsoft.com/en-us/library/cc288060 ) result 301).
* [ ] http://plugins.jetbrains.com/plugin/6546 with 2 occurrences migrated to:
https://plugins.jetbrains.com/plugin/6546 ([https](https://plugins.jetbrains.com/plugin/6546 ) result 301).
* [ ] http://research.google.com/pubs/pub36356.html with 5 occurrences migrated to:
https://research.google.com/pubs/pub36356.html ([https](https://research.google.com/pubs/pub36356.html ) result 301).
* [ ] http://docsbrewing-zipkin-server.cfapps.io/ with 1 occurrences migrated to:
https://docsbrewing-zipkin-server.cfapps.io/ ([https](https://docsbrewing-zipkin-server.cfapps.io/ ) result 302).
* [ ] http://docssleuth-zipkin-server.cfapps.io/ with 5 occurrences migrated to:
https://docssleuth-zipkin-server.cfapps.io/ ([https](https://docssleuth-zipkin-server.cfapps.io/ ) result 302).
* [ ] http://eclipse.org with 1 occurrences migrated to:
https://eclipse.org ([https](https://eclipse.org ) result 302).
* [ ] http://eclipse.org/m2e/ with 2 occurrences migrated to:
https://eclipse.org/m2e/ ([https](https://eclipse.org/m2e/ ) result 302).
* [ ] http://www.springsource.com/developer/sts with 1 occurrences migrated to:
https://www.springsource.com/developer/sts ([https](https://www.springsource.com/developer/sts ) result 302).
# Ignored
These URLs were intentionally ignored.
* http://127.0.0.1 with 1 occurrences
* http://abc with 1 occurrences
* http://asdasd:111/asd with 1 occurrences
* http://exceptionservice/ with 2 occurrences
* http://foo with 2 occurrences
* http://foo/ with 1 occurrences
* http://fooservice/ with 1 occurrences
* http://fooservice/nonExistent with 1 occurrences
* http://fooservice/noresponse with 1 occurrences
* http://fooservice/notrace with 9 occurrences
* http://fooservice/traceid with 1 occurrences
* http://localhost with 70 occurrences
* http://localhost/?foo=bar with 4 occurrences
* http://localhost:3379 with 1 occurrences
* http://localhost:3380 with 2 occurrences
* http://localhost:3380/async with 1 occurrences
* http://localhost:3380/call with 1 occurrences
* http://localhost:3381 with 1 occurrences
* http://localhost:80/abc with 1 occurrences
* http://localhost:8080/ with 1 occurrences
* http://localhost:9411 with 1 occurrences
* http://localhost:9411/ with 1 occurrences
* http://localhost:9978 with 1 occurrences
* http://localhost:9978/hello/mikesarver with 1 occurrences
* http://localhost:9987/unknown with 1 occurrences
* http://localhost:9988/sleuth/test-not-ok with 1 occurrences
* http://localhost:9998 with 1 occurrences
* http://localhost:9998/sleuth/test-not-ok with 1 occurrences
* http://localhost:9998/sleuth/test-ok with 1 occurrences
* http://some/address with 1 occurrences
* http://zipkin/ with 1 occurrences
* http://zipkin/call with 1 occurrences
* http://zipkin/hi2 with 1 occurrences
* http://zipkinserver/ with 2 occurrences
2019-03-29 11:22:06 +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
Marcin Grzejszczak
99d38afc69
Fixed a lot of checkstyle warnings'
2018-10-01 12:29:33 +02:00
Marcin Grzejszczak
f18b3369e0
Percentage -> probability
2018-03-11 09:20:01 +01:00
Marcin Grzejszczak
6b3593660f
Updated copyrights, fixed zuul
2018-01-31 10:56:48 +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
Marcin Grzejszczak
63ad13a561
Merge branch '1.3.x'
2017-12-18 16:56:30 +01:00
Marcin Grzejszczak
8a190ddabc
Fixed flickering test (due to starting 0 in the traceid)
2017-12-03 09:34:01 -05:00
Marcin Grzejszczak
68709c7843
Trying to fix the build
2017-11-21 19:35:17 +01:00
Marcin Grzejszczak
b60ff42fc8
Made ZIpkin 2 default
...
fixes #785
2017-11-20 23:06:13 +01:00
Adrian Cole
4ddf929294
Adds Zipkin v2 support ( #720 )
...
This adds the ability to use zipkin v2 endpoints natively. It also
allows wiring of standard zipkin reporters and senders.
2017-10-03 08:47:33 +02:00
Marcin Grzejszczak
92d7c3443a
Bumped libraries
...
awaitillity to 3.0.0
wiremock to 2.6.0
junit params to 1.1.0
assertj to 3.8.0
fixes #620
2017-06-27 15:05:39 +02:00
Dave Syer
a0adcecba0
Update to Spring Boot 1.5
2016-12-12 12:52:21 +00:00
Marcin Grzejszczak
e28ddc0e72
Migrated to new SpringBootTest
...
fixes #328
2016-07-19 23:35:30 +02:00
Marcin Grzejszczak
f199321878
Added circle.ci integration
...
- also limited to 5 seconds awaits
2016-07-11 15:14:21 +02:00
Marcin Grzejszczak
98c99db209
Fixed integration tests to use ZipkinRule
...
Introduce assertj assertions (#315 )
* Introduce assertJ assertions in some tests
* Fix code formatting to be inline with Spring rules
2016-06-27 15:47:16 +02:00
Marcin Grzejszczak
1f58be4079
Randomized port for Zipkin tests
2016-06-17 10:22:32 +02:00
Dave Syer
00b67a87d5
Remove @Bean RestTemplate
...
(If users need one they can add it themselves)
Fixes gh-239
2016-03-31 13:31:34 +01:00
Marcin Grzejszczak
146f7f652b
Removed events and replaced them with method calls
...
fixes #156
2016-03-13 10:37:01 +01:00
Marcin Grzejszczak
e5b1495613
Simplified Tracer API
2016-03-04 11:50:59 +01:00
Adrian Cole
51b542e34b
Updates to latest zipkin, adding spring.zipkin.compression.enabled flag
...
This updates to latest zipkin, adding a flag to gzip spans before
posting them. Note this is set to false by default as it requires servers
to also be latest. We can flip the default once we can assume that.
Ex. `spring.zipkin.compression.enabled = true`
2016-02-25 21:11:58 +08:00
Marcin Grzejszczak
c0620c410c
[ #160 ] Removed unnecessary Slf4j loggers
...
fixes #160
2016-02-18 11:23:09 +01:00
Marcin Grzejszczak
8333c31c99
[ #158 ] Removing span name
...
fixes #158
2016-02-16 08:28:22 +01:00
Dave Syer
77abdf7798
Remove brave dependencies
2016-02-11 12:35:51 +00:00
Marcin Grzejszczak
ee8d7a54c7
Delomboking
2016-02-10 19:09:20 +01:00
Marcin Grzejszczak
1b0c8dfee5
[ #146 ] Introduced SpanName
...
- Added aspect to provide better naming for @Async
fixes #146
2016-02-09 15:25:36 +01:00
Dave Syer
d8b72473d1
Ensure sampler is called with the new span if it is to be started
2016-02-01 18:01:34 +00:00
Dave Syer
6d3b8ffc60
Removes testcontainers and mouldy jackson dependencies
2016-02-01 17:30:15 +00:00
Dave Syer
70b18054e1
Add Span to Sampler method params
...
Also allows us to actually create a PercentageBasedSampler (I
don't think anyone tried it before) without resorting to
lazy beans and proxies.
Another freature added here is a default percentage sampler
if we know that spans need to be exported (zipkin or stream
is present).
Fixes gh-138
2016-02-01 17:00:00 +00:00
Dave Syer
065338118b
Reomve unecessary custom log config
2016-02-01 16:08:38 +00:00
Adrian Cole
763d2d027c
Updates to latest zipkin, which encourages new http tags
2016-01-25 10:51:05 +01:00
Adrian Cole
b6054bfbe4
Clarifies configuration in zipkin sample
2016-01-25 09:24:54 +01:00
Marcin Grzejszczak
301c6b230a
[ #99 ] Basic Health Metrics
...
Changes following review
- Reusing CounterService to automatically profit from Dropwizard if present
- NoOp is the default impl for SpanReporterService
- SpanReporterService has configurable metric names (it's enough to change the
name to 'meter.a.b.c' to profit from Dropwizard's meters)
Fixes gh-99
2016-01-21 15:55:26 +01:00
Marcin Grzejszczak
d22a497b0c
TraceAccessor -> SpanAccessor
2016-01-20 14:39:08 +01:00
Marcin Grzejszczak
7b6a533498
Fixed checkstyle issues
2016-01-20 12:36:38 +01:00
Marcin Grzejszczak
d5b523d021
Converted MilliSpan to Span. Removed the interface
2016-01-20 10:52:02 +01:00
Marcin Grzejszczak
797ca4f50c
Removed Trace
2016-01-20 10:50:43 +01:00
Adrian Cole
9bcab5b0c6
Updates to zipkin-java 0.4.3
2016-01-20 12:22:18 +08:00