-
Notifications
You must be signed in to change notification settings - Fork 692
Support Extra Propagation Fields with Trace #2290
Conversation
Providing a Trace Propagation Factory Builder instead of just the Factory, while allows us to rely on the `TraceAutoConfiguration.sleuthPropagation()` rather than completely skipping it. Fixes: #2268.
@adriancole This almost works except that when there are no extra propagation fields, we get this exception:
I think we should just be providing a general |
@adriancole Ultimately, what we're after is the ability to configure the delegate for |
the exception will go away with a new brave release which will immediately go into the next sleuth release. |
@adriancole Thanks for such a quick turnaround! |
Codecov Report
@@ Coverage Diff @@
## master #2290 +/- ##
============================================
- Coverage 81.13% 73.94% -7.20%
+ Complexity 2319 2098 -221
============================================
Files 260 260
Lines 7575 7575
Branches 785 785
============================================
- Hits 6146 5601 -545
- Misses 1103 1614 +511
- Partials 326 360 +34
Continue to review full report at Codecov.
|
SonarCloud Quality Gate failed. 0 Bugs |
Looks like |
I can look into it Thursday -- I've had a lot of tracing on my mind lately. |
We should rework this PR based on spring-cloud/spring-cloud-sleuth#1647 as well. |
My first thought was that we needed a newer brave, but sleuth snapshot already pulls in the latest... |
Ah. |
zipkin-gcp 0.17.0 is on the way now. shading the internal HexCodec thing so it should be safe. Notably, this fixes the propagation package also, though former is still there. brave.propagation instead of zipkin2.propagation Finally, this allows you to control the underlying B3PropagationFactory, as mentioned One subtle difference 2.2.x to 3.x is the change in the primary inject format. 2.2.x is return BaggagePropagation.newFactoryBuilder(B3Propagation.newFactoryBuilder()
.injectFormat(B3Propagation.Format.MULTI).build()); 3.0 is return BaggagePropagation.newFactoryBuilder(B3Propagation.newFactoryBuilder()
.injectFormat(B3Propagation.Format.SINGLE_NO_PARENT).build()); |
...ava/org/springframework/cloud/gcp/autoconfigure/trace/StackdriverTraceAutoConfiguration.java
Outdated
Show resolved
Hide resolved
...g-cloud-gcp-samples/spring-cloud-gcp-trace-sample/src/test/java/brave/internal/HexCodec.java
Outdated
Show resolved
Hide resolved
@adriancole Can you please do a final review of this PR to make sure I configured the propagation factory correctly. Thanks! |
Providing a Trace Propagation Factory Builder instead of just the Factory,
which allows us to rely on the
TraceAutoConfiguration.sleuthPropagation()
rather than completely skipping it.
Fixes: #2268.