Commit Graph

211 Commits

Author SHA1 Message Date
Marcin Grzejszczak
d6b623fdf7 Removed an assertion due to Tracis failing 2016-03-03 11:45:44 +01:00
Marcin Grzejszczak
4b61439ab9 [#79] Updated documentation
* first iteration

fixes #79
2016-03-03 11:25:43 +01:00
Marcin Grzejszczak
0fe82089a2 Revert "Updated the code with sc-netflix changes"
This reverts commit 7e7c6a1a8f.
2016-03-03 11:16:57 +01:00
Marcin Grzejszczak
7e7c6a1a8f Updated the code with sc-netflix changes 2016-03-03 11:08:01 +01:00
Marcin Grzejszczak
17bc239536 [#191] Changes following the review 2016-03-02 15:05:18 +01:00
Marcin Grzejszczak
57b0f14d9a [#188][#194] Feign and RestTemplate create a new Span
fixes #188
fixes #194
2016-03-01 12:16:24 +01:00
Marcin Grzejszczak
7c7043910c Updated the javadoc for message component 2016-02-25 13:53:57 +01:00
Marcin Grzejszczak
6948d92d13 [#184] Stopped overriding tags via messaging
fixes #184
2016-02-25 13:44:33 +01:00
Marcin Grzejszczak
3000a4f37d [#69] Added javadocs
fixes #69
2016-02-25 11:23:23 +01:00
Marcin Grzejszczak
dc22434e27 More refactoring 2016-02-22 19:04:37 +01:00
Marcin Grzejszczak
0cd1441f9b Refactored the async tracing 2016-02-22 18:29:52 +01:00
Marcin Grzejszczak
7927f4914f Removed some package dependencies
* TraceKeys -> moved to root
    * TraceRunnable and TraceCallable moved to root
    * Websockets moved as a subpackage of messaging
    * created TraceMetricsAutoConfiguration in the metric package (thanks to this the TraeAutoConfiguration doesn't need any metric info)

    What’s left?
    * the remaining dependencies are related to everybody using events
    * there are a couple of usages of NeverSample
2016-02-22 17:09:23 +01:00
Marcin Grzejszczak
3eca10bcc7 [#159] Tagging hystrix events
when a hystrix command was explicitly created we can tag the following values
    * command key
    * command group
    * thread pool key

    fixes #159
2016-02-22 14:03:40 +01:00
Marcin Grzejszczak
980e2324d7 [#49] Added name skip pattern for slf4j
* if Span's name matches a pattern it will not be logged at all in the logs

    fixes #49
2016-02-22 12:31:19 +01:00
Marcin Grzejszczak
08c99667c9 [#127] Added tests for parent-id propagation
fixes #127
2016-02-22 12:03:16 +01:00
Marcin Grzejszczak
4bd484fb21 Moved turning on of autoproxy to properties 2016-02-19 10:10:11 +01:00
Marcin Grzejszczak
0511b04250 [#51] Added automatic CGLIB proxy creation
* aspectJ is made obligatory

fixes #51
2016-02-19 08:18:05 +01:00
Marcin Grzejszczak
785dab0908 [#161] Fixed the way collections are passed between spans
When a span is continued a new one is created from the previous one. We've been copying span collections thus the changes in the continued instance were not reflected in the parent.

Fixes #161
2016-02-18 13:56:41 +01:00
Marcin Grzejszczak
c0620c410c [#160] Removed unnecessary Slf4j loggers
fixes #160
2016-02-18 11:23:09 +01:00
Marcin Grzejszczak
cf6f629663 [#168] Introduced local components for async
Added changes following review
    * added comments
    * added javadocs
    * added naming basing on @SpanName and toString()
    * added default 'async' naming if there is no overriden span name
    * removed TraceDelegate after review
    * introduced SpanNamer

fixes #168
2016-02-17 17:10:54 +01:00
Marcin Grzejszczak
8333c31c99 [#158] Removing span name
fixes #158
2016-02-16 08:28:22 +01:00
Marcin Grzejszczak
8d8fb39db0 [#124] Changes following review 2016-02-11 11:15:16 +01:00
Marcin Grzejszczak
f772f50bbc Removed unnecessary field 2016-02-10 19:19:44 +01:00
Marcin Grzejszczak
0ab23b405c [#124] Added support for async rest template
fixes #124
2016-02-10 19:19:44 +01:00
Marcin Grzejszczak
ee8d7a54c7 Delomboking 2016-02-10 19:09:20 +01:00
Marcin Grzejszczak
8f5f553376 Removed unnecessary constructors 2016-02-10 12:17:44 +01:00
Marcin Grzejszczak
1b0c8dfee5 [#146] Introduced SpanName
- Added aspect to provide better naming for @Async

fixes #146
2016-02-09 15:25:36 +01:00
Dave Syer
65c243178f Add explicit autoconfiguration support for STOMP and websockets
Adds channel interceptors to initiate a span on an incoming message
and also inject it into the thread context when it is handled
asynchronously.
2016-02-09 13:31:29 +00:00
Dave Syer
d6170027a7 Rationalize async instrumentation 2016-02-09 13:31:29 +00:00
Dave Syer
f59737c238 Remove TraceTemplate
Users should inject TraceAccessor if they want to interact with
the current Span.
2016-02-09 13:31:29 +00:00
Marcin Grzejszczak
51ff572fbe [#149] Removed the JSON Span logger
fixes #149
2016-02-09 12:50:09 +01:00
Marcin Grzejszczak
b4e85d04d8 [#148] Reseting the custom concurrency strategy before test class 2016-02-09 10:34:30 +01:00
Marcin Grzejszczak
ebfe276ced [#148] Resetting custom hystrix strategy before tests
fixes #148
2016-02-09 10:23:57 +01:00
Dave Syer
bc48a0094e Revert to snapshots 2016-02-05 10:02:47 +00:00
Dave Syer
203d9cc4f2 Update to 1.1.0.M5 2016-02-05 09:56:38 +00:00
Dave Syer
9aeb399f7e Make SpanContextHolder package private
That way it can't leak back out into public classes, particularly
in intrumentation. Such use cases should use TraceAccessor or
Tracer exclusively.
2016-02-05 06:33:40 +00:00
Dave Syer
ad97be2fa6 Remove remaining public accesses of SpanContextHolder
Hystrix is complex and the stacks get very deep. It turns out that
it is also rather stateful, so order of tests affects the outcomes.
Long story short: if you set the concurrency strategy it infects
other tests (like the TraecCommandTests), which then have to assert
slightly more carefully.
2016-02-04 17:22:10 +00:00
Dave Syer
7f975c0ff8 Remove redundant SpanContextHolder access in TraceFilter
The TraceFilter should clean up its own spans. It should never
need to use the SpanContextHolder directly.

There was a test that needed it inserted instead.
2016-02-04 13:28:22 +00:00
Dave Syer
3703452626 Guard against null sampler
If user passes in a null sampler we'll just asume it was the
default.
2016-02-04 13:28:09 +00:00
Dave Syer
ff08e3d518 Remove redunant method 2016-02-04 13:14:42 +00:00
Dave Syer
7f012ac02c Introduce SpanContext as internal detail of SpanContextHolder
The fact that a Span was active when a new one is created needs
to be recorded, but it doesn't seem to belong in the Span. However
the DefaultTracer can call other methods on the SpanContextHolder
and that's what this change does (with package private methods).

There are still some usages of the public methods in
SpanContextHolder which I'd like to stamp out as a separate issue.

Fixes gh-141
2016-02-04 12:30:25 +00:00
Dave Syer
e819881be8 Add test to assert auto close behaviour 2016-02-04 12:30:02 +00:00
Dave Syer
9bfe364518 SamplerConfiguration -> SamplerProperties
Plus tidy up docs a bit
2016-02-02 16:15:35 +00:00
Marcin Grzejszczak
055137bb72 [#50] Removed FRB.
fixes #50
2016-02-02 11:46:34 +01:00
Dave Syer
948d9e7886 Ensure sampled traces are exportable in test 2016-02-02 08:34:45 +00:00
Dave Syer
d8b72473d1 Ensure sampler is called with the new span if it is to be started 2016-02-01 18:01:34 +00:00
Dave Syer
70b18054e1 Add Span to Sampler method params
Also allows us to actually create a PercentageBasedSampler (I
don't think anyone tried it before) without resorting to
lazy beans and proxies.

Another freature added here is a default percentage sampler
if we know that spans need to be exported (zipkin or stream
is present).

Fixes gh-138
2016-02-01 17:00:00 +00:00
Dave Syer
12620a4725 Fix NPE in TracePreZuulFilter
Fixes gh-135
2016-01-30 16:47:23 +00:00
Dave Syer
39998a5def Ensure clients set X-Not-Sampled header for non-exportable Span
It also turns out that there's a bug in Spring MVC which makes an
empty header blow up in RequestHeaderMapMethodArgumentResolver
so we set the header to "true" instead of empty.

Fixes gh-136
2016-01-30 16:19:15 +00:00
Dave Syer
4f3c731d37 Fix trace filter so async requests are handled properly
Previously, if a trace id came into the filter from the caller and
the controller was async, the span context was not properly managed
resulting in warnings in logs.

Fixes gh-137
2016-01-30 12:19:07 +00:00