Move Cache and related classes to internal package (#5759)

* Move Cache and related classes to internal package

* fix imports
This commit is contained in:
Mateusz Rzeszutek 2022-04-07 03:12:11 +02:00 committed by GitHub
parent 65717dae3e
commit 519024485c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
37 changed files with 53 additions and 50 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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;
/**

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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> {
/**

View File

@ -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;

View File

@ -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> {

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;
}

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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 {

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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 {

View File

@ -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;

View File

@ -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. */

View File

@ -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) {}

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;