Commit Graph

172 Commits

Author SHA1 Message Date
Marcin Grzejszczak
9785bcae15 Due to possible performance problems when DiscoveryClient gives nonexistent DNS name as local address Local endpoint is created from server properties by default.
Local Ip determined from spring.commons InetUtils.
    To enable local endpoint resolution via service discovery, DiscoveryClient must be present and 'spring.zipkin.service.locator.discovery' should be set to true.
    FallbackHavingEndpointLocator was caching and recreating EndpointLocator in the same time - removed the caching part.

    Fixes gh-403
2017-01-11 12:46:19 +01:00
Marcin Grzejszczak
4d7def0362 Merge branch '1.0.x' into 1.1.x 2017-01-11 12:32:09 +01:00
Marcin Grzejszczak
a559c11bcd Due to possible performance problems when DiscoveryClient gives nonexistent DNS name as local address Local endpoint is created from server properties by default.
Local Ip determined from spring.commons InetUtils.
    To enable local endpoint resolution via service discovery, DiscoveryClient must be present and 'spring.zipkin.service.locator.discovery' should be set to true.
    FallbackHavingEndpointLocator was caching and recreating EndpointLocator in the same time - removed the caching part.

    Fixes gh-403
2017-01-11 12:31:18 +01:00
Marcin Grzejszczak
863ba87f5f Going back to snapshots 2017-01-09 17:02:20 +01:00
Marcin Grzejszczak
e4546afd49 Bumping versions before release 2017-01-09 16:22:49 +01:00
Marcin Grzejszczak
5b442e9526 Adding the spring.instance_id tag
without this tag it's impossible to discern from which server was the given span originated
    with this change we're adding a tag in which we're passing the instance id value. The value can be taken either from Cloud Foundry or from a concatanation of some local properties like instance_id / application name / application port etc.

    fixes #369
2017-01-03 14:44:56 +01:00
Marcin Grzejszczak
2097acb486 Adding the spring.instance_id tag
without this tag it's impossible to discern from which server was the given span originated
    with this change we're adding a tag in which we're passing the instance id value. The value can be taken either from Cloud Foundry or from a concatanation of some local properties like instance_id / application name / application port etc.

    fixes #369
2017-01-03 14:21:32 +01:00
Marcin Grzejszczak
9d8b2a279f Adding the spring.instance_id tag
without this tag it's impossible to discern from which server was the given span originated
    with this change we're adding a tag in which we're passing the instance id value. The value can be taken either from Cloud Foundry or from a concatanation of some local properties like instance_id / application name / application port etc.

    fixes #369
2017-01-03 14:20:56 +01:00
Marcin Grzejszczak
225a2d4cbf Added property for overriding the service name in Zipkin
without this only either service discovery service id / spring.application.name can be chosen as a service name for zipkin
    with this change you can pass spring.zipkin.service.name property to change override that both for HTTP and Stream collectors

    fixes #324
2017-01-02 10:39:18 +01:00
Marcin Grzejszczak
e117531d75 Added property for overriding the service name in Zipkin
without this only either service discovery service id / spring.application.name can be chosen as a service name for zipkin
    with this change you can pass spring.zipkin.service.name property to change override that both for HTTP and Stream collectors

    fixes #324
2017-01-02 10:18:48 +01:00
Marcin Grzejszczak
e982c4df80 Added property for overriding the service name in Zipkin
without this only either service discovery service id / spring.application.name can be chosen as a service name for zipkin
    with this change you can pass spring.zipkin.service.name property to change override that both for HTTP and Stream collectors

    fixes #324
