Skip to content

Commit f4bb698

Browse files
authored
log when clearing trace (#678)
1 parent ccf27da commit f4bb698

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
type: improvement
2+
improvement:
3+
description: Add debug logging when clearing a thread's trace
4+
links:
5+
- https://github.com/palantir/tracing-java/pull/678

tracing/src/main/java/com/palantir/tracing/Tracer.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -657,6 +657,8 @@ static void setTrace(Trace trace) {
657657
MDC.put(Tracers.TRACE_ID_KEY, trace.getTraceId());
658658
setTraceSampledMdcIfObservable(trace.isObservable());
659659
setTraceRequestId(trace.getRequestId());
660+
661+
logSettingTrace();
660662
}
661663

662664
private static void setTraceSampledMdcIfObservable(boolean observable) {
@@ -678,6 +680,10 @@ private static void setTraceRequestId(Optional<String> requestId) {
678680
}
679681
}
680682

683+
private static void logSettingTrace() {
684+
log.debug("Setting trace");
685+
}
686+
681687
private static Trace getOrCreateCurrentTrace() {
682688
Trace trace = currentTrace.get();
683689
if (trace == null) {
@@ -689,9 +695,19 @@ private static Trace getOrCreateCurrentTrace() {
689695

690696
@VisibleForTesting
691697
static void clearCurrentTrace() {
698+
logClearingTrace();
692699
currentTrace.remove();
693700
MDC.remove(Tracers.TRACE_ID_KEY);
694701
MDC.remove(Tracers.TRACE_SAMPLED_KEY);
695702
MDC.remove(Tracers.REQUEST_ID_KEY);
696703
}
704+
705+
private static void logClearingTrace() {
706+
if (log.isDebugEnabled()) {
707+
log.debug("Clearing current trace", SafeArg.of("trace", currentTrace.get()));
708+
if (log.isTraceEnabled()) {
709+
log.trace("Stacktrace at time of clearing trace", new SafeRuntimeException("not a real exception"));
710+
}
711+
}
712+
}
697713
}

0 commit comments

Comments
 (0)