From 4586db491d54f2de8183dc44a9751155a1fb1029 Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Thu, 26 May 2022 10:35:39 +0300 Subject: [PATCH] Allow instrumenting built-in class loaders (#6093) --- .../ClassLoaderIgnoredTypesConfigurer.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 instrumentation/internal/internal-class-loader/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/internal/classloader/ClassLoaderIgnoredTypesConfigurer.java diff --git a/instrumentation/internal/internal-class-loader/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/internal/classloader/ClassLoaderIgnoredTypesConfigurer.java b/instrumentation/internal/internal-class-loader/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/internal/classloader/ClassLoaderIgnoredTypesConfigurer.java new file mode 100644 index 0000000000..3d0518532a --- /dev/null +++ b/instrumentation/internal/internal-class-loader/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/internal/classloader/ClassLoaderIgnoredTypesConfigurer.java @@ -0,0 +1,21 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.internal.classloader; + +import com.google.auto.service.AutoService; +import io.opentelemetry.instrumentation.api.config.Config; +import io.opentelemetry.javaagent.extension.ignore.IgnoredTypesBuilder; +import io.opentelemetry.javaagent.extension.ignore.IgnoredTypesConfigurer; + +@AutoService(IgnoredTypesConfigurer.class) +public class ClassLoaderIgnoredTypesConfigurer implements IgnoredTypesConfigurer { + + @Override + public void configure(Config config, IgnoredTypesBuilder builder) { + builder.allowClass("jdk.internal.loader.BuiltinClassLoader"); + builder.allowClass("sun.misc.Launcher$AppClassLoader"); + } +}