Commit Graph

202 Commits

Author SHA1 Message Date
Adrian Cole
e3669417dd Fixes missing zipkin service name and polishes span converters.
Missing service name:

Zipkin service names were logged as null, which is invalid and led to
them showing up as "unknown" in the zipkin ui. This was due to a wiring
bug, and a special-case, which this change fixes.

The special-case was when a sleuth span had no annotations. Since zipkin
service names are attached to annotations, they are only queryable when
annotations exist. When there are no annotations, we add the "lc"
binary annotation, which makes that span attached to the correct service
in zipkin.

Polishing:

Zipkin timestamps were not always set as microseconds. This fixes that.

The de-facto label in zipkin for unknown service is "unknown". This
fixes the code, which formerly fell back to "application".

This also removes complexity in assigning timestamp and duration as we
no longer need to make pseudo-annotations "acquire" and "release".

Finally, this adds tests about above consistently to both scs-zipkin and
scs-zipkin-stream.
2015-12-29 17:10:16 +08:00
Marcin Grzejszczak
fd4df7ce54 Merge pull request #78 from spring-cloud/issues_#39_hystrix_concurrency_strategy
Issues #39 hystrix concurrency strategy
2015-12-24 10:33:56 +01:00
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
Dave Syer
ff3c39e497 Revert to snapshots 2015-12-23 09:22:21 +00:00
Dave Syer
3b0ff4b4c5 Update to 1.0.0.M4 2015-12-23 09:12:22 +00:00
Marcin Grzejszczak
aaa00a9754 [#75] Working implementation of Hystrix + Feign + Sleuth. Fixes #75 2015-12-23 09:43:04 +01:00
Dave Syer
08f79397ab Add stream sample and docs for how to run it 2015-12-22 12:23:39 +00: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
Marcin Grzejszczak
b48f00f677 Removed version param to use default BOM Brixton Snapshot version 2015-12-18 23:14:47 +01:00
Marcin Grzejszczak
8469a4e425 [#73] Added Fallback for enpoint locating. FIxes #73 2015-12-17 18:00:40 +01:00
Dave Syer
d7e1fcccf0 Add some docs for zipkin stream 2015-12-17 14:55:22 +00:00
Marcin Grzejszczak
4ef93029fb Fixed wrong switch for sleuth stream 2015-12-16 21:19:34 +01:00
Dave Syer
366eb34b1c Add back SLEUTH_STREAM tests 2015-12-16 17:37:24 +00:00
Dave Syer
eaa3c65a9d Comment out missing acceptance tests 2015-12-16 11:45:18 +00:00
Dave Syer
c49ee09b68 Zipkin java bumped to 0.1.1 2015-12-16 10:57:19 +00:00
Adrian Cole
33d7022ca2 Merge pull request #72 from spring-cloud/zipkin-versions
Cleans up unused brave refs and consolidates to zipkin docker 1.26.0
2015-12-16 12:16:36 +08: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
9a38c0d183 Update chmod on sh script 2015-12-15 14:48:13 +00:00
Dave Syer
28dbb0cd14 Refactor docker compose so default launches everything 2015-12-15 11:44:28 +00:00
Dave Syer
327bb46e90 Remove reference to unused class 2015-12-15 09:44:17 +00:00
Adrian Cole
4b54bec809 Merge pull request #70 from spring-cloud/trusty-gce
Updates to use the more powerful and newer trusty slave
2015-12-15 17:25:14 +08:00
Marcin Grzejszczak
a750b4b73e Merge pull request #71 from wybczu/tech/cleanup-bash-scripts
Refactored bash script for running acceptance tests
2015-12-12 09:01:20 +01:00
Lukasz Szczesny
2fc9e25221 Fixed Travis script for branches 2015-12-11 23:36:02 +01:00
Lukasz Szczesny
55de10f195 Refactored bash script for running acceptance tests 2015-12-11 21:15:30 +01:00
Dave Syer
b1068e2050 Re-organize docker files for Zipkin server
Still not quite working:

$ docker-compose -f docker-compose.yml -f docker-compose.zipkin.yml up

everything starts up fine (once the database is initialized), but
the zipkin server is not listening to rabbit (and there are errors
in the logs).
2015-12-11 16:33:25 +00:00
Dave Syer
ce4a7409fa Add Zipkin stream support
@EnableZipkinStreamServer and bind to a Spring Cloud Stream message
broker. That's it. The default span store is in memory, but Zipkin
also supports MySQL (and Cassandra coming soon).
2015-12-11 10:24:03 +00:00
Adrian Cole
0a0aa39c41 Updates to use the more powerful and newer trusty slave 2015-12-11 14:43:31 +08: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
14c1cd1182 Added acceptance tests for Sleuth 2015-12-10 11:48:28 +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
Adrian Cole
2f253e035c Merge pull request #53 from spring-cloud/annotation-updates
Updates to latest zipkin/brave
2015-11-20 09:22:25 -08:00