Commit Graph

46 Commits

Author SHA1 Message Date
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
Marcin Grzejszczak
8469a4e425 [#73] Added Fallback for enpoint locating. FIxes #73 2015-12-17 18:00:40 +01:00
Adrian Cole
1ec5d4f636 Cleans up unused brave refs and consolidates to zipkin docker 1.26.0 2015-12-16 11:11:09 +08: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
Adrian Cole
87ff492f2d Updates to latest zipkin/brave
Zipkin now has Span.timestamp/duration, so no more need for
"aquire/release".

This also corrects the host/endpoint logged for timeline annotations, as
it should always be the local process.
2015-11-19 11:16:59 -08: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
Dave Syer
d9bf984e5f Add spring-cloud-sleuth-stream 2015-10-12 11:09:08 +01:00
Adrian Cole
c40c62498b Sets annotation type to String, so the zipkin UI won't render base64 2015-10-09 21:19:30 -07:00
Dave Syer
4e21bf1b35 Add strategy EndpointLocator to help with service host/port location 2015-10-01 11:52:28 +01:00
Dave Syer
588c609b09 Add enabled flag as courtesy 2015-09-22 17:34:42 +01:00
Spencer Gibb
8b2593f334 Merge pull request #45 from spring-cloud/bump-zipkin
Updates docker-compose to zipkin 1.9.0
2015-09-21 10:50:50 -06:00
Dave Syer
3b305e6f8f Add basic test for zipkin span listener 2015-09-21 11:59:03 +01:00
Dave Syer
c786f81086 Fix rest template interceptors (workaround for Boot) 2015-09-21 11:59:03 +01:00
Adrian Cole
b867f29cd4 Updates docker-compose to zipkin 1.9.0 2015-09-20 13:32:17 -07:00
Adrian Cole
9e4693e379 Updates to brave 3.0.0, removing zipkin's Annotation.duration 2015-09-20 08:26:39 -07: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
Spencer Gibb
78b60b605c Upgrade to brave 3.0.0-rc-1
fixes gh-33
2015-08-31 18:47:51 -06:00
Dave Syer
69751ae63e Make server_send/recv a feature of the web filter 2015-08-23 10:03:25 +01:00
Dave Syer
23868f35b7 Add starters 2015-08-23 09:56:22 +01: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
74ee062d6d Remove unused filter (endpoint is generated in listener now) 2015-08-13 09:04:57 +01:00
Dave Syer
b4d71727bf Make span name and process id properly optional 2015-08-12 16:22:03 +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
Spencer Gibb
95f0dbed72 Shorten config prefix from 'spring.cloud.sleuth' to 'spring.sleuth' 2015-08-07 11:38:30 -06:00
Spencer Gibb
8afc23c5e4 Add or update copywrite 2015-08-05 17:14:14 -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
eb397417cc fixed missing module 2015-07-28 16:21:50 -06:00
Spencer Gibb
e45cd6bc74 remove unused import 2015-07-28 15:54:48 -06: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
7a1ad19097 Do not call serverTracer.clearCurrentSpan() at the start of a span 2015-07-28 18:04:00 +01: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
Marcin Grzejszczak
dad0505d5a CorrelationID setting by 4financeIT
Below you can find people who helped to create this solution

Tomasz Nurkiewicz <tomasz.nurkiewicz@4finance.com>
Marcin Zajaczkowski <marcin.zajaczkowski@4finance.com>
Kamil Szymanski <kamil.szymanski@4finance.com>
Michal Chmielarz <michal.chmielarz@4finance.com>
Marcin Grzejszczak <marcin.grzejszczak@4finance.com>
Jakub Nabdralik <jakub.nabrdalik@4finance.com>
Urszula Choromanska <urszula.choromanska@4finance.com>
Tomasz Dziurko <tomasz.dziurko@4finance.com>
Tomasz Szymanski <tomasz.szymanski@4finance.com>
Adam Chudzik <adam.chudzik@4finance.com>
2015-06-02 20:37:44 +02:00
Spencer Gibb
2f6dd8e060 update to s-c-build 1.0.2.BUILD-SNAPSHOT and add .google to s-c-s-zipkin 2015-06-01 11:33:56 -06:00
Spencer Gibb
bf760f4a3a added a zipkin servlet filter 2015-03-18 13:28:36 -06:00
Spencer Gibb
05518731e3 support for tracing starting with zuul filters.
refactored to an abstract ZipkinInterceptor that implents getting trace data from a context.  HttpServletRequestInterceptor impl.
2015-03-17 14:30:27 -06:00
Spencer Gibb
aa1efa2f0a auto-config for zipkin support for spring mvc and restTemplate 2015-03-06 21:22:23 -07:00
Spencer Gibb
4ecf22b67c formatting 2015-03-06 14:26:20 -07:00
Spencer Gibb
80741cd147 initial commit 2015-03-06 14:25:31 -07:00