Commit Graph

675 Commits

Author SHA1 Message Date
Marcin Grzejszczak
33dd940fd7 RestTemplate: register Trace interceptor *first* in the chain; fixes #822 2018-01-20 17:48:32 +01:00
Marcin Grzejszczak
2bd669cb2c Should detach span from trace filter for async; fixes #728 2018-01-20 16:58:03 +01:00
Marcin Grzejszczak
89176772bc Added a test for a pollable channel 2018-01-11 11:17:49 +01:00
Marcin Grzejszczak
c1f0951b7d Merge branch '1.2.x' into 1.3.x 2017-12-18 18:56:01 +01:00
Marcin Grzejszczak
09ab94b59d Fixed invalid reading from 'key' attribute of SpanTag; fixes #800 2017-12-18 18:54:47 +01:00
Marcin Grzejszczak
4520268303 Made tests less brittle 2017-11-22 10:30:01 +01:00
Marcin Grzejszczak
82cff6e9e9 Merge branch '1.2.x' 2017-11-22 10:17:39 +01:00
Marcin Grzejszczak
2d53a38c14 Wrapping the feign object in a different way 2017-11-22 10:07:40 +01:00
Marcin Grzejszczak
b4ecb6f957 Ensure we're not tracing the traced feign clients
fixes #791
2017-11-21 19:22:44 +01:00
Marcin Grzejszczak
8e9fa7125c Ensure we're not tracing the traced feign clients
fixes #791
2017-11-21 19:07:06 +01:00
Marcin Grzejszczak
2ecd77d151 Fighting flakey tests 2017-11-17 12:02:05 +01:00
Marcin Grzejszczak
08b5d04133 Removed @EnableAsync from configuration; fixes #780 2017-11-14 18:03:03 +01:00
Marcin Grzejszczak
e2c11b592c Added RestTemplateBuilder support
fixes #777
2017-11-14 14:57:27 +01:00
Marcin Grzejszczak
360f7ed187 Removed type target from New/ContinueSpan; fixes #772 2017-11-14 11:32:25 +01:00
Marcin Grzejszczak
4203566d87 Exceptions that escape SpringMVC DispatcherServlet should be logged with trace & span IDs
without this change any exception that is not caught by a filter, get caught and logged by server's internals (e.g. Tomcat's Valve). To make the Valve log the exception together with the tracing information we would have to allow the tracing context remain in the thread after TraceFilter gets executed. That is problematic cause we're polluting the ThreadLocal and would have to assume that some component will eventually clear the context.

with this change we're trying to solve the issue from a different angle. Whenever an uncaught exception is thrown, we are already catching it in the `catch(...) {}` clause. It's enough to just log it at the error level and that way, regardless of the underlying server implementation (Tomcat, Undertow) we will log the uncaught exception and rethrow it.

