Commit Graph

70 Commits

Author SHA1 Message Date
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
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