Commit Graph

110 Commits

Author SHA1 Message Date
Marcin Grzejszczak
7e8a483149 [#39] Refactored code according to the code review 2015-12-24 10:17:14 +01:00
Marcin Grzejszczak
980e3f2bd5 [#39] Introduced custom Sleuth assertions 2015-12-24 09:50:10 +01:00
Marcin Grzejszczak
6f71402cf9 [#39] Fixed naming and added dependency between hystrix components 2015-12-23 18:50:50 +01:00
Marcin Grzejszczak
6ecfbca6ed [#39] Initial approach to Hystrix concurrency strategy 2015-12-23 18:08:09 +01:00
Marcin Grzejszczak
aaa00a9754 [#75] Working implementation of Hystrix + Feign + Sleuth. Fixes #75 2015-12-23 09:43:04 +01:00
Dave Syer
c11e530560 Add exportable to Span and use it to determine if data are exported
If the flag is set then annotations are collected and the data are exported
in zipkin or stream. If not you still get the correlation ids, so a purely
log-oriented solution will always have useful data on all requests.
2015-12-22 11:19:24 +00:00
Spencer Gibb
2d0ff8f436 polish 2015-12-10 10:33:21 -07:00
Spencer Gibb
2f35fc7966 polish 2015-12-10 10:11:26 -07:00
Marcin Grzejszczak
ecf7c446a7 Refactored code according to the review 2015-12-10 17:16:32 +01:00
Marcin Grzejszczak
c1eb04b68a Fixed Travis script for branches
Added test to ensure that traces are cleared, added fix for Hystrix commands
2015-12-02 19:03:24 +01:00
Marcin Grzejszczak
ad8ba1529f Added test for TraceTemplate 2015-12-02 13:38:01 +01:00
Marcin Grzejszczak
74c7ba54d0 Fixed tests for TraceWebAspect, added WebTask aspect 2015-12-02 13:28:46 +01:00
Dave Syer
70708e22a1 Remove trace from current thread in thread pool
The TraceManager.detach() method should be called by wrapper
tasks submitted to background threads. This change fixes it
in TraceCallable and TraceRunnable. Possibly still some work
to do for Hystrix.

The "detached" flag didn't seem to be doing anything, so I
removed it in the process.

Fixes gh-64, fixes gh-61
2015-12-02 07:58:46 +00:00
Dave Syer
5a9757fede Add additional tests for null thread local in thread pools
Fixes gh-64, probably also gh-61
2015-12-02 07:01:54 +00:00
Dave Syer
327ef60d9e Fix @Ignored test 2015-12-01 17:42:40 +00:00
Dave Syer
192964751a Normalize usage of IdGenerator (only in TraceManager)
Also ensures TraceFilter sends traceId and spanId in response if
they are generated in the request.

Fixes gh-65
2015-12-01 17:08:45 +00:00
Dave Syer
fcb12c8f5e Switch to Spring Core IdGenerator 2015-12-01 16:44:48 +00:00
Marcin Grzejszczak
c0e5c865dd Added tests for trace callable and runnable 2015-12-01 16:03:07 +01:00
Marcin Grzejszczak
ac9ef5f740 Added random port for integration tests 2015-12-01 15:16:57 +01:00
Marcin Grzejszczak
4a1743c984 Moved to BDDAssertJ 2015-12-01 15:13:56 +01:00
Spencer Gibb
cc36d6b8ad Added integration tests 2015-12-01 14:06:04 +00:00
Dave Syer
ffa97c1f20 Big refactor of sleuth core API
Instrumentation should be able to get by with only 2
interfaces: TraceManager and TraceAccessor (the former is
not needed if you aren't starting a new Span). No explicit
access to thread locals or manipulation of thread context
is required (except locally where necessary).

A Span is enclosed by a Trace (actually a view of the complete
Trace that would be constructed remotely).
2015-12-01 14:06:04 +00:00
Spencer Gibb
8351c9ba2c polish 2015-11-30 13:17:32 -07:00
Gaurav Rai Mazra
c588d73552 Providing support to enable tracing in Executors
User can opt to wrap java.unit.concurrent package usage with a
traceable version of the same thing.

Fixes gh-60, fixes gh-58
2015-11-30 09:34:24 +00:00
Dave Syer
7d3668b23f Revert to snapshots 2015-11-17 12:36:46 +00:00
Dave Syer
576424a514 Update to 1.0.0.M3 2015-11-17 12:34:31 +00:00
Spencer Gibb
d58a3241f2 Don't trace /hystrix.stream 2015-10-19 15:48:14 -06:00
Dave Syer
1d8d5a0956 Fix null span bug in Zuul filter
If a request is not being sampled, the ClientReceivedEvent should
not be fired.

Fixes gh-47
2015-09-28 07:47:38 +01:00
Marcin Grzejszczak
e9b27e6a49 Removed ConditionalOnMissingBean. Fixes #42 2015-09-21 20:02:46 +02:00
Dave Syer
c786f81086 Fix rest template interceptors (workaround for Boot) 2015-09-21 11:59:03 +01:00
Dave Syer
9612f66754 Drop back to snapshot 2015-09-10 09:02:53 +01:00
Dave Syer
614cfc243b Bump to M1 2015-09-10 09:02:16 +01:00
Dave Syer
0b77e8abdd Ensure Feign is sending complete set of headers
Otherwise the span name is null and the downstream services can't
log the server annotations.

Fixes gh-38
2015-09-07 12:56:34 +01:00
Dave Syer
f7930a10aa Ensure ClientSentEvent is emitted by Feign clients
Fixes gh-38
2015-09-07 12:34:14 +01:00
Dave Syer
2c3528e35b Fix NPE in Feign interceptor
Fixes gh-37
2015-09-07 12:20:18 +01:00
Dave Syer
69751ae63e Make server_send/recv a feature of the web filter 2015-08-23 10:03:25 +01:00
Dave Syer
3188a01fa1 Fix pointcut for async controllers
We need @within (not @target) to capture method executions inside
annotated controllers. With @target all beans with methods returning
Callable get wrapped in case at runtime there is a target match.
2015-08-23 09:56:22 +01:00
Dave Syer
23868f35b7 Add starters 2015-08-23 09:56:22 +01:00
Spencer Gibb
74268a6d4a Use new zuul abstraction for ribbon command 2015-08-21 12:03:50 -06:00
Spencer Gibb
0f76427ebf add /messaging annotations 2015-08-21 12:03:11 -06:00
Dave Syer
db2cdacbfb Fix bug in header names for streams 2015-08-19 13:53:07 +01:00
Dave Syer
7c33f2cb9c Fix typo in spring.factories 2015-08-19 13:37:27 +01:00
Dave Syer
7a701b7d16 Add spring cloud stream processing headers in bootstrap 2015-08-19 08:32:34 +01:00
Spencer Gibb
0e4b94c0b3 if setting a span to null, call remove() 2015-08-18 17:02:22 -06:00
Spencer Gibb
b1537f38e0 Use ThreadLocal.remove() rather than .set(null)
fixes gh-27
2015-08-18 12:51:04 -06:00
Spencer Gibb
8841d4186e Make MilliSpan.getTimelineAnnotations read only 2015-08-18 11:03:25 -06:00
Rob Winch
19aafebd02 Add MilliSpan.getAnnotations()
This fixes the previous commit.
2015-08-18 11:40:37 -05:00
Dave Syer
8d2efdb9a9 Change a few names of things
KV annotations are just "annotations", and the "start" and "stop"
annotations in zipkin are "acquire" and "release" (since, in
particular the latter can in principle happen more than once
and not necessarily the last thing that happens to a span).

TODO: decide if TraceContextHolder is really holding a Span
or a TraceContext (or TraceScope). Maybe think of a better
name for TraceScope.
2015-08-16 10:05:05 +01:00
Dave Syer
6fa9408e76 Ensure span context is cleared at end of interceptors 2015-08-16 08:18:19 +01:00
Dave Syer
4b7154e1e5 Add ribbon/zuul features and docs plus a sample 2015-08-13 10:49:32 +01:00