fixes #714
2017-11-03 22:41:50 +01:00
Marcin Grzejszczak
f1a6a7f687 Merge branch '1.2.x' 2017-11-02 05:55:53 +01:00
Marcin Grzejszczak
dadb46731e Sleuth no longer corrupts Error Message Channel Headers (#765)
fixes #761
2017-11-01 14:21:41 +01:00
Marcin Grzejszczak
c4241413a0 Merge branch '1.2.x' 2017-10-23 20:40:33 +02:00
Marcin Grzejszczak
3c2c43adff Fixed the invalid closing of spans; fixes #759 2017-10-23 19:39:08 +02:00
Marcin Grzejszczak
5fff2e03a2 Merge branch '1.2.x' 2017-10-20 12:48:11 +02:00
Marcin Grzejszczak
6f85526096 Setting headers instead of adding them for Zuul; fixes #755 2017-10-20 12:47:15 +02:00
Marcin Grzejszczak
5bdc64ab6c Merged 1.2.x to master 2017-10-19 13:49:29 +02:00
Dave Syer
70821f4dc3 Test executor channel interceptor 2017-10-18 10:13:57 +01:00
Dave Syer
00e9a1f5dc Add tests for native headers in message interceptor 2017-10-18 10:13:57 +01:00
Dave Syer
c21a1e6dda Test for intercepting broker channel 2017-10-18 10:13:57 +01:00
Dave Syer
85d8151592 Ensure native headers get added to STOMP messages
Also changed some of the span creation logic in the messaging
interceptor. Seems to make sense. Need more tests.
2017-10-18 10:13:47 +01:00
Adrian Cole
8221068581 Encodes epoch seconds into first 32bits of a 128-bit trace ID (#724)
Amazon will throw out trace IDs that aren't associated with a recent
timestamp. This encodes the current epoch seconds into the first 32
of a 128-bit trace ID to support conversion to an Amazon Root ID.
2017-10-17 14:55:45 +08:00
Marcin Grzejszczak
86a6f7a6d7 Merge branch '1.2.x' 2017-10-16 09:29:41 +02:00
Marcin Grzejszczak
5ec3ca53bf Fixing recreation of a random; fixes #728 2017-10-16 09:28:32 +02:00
Anton Kislitsyn
8c7a20b07c Filter values having Zipkin compatible keys (#740)
Optimization linked with necessity to exclude unrequired values from the temporary carrier of header values
2017-10-16 08:14:35 +02:00
Marcin Grzejszczak
ab656f09b6 Merge branch '1.2.x' 2017-10-16 08:10:40 +02:00
Robert Hafner
d7cebccf0c Non-ASCII characters included in X-SPAN-NAME header. (#735) 2017-10-16 08:05:16 +02:00
Marcin Grzejszczak
29335363c5 Merge branch '1.2.x' 2017-10-10 14:10:51 +02:00
Marcin Grzejszczak
d2672f832a Added missing delegates to ThreadPoolTaskExecutor; fixes #722 2017-10-10 13:56:42 +02:00
Adrian Cole
522087ac25 Adds spring.sleuth.supports-join to disable span ID sharing (#725)
This adds the ability to opt out of span sharing between the client and
server side of an RPC. This is important when reporting to systems that
do not share span IDs, such as Google Stackdriver and Amazon X-Ray.
2017-10-06 14:18:02 +08:00
Adrian Cole
981fbd18f1 Encodes epoch seconds into first 32bits of a 128-bit trace ID (#724)
Amazon will throw out trace IDs that aren't associated with a recent
timestamp. This encodes the current epoch seconds into the first 32
of a 128-bit trace ID to support conversion to an Amazon Root ID.
2017-10-05 15:29:53 +02:00
Marcin Grzejszczak
833bff3372 Fixed a typo 2017-10-03 16:18:51 +08:00
Marcin Grzejszczak
c7d35eea7f Introduced a "shared" field in Span (#698)
whenever:

- a span or trace id get generated when a request / message arrives
- child span is created

we set the field to false

whenever we find ids in the incoming request / message we set the field to true

fixes #696
2017-10-03 16:18:50 +08:00
Marcin Grzejszczak
4ac7efa28b Merge branch '1.2.x' 2017-09-30 09:13:01 +02:00
Marcin Grzejszczak
3c447f43b7 Fixing missing new Hook(); fixes #718 2017-09-30 09:12:32 +02:00
Marcin Grzejszczak
1b1a1698ca Removed setting of the "fallback span"
without this change we created a "fallback span" in the case where a Spring component didn't handle the span. By handling it means that it got processed by anyway (a tag, log was added etc.). Why did we do that? That's because if no component was involved in creation of additional spans then in the Zipkin UI the service that had only the span that has the SR, SS logs wouldn't show up. In other words, if service A called service B and service B had only a single span, then service B wouldn't show up in the UI (there would be no blue bar). All the data would show up however in the client side of that span.

with this change we're removing this behaviour. That's because it introduces confusion for our users, that use non Spring related components. Also it seems that the Zipkin UI got fixed and this error no longer is present. If however it turns out that it's still there, it clearly seems that the place to fix this error should be Zipkin and not Sleuth.

fixes #708
2017-09-22 13:21:46 +02:00
Marcin Grzejszczak
cefef8cc9f Fixed return value of the tracer 2017-09-18 20:49:55 +01:00
Marcin Grzejszczak
5b6d039036 Fixed a typo 2017-09-14 17:15:30 +02:00
Marcin Grzejszczak
cfd3a619dd Introduced a "shared" field in Span (#698)
whenever:

- a span or trace id get generated when a request / message arrives
- child span is created

we set the field to false

whenever we find ids in the incoming request / message we set the field to true

fixes #696
2017-09-14 17:14:09 +02:00
Marcin Grzejszczak
5bb444f042 Adding tags for spans created via annotations (#691)
without this change we don't know which class or method (if the SpanCreator got overridden) was annotated
with this change we're adding the tags with this info

fixes #690
2017-09-12 13:37:01 +02:00
Marcin Grzejszczak
17e303a1f7 Removed remaining deprecations 2017-08-25 13:07:36 +02:00
Marcin Grzejszczak
b83caf4ac0 Polish 2017-08-25 11:52:14 +02:00
Marcin Grzejszczak
126101f0ab Merge branch '1.2.x' 2017-08-24 14:24:02 +02:00
Marcin Grzejszczak
c951dc88fd Improvements of customizing the TraceFilter
without this change you have to add a `@Primary` annotation around your custom `TraceFilter` bean to alter the behaviour of the current `TraceFilter` implementation
with this change we're marking the `TraceFilter` as conditional on missing bean; also we're ensuring that the registered `SkipPatternProvider` will be reused when no explicit pattern was set.

also documentation is added

fixes #633
2017-08-24 14:14:01 +02:00
Marcin Grzejszczak
77c1de386f Fixed class not being static 2017-08-23 18:19:36 +02:00