Move Cache and related classes to internal package (#5759)
* Move Cache and related classes to internal package * fix imports
This commit is contained in:
parent
65717dae3e
commit
519024485c
|
@ -5,7 +5,7 @@
|
|||
|
||||
package io.opentelemetry.instrumentation.api.annotation.support;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
|
|
@ -7,8 +7,8 @@ package io.opentelemetry.instrumentation.api.annotation.support;
|
|||
|
||||
import io.opentelemetry.api.common.AttributesBuilder;
|
||||
import io.opentelemetry.context.Context;
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Parameter;
|
||||
import javax.annotation.Nullable;
|
||||
|
|
|
@ -7,7 +7,7 @@ package io.opentelemetry.instrumentation.api.annotation.support
|
|||
|
||||
import io.opentelemetry.api.common.AttributesBuilder
|
||||
import io.opentelemetry.context.Context
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache
|
||||
import spock.lang.Specification
|
||||
|
||||
import java.lang.reflect.Method
|
||||
|
|
|
@ -11,7 +11,7 @@ import static org.mockito.Mockito.verifyNoInteractions;
|
|||
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.function.Function;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
|
|
@ -9,8 +9,8 @@ import static io.opentelemetry.instrumentation.api.db.StatementSanitizationConfi
|
|||
import static io.opentelemetry.instrumentation.api.internal.SupportabilityMetrics.CounterNames.SQL_STATEMENT_SANITIZER_CACHE_MISS;
|
||||
|
||||
import com.google.auto.value.AutoValue;
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.internal.SupportabilityMetrics;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
/**
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
package io.opentelemetry.instrumentation.api.util;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
package io.opentelemetry.instrumentation.api.cache;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import org.openjdk.jmh.annotations.Benchmark;
|
||||
import org.openjdk.jmh.annotations.Fork;
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
|
||||
package io.opentelemetry.instrumentation.api.internal;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.field.VirtualField;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import java.util.logging.Logger;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
|
|
|
@ -3,13 +3,18 @@
|
|||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.instrumentation.api.cache;
|
||||
package io.opentelemetry.instrumentation.api.internal.cache;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.cache.internal.concurrentlinkedhashmap.ConcurrentLinkedHashMap;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.concurrentlinkedhashmap.ConcurrentLinkedHashMap;
|
||||
import java.util.function.Function;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
/** A cache from keys to values. */
|
||||
/**
|
||||
* A cache from keys to values.
|
||||
*
|
||||
* <p>This class is internal and is hence not for public use. Its APIs are unstable and can change
|
||||
* at any time.
|
||||
*/
|
||||
public interface Cache<K, V> {
|
||||
|
||||
/**
|
|
@ -3,7 +3,7 @@
|
|||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.instrumentation.api.cache;
|
||||
package io.opentelemetry.instrumentation.api.internal.cache;
|
||||
|
||||
import java.util.concurrent.ConcurrentMap;
|
||||
import java.util.function.Function;
|
|
@ -3,9 +3,9 @@
|
|||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.instrumentation.api.cache;
|
||||
package io.opentelemetry.instrumentation.api.internal.cache;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.cache.internal.weaklockfree.WeakConcurrentMap;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.weaklockfree.WeakConcurrentMap;
|
||||
import java.util.function.Function;
|
||||
|
||||
final class WeakLockFreeCache<K, V> implements Cache<K, V> {
|
|
@ -20,11 +20,11 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package io.opentelemetry.instrumentation.api.cache.internal.concurrentlinkedhashmap;
|
||||
package io.opentelemetry.instrumentation.api.internal.cache.concurrentlinkedhashmap;
|
||||
|
||||
import static io.opentelemetry.instrumentation.api.cache.internal.concurrentlinkedhashmap.ConcurrentLinkedHashMap.DrainStatus.IDLE;
|
||||
import static io.opentelemetry.instrumentation.api.cache.internal.concurrentlinkedhashmap.ConcurrentLinkedHashMap.DrainStatus.PROCESSING;
|
||||
import static io.opentelemetry.instrumentation.api.cache.internal.concurrentlinkedhashmap.ConcurrentLinkedHashMap.DrainStatus.REQUIRED;
|
||||
import static io.opentelemetry.instrumentation.api.internal.cache.concurrentlinkedhashmap.ConcurrentLinkedHashMap.DrainStatus.IDLE;
|
||||
import static io.opentelemetry.instrumentation.api.internal.cache.concurrentlinkedhashmap.ConcurrentLinkedHashMap.DrainStatus.PROCESSING;
|
||||
import static io.opentelemetry.instrumentation.api.internal.cache.concurrentlinkedhashmap.ConcurrentLinkedHashMap.DrainStatus.REQUIRED;
|
||||
import static java.util.Collections.emptyList;
|
||||
import static java.util.Collections.unmodifiableMap;
|
||||
import static java.util.Collections.unmodifiableSet;
|
|
@ -20,7 +20,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package io.opentelemetry.instrumentation.api.cache.internal.concurrentlinkedhashmap;
|
||||
package io.opentelemetry.instrumentation.api.internal.cache.concurrentlinkedhashmap;
|
||||
|
||||
import javax.annotation.concurrent.ThreadSafe;
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package io.opentelemetry.instrumentation.api.cache.internal.concurrentlinkedhashmap;
|
||||
package io.opentelemetry.instrumentation.api.internal.cache.concurrentlinkedhashmap;
|
||||
|
||||
import javax.annotation.concurrent.ThreadSafe;
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package io.opentelemetry.instrumentation.api.cache.internal.concurrentlinkedhashmap;
|
||||
package io.opentelemetry.instrumentation.api.internal.cache.concurrentlinkedhashmap;
|
||||
|
||||
import java.util.AbstractCollection;
|
||||
import java.util.Collection;
|
|
@ -20,7 +20,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package io.opentelemetry.instrumentation.api.cache.internal.concurrentlinkedhashmap;
|
||||
package io.opentelemetry.instrumentation.api.internal.cache.concurrentlinkedhashmap;
|
||||
|
||||
import javax.annotation.concurrent.ThreadSafe;
|
||||
|
|
@ -20,9 +20,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package io.opentelemetry.instrumentation.api.cache.internal.concurrentlinkedhashmap;
|
||||
|
||||
import static io.opentelemetry.instrumentation.api.cache.internal.concurrentlinkedhashmap.ConcurrentLinkedHashMap.checkNotNull;
|
||||
package io.opentelemetry.instrumentation.api.internal.cache.concurrentlinkedhashmap;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
|
@ -188,7 +186,7 @@ public final class Weighers {
|
|||
final Weigher<? super V> weigher;
|
||||
|
||||
EntryWeigherView(Weigher<? super V> weigher) {
|
||||
checkNotNull(weigher);
|
||||
ConcurrentLinkedHashMap.checkNotNull(weigher);
|
||||
this.weigher = weigher;
|
||||
}
|
||||
|
|
@ -30,21 +30,21 @@
|
|||
* This package contains an implementation of a bounded {@link java.util.concurrent.ConcurrentMap}
|
||||
* data structure.
|
||||
*
|
||||
* <p>{@link io.opentelemetry.instrumentation.api.cache.internal.concurrentlinkedhashmap.Weigher} is
|
||||
* <p>{@link io.opentelemetry.instrumentation.api.internal.cache.concurrentlinkedhashmap.Weigher} is
|
||||
* a simple interface for determining how many units of capacity an entry consumes. Depending on
|
||||
* which concrete Weigher class is used, an entry may consume a different amount of space within the
|
||||
* cache. The {@link
|
||||
* io.opentelemetry.instrumentation.api.cache.internal.concurrentlinkedhashmap.Weighers} class
|
||||
* io.opentelemetry.instrumentation.api.internal.cache.concurrentlinkedhashmap.Weighers} class
|
||||
* provides utility methods for obtaining the most common kinds of implementations.
|
||||
*
|
||||
* <p>{@link
|
||||
* io.opentelemetry.instrumentation.api.cache.internal.concurrentlinkedhashmap.EvictionListener}
|
||||
* io.opentelemetry.instrumentation.api.internal.cache.concurrentlinkedhashmap.EvictionListener}
|
||||
* provides the ability to be notified when an entry is evicted from the map. An eviction occurs
|
||||
* when the entry was automatically removed due to the map exceeding a capacity threshold. It is not
|
||||
* called when an entry was explicitly removed.
|
||||
*
|
||||
* <p>The {@link
|
||||
* io.opentelemetry.instrumentation.api.cache.internal.concurrentlinkedhashmap.ConcurrentLinkedHashMap}
|
||||
* io.opentelemetry.instrumentation.api.internal.cache.concurrentlinkedhashmap.ConcurrentLinkedHashMap}
|
||||
* class supplies an efficient, scalable, thread-safe, bounded map. As with the <tt>Java Collections
|
||||
* Framework</tt> the "Concurrent" prefix is used to indicate that the map is not governed by a
|
||||
* single exclusion lock.
|
||||
|
@ -52,4 +52,4 @@
|
|||
* @see <a href="http://code.google.com/p/concurrentlinkedhashmap/">
|
||||
* http://code.google.com/p/concurrentlinkedhashmap/</a>
|
||||
*/
|
||||
package io.opentelemetry.instrumentation.api.cache.internal.concurrentlinkedhashmap;
|
||||
package io.opentelemetry.instrumentation.api.internal.cache.concurrentlinkedhashmap;
|
|
@ -23,7 +23,7 @@
|
|||
// Suppress warnings since this is vendored as-is.
|
||||
// CHECKSTYLE:OFF
|
||||
|
||||
package io.opentelemetry.instrumentation.api.cache.internal.weaklockfree;
|
||||
package io.opentelemetry.instrumentation.api.internal.cache.weaklockfree;
|
||||
|
||||
import java.lang.ref.Reference;
|
||||
import java.lang.ref.ReferenceQueue;
|
|
@ -23,7 +23,7 @@
|
|||
// Suppress warnings since this is vendored as-is.
|
||||
// CHECKSTYLE:OFF
|
||||
|
||||
package io.opentelemetry.instrumentation.api.cache.internal.weaklockfree;
|
||||
package io.opentelemetry.instrumentation.api.internal.cache.weaklockfree;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
package io.opentelemetry.instrumentation.api.util;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
|
||||
/** A utility class used to compute readable simple class names. */
|
||||
public final class ClassNames {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.instrumentation.api.cache;
|
||||
package io.opentelemetry.instrumentation.api.internal.cache;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.awaitility.Awaitility.await;
|
|
@ -13,8 +13,8 @@ import io.opentelemetry.api.common.AttributesBuilder;
|
|||
import io.opentelemetry.context.Context;
|
||||
import io.opentelemetry.instrumentation.api.appender.internal.LogBuilder;
|
||||
import io.opentelemetry.instrumentation.api.appender.internal.Severity;
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.config.Config;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import io.opentelemetry.javaagent.instrumentation.api.appender.internal.AgentLogEmitterProvider;
|
||||
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
|
||||
import java.io.PrintWriter;
|
||||
|
|
|
@ -13,8 +13,8 @@ import io.opentelemetry.api.common.AttributesBuilder;
|
|||
import io.opentelemetry.context.Context;
|
||||
import io.opentelemetry.instrumentation.api.appender.internal.LogBuilder;
|
||||
import io.opentelemetry.instrumentation.api.appender.internal.Severity;
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.config.Config;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import io.opentelemetry.javaagent.instrumentation.api.appender.internal.AgentLogEmitterProvider;
|
||||
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
|
||||
import java.io.PrintWriter;
|
||||
|
|
|
@ -13,8 +13,8 @@ import io.opentelemetry.api.common.AttributesBuilder;
|
|||
import io.opentelemetry.context.Context;
|
||||
import io.opentelemetry.instrumentation.api.appender.internal.LogBuilder;
|
||||
import io.opentelemetry.instrumentation.api.appender.internal.Severity;
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.config.Config;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
|
|
|
@ -17,8 +17,8 @@ import io.opentelemetry.context.Context;
|
|||
import io.opentelemetry.instrumentation.api.appender.internal.LogBuilder;
|
||||
import io.opentelemetry.instrumentation.api.appender.internal.LogEmitterProvider;
|
||||
import io.opentelemetry.instrumentation.api.appender.internal.Severity;
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.config.Config;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
|
|
|
@ -12,7 +12,7 @@ import io.micrometer.core.instrument.config.NamingConvention;
|
|||
import io.opentelemetry.api.common.AttributeKey;
|
||||
import io.opentelemetry.api.common.Attributes;
|
||||
import io.opentelemetry.api.common.AttributesBuilder;
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
|
||||
final class Bridging {
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ package io.opentelemetry.javaagent.bootstrap;
|
|||
import static java.util.Collections.emptyList;
|
||||
import static java.util.Collections.unmodifiableList;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
package io.opentelemetry.javaagent.bootstrap;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import java.util.Arrays;
|
||||
|
||||
/** Helper class for detecting whether given class has virtual fields. */
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
package io.opentelemetry.javaagent.extension;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.config.Config;
|
||||
import io.opentelemetry.instrumentation.api.field.VirtualField;
|
||||
import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk;
|
||||
|
@ -29,7 +28,7 @@ public interface AgentListener extends Ordered {
|
|||
* <p>Execute only minimal code because any classes loaded before the agent installation will have
|
||||
* to be retransformed, which takes extra time, and more importantly means that fields can't be
|
||||
* added to those classes - which causes {@link VirtualField} to fall back to the less performant
|
||||
* {@link Cache} implementation for those classes.
|
||||
* cache-based implementation for those classes.
|
||||
*/
|
||||
default void beforeAgent(
|
||||
Config config, AutoConfiguredOpenTelemetrySdk autoConfiguredOpenTelemetrySdk) {}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
package io.opentelemetry.javaagent.extension.matcher;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import io.opentelemetry.javaagent.instrumentation.api.internal.ClassLoaderMatcherCacheHolder;
|
||||
import io.opentelemetry.javaagent.instrumentation.api.internal.InClassLoaderMatcher;
|
||||
import net.bytebuddy.matcher.ElementMatcher;
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
|
||||
package io.opentelemetry.javaagent.instrumentation.api.internal;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.internal.GuardedBy;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
|
|
@ -9,8 +9,8 @@ import static io.opentelemetry.javaagent.tooling.field.GeneratedVirtualFieldName
|
|||
import static io.opentelemetry.javaagent.tooling.field.GeneratedVirtualFieldNames.getRealSetterName;
|
||||
import static io.opentelemetry.javaagent.tooling.field.GeneratedVirtualFieldNames.getVirtualFieldImplementationClassName;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.field.VirtualField;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import io.opentelemetry.javaagent.tooling.Utils;
|
||||
import io.opentelemetry.javaagent.tooling.muzzle.VirtualFieldMappings;
|
||||
import java.util.HashMap;
|
||||
|
|
|
@ -7,7 +7,7 @@ package io.opentelemetry.javaagent.tooling.ignore;
|
|||
|
||||
import static java.util.logging.Level.FINE;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import io.opentelemetry.javaagent.bootstrap.PatchLogger;
|
||||
import io.opentelemetry.javaagent.tooling.util.Trie;
|
||||
import java.util.logging.Logger;
|
||||
|
|
|
@ -12,7 +12,7 @@ import static net.bytebuddy.matcher.ElementMatchers.isAnnotatedWith;
|
|||
import static net.bytebuddy.matcher.ElementMatchers.named;
|
||||
import static net.bytebuddy.matcher.ElementMatchers.not;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
|
||||
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
|
||||
import io.opentelemetry.javaagent.tooling.HelperInjector;
|
||||
|
|
|
@ -8,7 +8,7 @@ package io.opentelemetry.javaagent.tooling;
|
|||
import static java.util.logging.Level.FINE;
|
||||
import static java.util.logging.Level.SEVERE;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import io.opentelemetry.javaagent.bootstrap.HelperResources;
|
||||
import io.opentelemetry.javaagent.bootstrap.InjectedClassHelper;
|
||||
import io.opentelemetry.javaagent.tooling.muzzle.HelperResource;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
package io.opentelemetry.javaagent.tooling.muzzle;
|
||||
|
||||
import io.opentelemetry.instrumentation.api.cache.Cache;
|
||||
import io.opentelemetry.instrumentation.api.internal.cache.Cache;
|
||||
import java.lang.ref.WeakReference;
|
||||
import javax.annotation.Nullable;
|
||||
import net.bytebuddy.agent.builder.AgentBuilder;
|
||||
|
|
Loading…
Reference in New Issue