All Downloads are FREE. Search and download functionalities are using the official Maven repository.

datadog.trace.api.CorrelationIdentifier Maven / Gradle / Ivy

package datadog.trace.api;

import java.util.concurrent.atomic.AtomicReference;

/**
 * Utility class to access the active trace and span ids.
 *
 * 

Intended for use with MDC frameworks. */ public class CorrelationIdentifier { private static final AtomicReference provider = new AtomicReference<>(Provider.NO_OP); public static void registerIfAbsent(Provider p) { if (p != null && p != Provider.NO_OP) { provider.compareAndSet(Provider.NO_OP, p); } } public static long getTraceId() { return provider.get().getTraceId(); } public static long getSpanId() { return provider.get().getSpanId(); } public interface Provider { long getTraceId(); long getSpanId(); Provider NO_OP = new Provider() { @Override public long getTraceId() { return 0; } @Override public long getSpanId() { return 0; } }; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy