Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public class DebuggerAgent {
private static DebuggerSink sink;
private static String agentVersion;
private static JsonSnapshotSerializer snapshotSerializer;
private static ClassNameFilter classNameFilter;
private static volatile ClassNameFilter classNameFilter;
private static SymDBEnablement symDBEnablement;
private static volatile ConfigurationUpdater configurationUpdater;
private static volatile DefaultExceptionDebugger exceptionDebugger;
Expand All @@ -83,7 +83,6 @@ public static synchronized void run(Instrumentation inst, SharedCommunicationObj
config, diagnosticEndpoint, ddAgentFeaturesDiscovery.supportsDebuggerDiagnostics());
DebuggerSink debuggerSink = createDebuggerSink(config, probeStatusSink);
debuggerSink.start();
classNameFilter = new ClassNameFiltering(config);
configurationUpdater =
new ConfigurationUpdater(
instrumentation,
Expand All @@ -101,7 +100,6 @@ public static synchronized void run(Instrumentation inst, SharedCommunicationObj
snapshotSerializer = new JsonSnapshotSerializer();
DebuggerContext.initValueSerializer(snapshotSerializer);
DebuggerContext.initTracer(new DebuggerTracer(debuggerSink.getProbeStatusSink()));
DebuggerContext.initClassNameFilter(classNameFilter);
if (config.isDebuggerExceptionEnabled()) {
startExceptionReplay();
}
Expand All @@ -128,6 +126,12 @@ public static synchronized void run(Instrumentation inst, SharedCommunicationObj
TracerFlare.addReporter(DebuggerAgent::addReportToFlare);
}

private static void initClassNameFilter() {
if (classNameFilter == null) {
classNameFilter = new ClassNameFiltering(Config.get());
}
}

public static void startDynamicInstrumentation() {
if (!dynamicInstrumentationEnabled.compareAndSet(false, true)) {
return;
Expand All @@ -143,6 +147,7 @@ public static void startDynamicInstrumentation() {
}
if (configurationPoller != null) {
if (config.isSymbolDatabaseEnabled()) {
initClassNameFilter();
SymbolAggregator symbolAggregator =
new SymbolAggregator(
classNameFilter, sink.getSymbolSink(), config.getSymbolDatabaseFlushThreshold());
Expand Down Expand Up @@ -179,6 +184,7 @@ public static void startExceptionReplay() {
return;
}
LOGGER.info("Starting Exception Replay");
initClassNameFilter();
Config config = Config.get();
exceptionDebugger =
new DefaultExceptionDebugger(
Expand Down Expand Up @@ -207,6 +213,8 @@ public static void startCodeOriginForSpans() {
return;
}
LOGGER.info("Starting Code Origin for spans");
initClassNameFilter();
DebuggerContext.initClassNameFilter(classNameFilter);
DebuggerContext.initCodeOrigin(
new DefaultCodeOriginRecorder(Config.get(), configurationUpdater));
}
Expand Down
Loading