Commit Graph

60 Commits

Author SHA1 Message Date
Dave Syer
fdde285a69 Revert changes to headers
Span name is properly optional in Zipkin, but it makes the logs
in Sleuth a lot easier to read. Process ID is optional because it
is a Sleuth feature, but it seems useful.

This reverts commit b4d71727bf.
2015-08-13 09:04:57 +01:00
Spencer Gibb
c5f6ff9a25 Polish 2015-08-12 16:19:42 -06:00
Marcin Grzejszczak
1622372061 adding traceid and other headers for feign
fixes gh-20
2015-08-12 15:24:34 -06:00
Dave Syer
b4d71727bf Make span name and process id properly optional 2015-08-12 16:22:03 +01:00
Dave Syer
673d8cb0b8 Add integration sample and vanilla non-zipkin sample 2015-08-12 13:59:42 +01:00
Dave Syer
405e07f74a Add another global channel interceptor to create spans
This might not be the ultimate solution but it should give us
something to look at and collect some data. It doesn't solve the
sampling problem, or the headers copying problem.

See gh-14
2015-08-12 10:45:42 +01:00
Dave Syer
79d26aeb91 Ensure headers are only added to outgoing HTTP if tracing 2015-08-12 09:29:23 +01:00
Dave Syer
c0ca63ef59 Add SpanContinuedEvent
So that it can be used to keep the MDC populated when an async request
is continued.

Fixes gh-18
2015-08-11 22:00:52 +01:00
Dave Syer
37d7b5bedb Split out @Async instrumentation into its own package
There was an ordering error in the conditions as well, causing the
wrong async customizers to be registered. Another issue was the
servlet async processing (request atribute not cached in all branches)
resulting in multiple spans per request.
2015-08-11 18:11:00 +01:00
Dave Syer
cfd6fe6bb4 Some tidying of context propagation in Spring Integration
The client recv/send events have no meaning in a messaging
context, so we don't need to send them. Also added a new
protected method as the inverse of populatePropergatedContext.

Rebased on master and fixed conflicts.

See gh-15
2015-08-10 08:59:07 +01:00
Spencer Gibb
7da26be608 Instrument spring integration.
Via a global channel interceptor that adds headers to messages.

fixes gh-14
2015-08-10 08:24:47 +01:00
Dave Syer
de60266ab5 Extend traces to all rest templates in context
Also shorten names of enable flags
2015-08-10 08:23:09 +01:00
Spencer Gibb
0ee5b94dbe polish test 2015-08-07 13:05:04 -06:00
Spencer Gibb
3e18af4db9 fixed typo in test 2015-08-07 12:13:10 -06:00
Spencer Gibb
95f0dbed72 Shorten config prefix from 'spring.cloud.sleuth' to 'spring.sleuth' 2015-08-07 11:38:30 -06:00
Spencer Gibb
7deb9aff7b Polish logging listeners.
Rename slf4j package to log.
Shorten enabled properties.
JsonLogSpanListener only depends on Commons Logging.
2015-08-07 11:16:15 -06:00
Spencer Gibb
a1349f5441 Optionally print spans to log in json.
Uses jackson ObjectMapper to log one line json between a prefix and suffix strings.

fixes gh-12
2015-08-06 16:39:38 -06:00
Spencer Gibb
8afc23c5e4 Add or update copywrite 2015-08-05 17:14:14 -06:00
Spencer Gibb
a16fbab0a1 Initial implementation of http annotations
Part of gh-11
2015-08-04 14:37:46 -06:00
Dave Syer
df28936718 Finish async customizer 2015-07-31 10:12:06 +01:00
Dave Syer
d38598467c Polish async support
An @Async method should start a new trace. Still not finished that bit
because if the user also customizes the async post processor there will
be a clash.

Biggest change here is better support for async web requests.
Each async request goes through the TraceFilter multiple times so you
have to re-attach to the span in the request if there is one.
2015-07-31 09:38:52 +01:00
Dave Syer
15db080542 Stop using Brave client/server senders in favour of the collector
Directly using the collector gives us more control of the annotations.
The main improvement/change here is that we need to send the span
name and parent details downstream as well as the span id. It's not
logically required by the trace model, but zipkin needs it, so it
can set annotations on the parent span (server recv/send).
2015-07-29 17:27:33 +01:00
Dave Syer
af03054573 Separate parent and child a bit more in ZipkinSpanListener 2015-07-29 13:52:31 +01:00
Dave Syer
145cc641c2 Simplfy some of the core API interfaces and add javadocs 2015-07-29 10:37:44 +01:00
Spencer Gibb
0f84a5738d add SleuthTracer that uses lower level brave classes
to enable it, set `spring.cloud.sleuth.zipkin.braveTracer.enabled=false`
2015-07-28 14:41:30 -06:00
Dave Syer
203e97681d Add request path to span name 2015-07-28 17:56:48 +01:00
Dave Syer
97ae6151e2 Use listeners instead of custom callbacks 2015-07-28 17:40:27 +01:00
Dave Syer
cba63d0dec Integrate server-side zipkin with core 2015-07-28 17:11:18 +01:00
Spencer Gibb
cf41d8ece6 polish 2015-07-04 00:49:44 -06:00
Spencer Gibb
74c077816d fix lombok builder syntax 2015-07-04 00:47:49 -06:00
Spencer Gibb
2877d6b870 comment out TraceHandlerInterceptor bean, fix error overflow. 2015-06-26 16:11:25 -06:00
Spencer Gibb
0de00870a6 add TraceWebAspect to wrap Callable's returned in Controllers. 2015-06-26 16:01:50 -06:00
Spencer Gibb
3a24b6f472 add wrappers for Runnable and Callable 2015-06-26 15:36:35 -06:00
Spencer Gibb
749e492bd5 removed references to correlation id 2015-06-26 14:24:09 -06:00
Spencer Gibb
17f27a4cce use TraceInfo instead of creating a bogus parent span 2015-06-26 13:48:30 -06:00
Spencer Gibb
a4e92c2c38 remove unneeded qualifier 2015-06-26 13:48:13 -06:00
Spencer Gibb
4320bbc663 removed setters 2015-06-26 13:30:59 -06:00
Spencer Gibb
fa5996e38e change span.description to span.name 2015-06-26 13:21:04 -06:00
Spencer Gibb
6e7e090a1c Add zuul instrumentation 2015-06-26 12:58:27 -06:00
Spencer Gibb
9829ff9903 Move to event driven interceptors.
use Span{Started|Stopped}Event rather than SpanStartListener/SpanReceiver
2015-06-26 12:37:05 -06:00
Spencer Gibb
2fdae44262 rename property 2015-06-25 15:03:29 -06:00
Spencer Gibb
0425bf333a removed unneeded aop annotation 2015-06-25 15:02:49 -06:00
Spencer Gibb
7ee4c99fa9 move trace intercepting from aop to spring mvc interceptors 2015-06-25 15:02:23 -06:00
Spencer Gibb
553645f7cf moved instrumenting classes to instrument package.
removed unneeded RestTemplate infrastructure.
2015-06-25 14:36:16 -06:00
Spencer Gibb
07844b769f rename SpanHolder to TraceContextHolder 2015-06-25 14:13:13 -06:00
Spencer Gibb
05a5709136 Updates to get tracing working on sample app. 2015-06-25 13:58:28 -06:00
Spencer Gibb
e141280720 just set headers rather than creating a new HttpEntity. 2015-06-24 10:24:15 -06:00
Spencer Gibb
cd74691d6a find and update headers using arg type rather than index 2015-06-24 10:22:04 -06:00
Spencer Gibb
956843fd01 update TraceFilter to get TraceId from request 2015-06-24 09:59:39 -06:00
Spencer Gibb
a5f3234bac collapse trace and trace.intercept packages 2015-06-23 20:32:33 -06:00