Commit Graph

549 Commits

Author SHA1 Message Date
Marcin Grzejszczak
fcee4fd424 Added deprecation warning messages for baggage 2020-06-17 11:46:53 +02:00
Marcin Grzejszczak
b31c0fe18f Migrated to docs.spring.io 2020-06-04 13:21:13 +02:00
Marcin Grzejszczak
bcb16d5341 Updated gradle example 2020-06-02 11:04:42 +02:00
Marcin Grzejszczak
b54565d32e Updated bom for dependency management
fixes gh-1658
2020-06-02 11:00:25 +02:00
Marcin Grzejszczak
ba73aa03d4 Updated links 2020-06-01 14:42:30 +02:00
buildmaster
6b8dd82346 Bumping versions to 2.2.4.BUILD-SNAPSHOT after release 2020-05-28 20:00:54 +00:00
buildmaster
4b961dcdf3 Going back to snapshots 2020-05-28 20:00:54 +00:00
buildmaster
fdf4c647df Update SNAPSHOT to 2.2.3.RELEASE 2020-05-28 19:57:31 +00:00
Adrian Cole
b1d39ce291 Updates to Brave 5.12 and introduces SpanHandler (#1632)
`SpanHandler` is the base type for the now deprecated `FinishedSpanHandler`.

Notable, it can not just handle things at the end of a recording, but also the
beginning.

For example, this permits set-once baggage without the HTTP abstraction:
```java
static final BaggageField EPOCH_SECONDS = BaggageField.create("epoch_seconds");

static final class RootOnlyBaggage extends SpanHandler {
  @Override
  public boolean begin(TraceContext context, MutableSpan span, @Nullable TraceContext parent) {
    if (EPOCH_SECONDS.getValue(context) == null) { // only set at the first span
      long epochSeconds = System.currentTimeMillis() / 1000;
      EPOCH_SECONDS.updateValue(context, String.valueOf(epochSeconds));
    }
    return true;
  }

  @Override public boolean end(TraceContext context, MutableSpan span, Cause cause) {
    Tags.BAGGAGE_FIELD.tag(EPOCH_SECONDS, context, span);
    return true;
  }
}
```

As the parent is available, it can also facilitate advanced tasks like counting
children, or summarizing entire local roots.

See https://github.com/openzipkin/brave/tree/master/brave/src/test/java/brave/features/handler
and https://github.com/openzipkin/brave/blob/master/brave/src/main/java/brave/handler/SpanHandler.java for more
2020-05-16 14:01:38 +08:00
Adrian Cole
eac2733c8c Restores special case that ignores sampling properties (#1619)
Sleuth is unlike most tracing configuration libraries, as it has a
legacy from 1.x as being primarily log correlation. In short, when
Zipkin is not installed, it ignored the sampling properties. This
behavior was managed implicitly through an untested combination of
configuration conventions between the core and zipkin modules.

16fb8e3 broke this and this change puts it back, in a way not tightly
coupled to Zipkin and neither requires the more simple, but confusing
"import SamplerAutoConfiguration" approach. It also backfills tests
that should have broken earlier.

In practice, a site that only uses logging is likely uniform in that, so
whether or not the sampled bit is set is of no consequence. However,
there's a chance that someone might rely on this historical behavior.

We should follow-up on 3.0 and remove this as it is very unintuitive to
intentionally ignore sampling properties. For now, this restores the old
behavior based on heuristics of bean definitions.
2020-04-23 13:09:28 +08:00
Spencer Gibb
08f853e386 Updates docs branches 2020-03-06 12:58:21 -05:00
buildmaster
2674fba171 Bumping versions to 2.2.3.BUILD-SNAPSHOT after release 2020-03-04 16:59:42 +00:00
buildmaster
5dd714da5c Going back to snapshots 2020-03-04 16:59:42 +00:00
buildmaster
151218b30a Update SNAPSHOT to 2.2.2.RELEASE 2020-03-04 16:57:41 +00:00
Adrian Cole
eec55b9a6c Adds wiring for HttpRequestParser and HttpResponseParser (#1575) 2020-03-02 09:12:47 +08:00
Adrian Cole
8a4002d288 Cleanups of build including upgrade of Brave (#1530)
In efforts to dig deep into benchmarks, I noticed we were a bit out of
date on Brave. Then, noticed some other artifacts could be bumped
safely. Finally, a find/replace on http/https was over zealous and
tripped up XML.

One change to test expectations and Brave is explained here:
https://github.com/openzipkin/brave/blob/master/instrumentation/RATIONALE.md#calling-spanfinish-while-the-context-is-in-scope
2020-01-22 19:31:50 +08:00
Marcin Grzejszczak
349354a1c7 Added info about activemq sender 2020-01-21 10:13:29 +01:00
Rafael Renan Pacheco
a1ca0084fc Update intro.adoc (#1522) 2020-01-13 22:30:12 +01:00
buildmaster
1c4a3da588 Bumping versions to 2.2.2.BUILD-SNAPSHOT after release 2019-12-20 13:48:43 +00:00
buildmaster
ac6dff3407 Going back to snapshots 2019-12-20 13:48:43 +00:00
buildmaster
c71d6ff0e2 Update SNAPSHOT to 2.2.1.RELEASE 2019-12-20 13:46:45 +00:00
buildmaster
991ccd1c37 Bumping versions 2019-12-14 05:29:10 +00:00
Marcin Grzejszczak
11c8090b94 Spring Cloud Circuit Breaker tracing (#1505)
Adds support for Spring Cloud CircuitBreaker
2019-12-13 11:49:43 +01:00
buildmaster
9ca94951ec Bumping versions to 2.2.1.BUILD-SNAPSHOT after release 2019-11-26 10:35:52 +00:00
buildmaster
830f300ca9 Going back to snapshots 2019-11-26 10:35:52 +00:00
buildmaster
312f87cd23 Update SNAPSHOT to 2.2.0.RELEASE 2019-11-26 10:34:27 +00:00
Marcin Grzejszczak
856d27e331 Updated Sagan Boot (no IMPORTANT) 2019-11-22 16:53:14 +01:00
buildmaster
99ebccf97c Going back to snapshots 2019-11-10 00:19:36 +00:00
buildmaster
10e6f9a705 Update SNAPSHOT to 2.2.0.RC2 2019-11-10 00:18:38 +00:00
Marcin Grzejszczak
b5339925aa Fixed broken docs 2019-11-05 11:52:41 +01:00
Adrian Cole
d1dddbf2c9 Adds Messaging sampling (#1483)
Same as #1456 except for messaging. This completes remote span sampling!
2019-11-04 12:15:15 +01:00
buildmaster
d5bb9437f7 Bumping versions 2019-10-31 05:29:53 +00:00
Marcin Grzejszczak
76b7563feb Merge branch '2.1.x' 2019-10-30 13:11:39 +01:00
Marcin Grzejszczak
cd2e2c2d49 Configure Reactor instrumentation to wrap onLastOperator or onEachOperator
with this feature we would allow user to pick whether they instrument on each or on last operator.

fixes gh-1478
2019-10-30 13:09:30 +01:00
buildmaster
b7dea8ecd7 Bumping versions 2019-10-30 05:33:54 +00:00
worldtiki
bff52872e3 Service name for the remote redis endpoint. (#1475)
fixes #1406
2019-10-29 08:49:33 +01:00
buildmaster
b4b597872f Going back to snapshots 2019-10-24 21:05:59 +00:00
buildmaster
d972a87338 Update SNAPSHOT to 2.2.0.RC1 2019-10-24 21:05:02 +00:00
buildmaster
536eee5b6c Bumping versions 2019-10-24 05:29:09 +00:00
Marcin Grzejszczak
400be4130e Merge branch '2.1.x' 2019-10-23 14:18:42 +02:00
buildmaster
5e6bdf9da2 Bumping versions 2019-10-23 05:29:17 +00:00
Marcin Grzejszczak
7f1ab05456 Polish 2019-10-22 14:38:45 +02:00
Adrian Cole
aa533bc4cb Updates to latest Sampling infrastructure (2.1.x) (#1461)
* Updates to latest Sampling infrastructure (2.1.x)

This adapts #1456 for the 2.1.x branch
2019-10-08 18:47:25 -05:00
Marcin Grzejszczak
7d5d70b6e8 Updated intro page with project root 2019-10-04 14:30:52 +02:00
buildmaster
9361cf2017 Going back to snapshots 2019-10-03 20:06:35 +00:00
buildmaster
365a1c60f0 Update SNAPSHOT to 2.2.0.M3 2019-10-03 20:05:37 +00:00
Adrian Cole
be5fa04118 Updates to latest Sampling infrastructure (#1456)
* Updates to latest Sampling infrastructure

Brave recently switched to an interface model for higher level sampling
like HTTP. So, `HttpSampler` -> `SamplingFunction<HttpRequest>`. Don't
worry because `HttpSampler` was retrofitted as a `SamplingFunction`.

This change moves to the higher interface, avoiding deprecated methods
and such. More interestingly, this weaves in support for `RpcTracing`,
which *finally* introduces RPC sampling the same way. Specifically, this
adds `SamplingFunction<RpcRequest>` under the same conventions as HTTP.

Most immediately, this can be used here in gRPC and Dubbo, as
autoconfiguration exists. It also works with any autoconfiguration that
isn't here, such as Armeria.

Ex. Here's a sampler that traces 100 "GetUserToken" requests per second. This
doesn't start new traces for requests to the health check service. Other
requests will use a global rate provided by the tracing component.

```java
import static brave.rpc.RpcRequestMatchers.methodEquals;
import static brave.rpc.RpcRequestMatchers.serviceEquals;
import static brave.sampler.Matchers.and;

--snip--
@Bean(name = ServerSampler.NAME)
SamplerFunction<RpcRequest> myRpcSampler() {
  Matcher<RpcRequest> userAuth = and(
      serviceEquals("users.UserService"),
      methodEquals("GetUserToken")
  );
  return RpcRuleSampler.newBuilder()
      .putRule(serviceEquals("grpc.health.v1.Health"), Sampler.NEVER_SAMPLE)
      .putRule(userAuth, RateLimitingSampler.create(100)).build();
}
```
2019-10-03 12:21:56 +02:00
Brian Devins-Suresh
dc82c5cafc SQS Messaging Autoconfig (#1218)
added support for SQS messaging tracing
2019-10-03 12:18:32 +02:00
buildmaster
c7b818753f Bumping versions 2019-10-03 05:29:37 +00:00
Marcin Grzejszczak
028a79dc25 Bumping versions to 2.1.5.BUILD-SNAPSHOT after release 2019-09-27 13:56:35 +02:00