2017-01-02 10:18:20 +01:00
Dave Syer
a0adcecba0 Update to Spring Boot 1.5 2016-12-12 12:52:21 +00:00
Marcin Grzejszczak
822c5fbba2 Going back to snapshots 2016-11-24 13:19:11 +01:00
Marcin Grzejszczak
b663ab397b Bumping versions before release 2016-11-24 13:00:18 +01:00
Marcin Grzejszczak
34c4eacb5e Going back to Snapshots 2016-11-24 12:39:06 +01:00
Marcin Grzejszczak
c47d0b6c18 Bumping versions before release 2016-11-24 12:08:10 +01:00
Marcin Grzejszczak
3ad22cd163 Removed wrong imports 2016-11-06 22:45:29 +01:00
Marcin Grzejszczak
cec661e8c6 Removed wrong imports 2016-11-06 22:45:06 +01:00
Marcin Grzejszczak
57f95aac3e Added a test for tracing the tracer 2016-11-06 22:36:38 +01:00
Marcin Grzejszczak
44cc2b5b01 Added a test for tracing the tracer 2016-11-06 22:36:18 +01:00
Marcin Grzejszczak
e5dce64d71 Added a test for tracing the tracer 2016-11-06 10:06:17 +01:00
Marcin Grzejszczak
718a62ba5b Fixed the missing sampled flag for sleuth stream messages
without this change your message broker will explode due to number of message:sleuth messages
with this change it gets fixed
2016-11-06 09:28:58 +01:00
Marcin Grzejszczak
7e84459f64 Added 1.1.x version 2016-11-02 14:11:05 +01:00
Marcin Grzejszczak
69521f37f0 Updated version to 1.2.0 2016-11-02 13:58:40 +01:00
Marcin Grzejszczak
a2449ddc59 Going back to snapshots 2016-10-18 17:17:08 +02:00
Marcin Grzejszczak
66c6dd3010 Bumping versions before release 2016-10-18 17:05:11 +02:00
Marcin Grzejszczak
6642a369bc Not throwing an exception when queue size is exceeded
without this change when queue size of spans is exceeded for Stream span propagation, an exception is thrown that terminates business logic processing
with this change we're not propagating the exception - we're incrementing the dropped spans counter

fixes #421
2016-10-11 15:24:48 +02:00
Marcin Grzejszczak
b8db95bc78 Not throwing an exception when queue size is exceeded
without this change when queue size of spans is exceeded for Stream span propagation, an exception is thrown that terminates business logic processing
with this change we're not propagating the exception - we're incrementing the dropped spans counter

fixes #421
2016-10-11 15:15:11 +02:00
Marcin Grzejszczak
72d0032859 Going back to snapshots 2016-09-21 13:20:57 +02:00
Marcin Grzejszczak
755e01d646 Bumping versions before release 2016-09-21 12:55:19 +02:00
Marcin Grzejszczak
8a32f02f9f Going back to SNAPSHOTs 2016-09-08 23:29:24 +02:00
Marcin Grzejszczak
2e4c59b3c6 Bumping versions before release 2016-09-08 22:45:02 +02:00
Marcin Grzejszczak
9ebd9184ca Feign fixes
it turned out that some of the tests were leaky and didn't catch that ExceptionUtils were throwing an exception (race condition with Hystrix). That was due to the fact that When Hystrix with Feign were doing retries the RequestInterceptor wasn't called. That means that a new span wasn't created but a parent span was closed.

With this change the only place where the span creation and closing takes place is TraceFeignClient. I removed the Feign RequestInterceptor. Now whenever there is a retry - a new span is created and closed after getting a response. There are no exceptions, special cases etc.

In addition to that since Feign is fully immutable and SpanInjector is by design made to mutate objects I had to wrap the immutable Request in an AtomicReference in order to change the contents of the Request. I'm ashamed but didn't have a better idea. Since that is packaged scope nobody should every see that (outside the package of course)
2016-09-08 22:27:46 +02:00
Marcin Grzejszczak
9e01d77431 Feign fixes
it turned out that some of the tests were leaky and didn't catch that ExceptionUtils were throwing an exception (race condition with Hystrix). That was due to the fact that When Hystrix with Feign were doing retries the RequestInterceptor wasn't called. That means that a new span wasn't created but a parent span was closed.

With this change the only place where the span creation and closing takes place is TraceFeignClient. I removed the Feign RequestInterceptor. Now whenever there is a retry - a new span is created and closed after getting a response. There are no exceptions, special cases etc.

