Skip to content

Commit

Permalink
Exclude method handles exceptions from telemetry logs (#7208)
Browse files Browse the repository at this point in the history
  • Loading branch information
nikita-tkachenko-datadog committed Jun 17, 2024
1 parent 841d933 commit 5cf2f32
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions internal-api/src/main/java/datadog/trace/util/MethodHandles.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package datadog.trace.util;

import datadog.trace.api.telemetry.LogCollector;
import java.lang.invoke.MethodHandle;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
Expand Down Expand Up @@ -49,6 +50,7 @@ public MethodHandle privateFieldGetter(Class<?> clazz, String fieldName) {

} catch (Throwable t) {
log.debug(
LogCollector.EXCLUDE_TELEMETRY,
"Could not get private field {} getter from class {}",
fieldName,
clazz.getName(),
Expand Down Expand Up @@ -84,6 +86,7 @@ public MethodHandle privateFieldSetter(Class<?> clazz, String fieldName) {

} catch (Throwable t) {
log.debug(
LogCollector.EXCLUDE_TELEMETRY,
"Could not get private field {} setter from class {}",
fieldName,
clazz.getName(),
Expand Down Expand Up @@ -119,6 +122,7 @@ public MethodHandle constructor(Class<?> clazz, Class<?>... parameterTypes) {

} catch (Throwable t) {
log.debug(
LogCollector.EXCLUDE_TELEMETRY,
"Could not get constructor accepting {} from class {}",
Arrays.toString(parameterTypes),
clazz.getName(),
Expand Down Expand Up @@ -154,6 +158,7 @@ public MethodHandle method(Class<?> clazz, String methodName, Class<?>... parame

} catch (Throwable t) {
log.debug(
LogCollector.EXCLUDE_TELEMETRY,
"Could not get method {} accepting {} from class {}",
methodName,
Arrays.toString(parameterTypes),
Expand Down Expand Up @@ -191,7 +196,11 @@ public MethodHandle method(Class<?> clazz, Predicate<Method> filter) {
return null;

} catch (Throwable t) {
log.debug("Could not find desired method in class {}", clazz, t);
log.debug(
LogCollector.EXCLUDE_TELEMETRY,
"Could not find desired method in class {}",
clazz,
t);
return null;
}
});
Expand All @@ -201,7 +210,7 @@ private Class<?> loadClass(String className) {
try {
return classLoader.loadClass(className);
} catch (Throwable t) {
log.debug("Could not load class {}", className, t);
log.debug(LogCollector.EXCLUDE_TELEMETRY, "Could not load class {}", className, t);
return null;
}
}
Expand Down

0 comments on commit 5cf2f32

Please sign in to comment.