You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ct...@apache.org on 2022/04/12 00:36:26 UTC
[accumulo] branch main updated: Start spans when inside a valid span (#2611)
This is an automated email from the ASF dual-hosted git repository.
ctubbsii pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/main by this push:
new 2dfe37b620 Start spans when inside a valid span (#2611)
2dfe37b620 is described below
commit 2dfe37b620ca9163bccaf4f4caea96923d5ecc0d
Author: Christopher Tubbs <ct...@apache.org>
AuthorDate: Mon Apr 11 20:36:22 2022 -0400
Start spans when inside a valid span (#2611)
Start a span, even if tracing is disabled on our end, if we find our
code inside a valid span. This implies that we're running inside a
user's span, started in user code.
This prevents us from needing to expose Accumulo internal
enabling/disabling utilities to client code. Users can enable
client-side tracing merely by wrapping our code with their own valid
spans.
---
core/src/main/java/org/apache/accumulo/core/trace/TraceUtil.java | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/core/src/main/java/org/apache/accumulo/core/trace/TraceUtil.java b/core/src/main/java/org/apache/accumulo/core/trace/TraceUtil.java
index ff91f04dd0..383022993d 100644
--- a/core/src/main/java/org/apache/accumulo/core/trace/TraceUtil.java
+++ b/core/src/main/java/org/apache/accumulo/core/trace/TraceUtil.java
@@ -110,7 +110,7 @@ public class TraceUtil {
private static Span startSpan(Class<?> caller, String spanName, SpanKind kind,
Map<String,String> attributes, TInfo tinfo) {
- if (!enabled) {
+ if (!enabled && !Span.current().getSpanContext().isValid()) {
return Span.getInvalid();
}
final String name = String.format(SPAN_FORMAT, caller.getSimpleName(), spanName);
@@ -153,8 +153,7 @@ public class TraceUtil {
*/
public static TInfo traceInfo() {
TInfo tinfo = new TInfo();
- W3CTraceContextPropagator.getInstance().inject(Context.current(), tinfo,
- (carrier, key, value) -> carrier.putToHeaders(key, value));
+ W3CTraceContextPropagator.getInstance().inject(Context.current(), tinfo, TInfo::putToHeaders);
return tinfo;
}