In addition to that since Feign is fully immutable and SpanInjector is by design made to mutate objects I had to wrap the immutable Request in an AtomicReference in order to change the contents of the Request. I'm ashamed but didn't have a better idea. Since that is packaged scope nobody should every see that (outside the package of course)
2016-09-08 22:25:12 +02:00
Marcin Grzejszczak
ef2445090d Going back to SNAPSHOTs 2016-09-08 18:20:57 +02:00
Marcin Grzejszczak
877b80b70e Bumping versions before release 2016-09-08 17:37:08 +02:00
Marius Bogoevici
d331f5a212 Use StreamListener for coercing messages from JSON Span (#386)
* Use StreamListener for coercing messages from JSON `Span`

Rely on the `contentType` header of the transported message to
tell Spring Cloud Stream how to coerce the message to `Span`.
2016-09-08 15:57:24 +02:00
Marius Bogoevici
bd8b64a5b9 Use StreamListener for coercing messages from JSON Span (#386)
* Use StreamListener for coercing messages from JSON `Span`

Rely on the `contentType` header of the transported message to
tell Spring Cloud Stream how to coerce the message to `Span`.
2016-09-08 15:56:29 +02:00
Marcin Grzejszczak
0066a243ec Fixed duplicate stream env post processor entries (#388)
when the stream env post processor is executed headers are added endlessly - there is no check for the presence of the tracing headers.

with this change a check is added so the tracing headers are added only once.

fixes #387
2016-08-30 13:09:05 +02:00
Marcin Grzejszczak
fd543298a0 Fixed duplicate stream env post processor entries (#388)
when the stream env post processor is executed headers are added endlessly - there is no check for the presence of the tracing headers.

with this change a check is added so the tracing headers are added only once.

fixes #387
2016-08-30 13:07:34 +02:00
Marcin Grzejszczak
cd17b35ea3 Going back to Snapshots 2016-08-22 13:20:14 +02:00
Marcin Grzejszczak
995371fc0d Bumping versions before release 2016-08-22 12:39:30 +02:00
Marcin Grzejszczak
2bad78ee4b Going back to snapshots after release 2016-08-19 15:06:37 +02:00
Marcin Grzejszczak
f56779e255 Bumping versions before release 2016-08-19 14:26:49 +02:00
Marcin Grzejszczak
f043a347bc Bounding the queue for StreamSpanReporter
without this change the limit is MAX_INTEGER. With this change we set it to 1000

fixes #378
2016-08-18 12:26:45 +02:00
Marcin Grzejszczak
ef1cd65f0c Bounding the queue for StreamSpanReporter
without this change the limit is MAX_INTEGER. With this change we set it to 1000

fixes #378
2016-08-18 12:20:01 +02:00
Steve Oakey
cf9e379ca1 Added PollerMetadata for StreamSpanReporter (#343)
Added configurable PollerMetadata bean to be used with the Inbound
Channel Adapter in the StreamSpanReporter. Fixed delay and max messages
per poll are configurable via configuration properties. Implementors can
provide a bean of type PollerMetadata and name
StreamSpanReporter.POLLER to take full control of the poller.

Fixes: gh-338
2016-07-29 16:01:09 +02:00
Marcin Grzejszczak
b26ae5da86 Updated the docs to include the new poller mechanism 2016-07-29 15:48:19 +02:00
Steve Oakey
32be48963c Added PollerMetadata for StreamSpanReporter (#343)
Added configurable PollerMetadata bean to be used with the Inbound
Channel Adapter in the StreamSpanReporter. Fixed delay and max messages
per poll are configurable via configuration properties. Implementors can
provide a bean of type PollerMetadata and name
StreamSpanReporter.POLLER to take full control of the poller.

Fixes: gh-338
2016-07-29 15:40:46 +02:00
Marcin Grzejszczak
84723e8ad7 Going back to Snapshots 2016-07-25 11:58:27 +02:00