diff --git a/spring-cloud-sleuth-core/pom.xml b/spring-cloud-sleuth-core/pom.xml
index b37aff670..b141abb3a 100644
--- a/spring-cloud-sleuth-core/pom.xml
+++ b/spring-cloud-sleuth-core/pom.xml
@@ -330,6 +330,7 @@
spring-boot-autoconfigure-processor
true
+
org.springframework.boot
spring-boot-starter-test
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/DefaultSpanNamer.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/DefaultSpanNamer.java
index b79bf567d..b61edd523 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/DefaultSpanNamer.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/DefaultSpanNamer.java
@@ -42,7 +42,10 @@ import org.springframework.core.annotation.AnnotationUtils;
* @author Marcin Grzejszczak
* @since 1.0.0
* @see SpanName
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class DefaultSpanNamer implements SpanNamer {
private static boolean isDefaultToString(Object delegate, String spanName) {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/SleuthProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/SleuthProperties.java
index 7293d584c..e59397188 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/SleuthProperties.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/SleuthProperties.java
@@ -26,7 +26,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author Marcin Grzejszczak
* @since 1.0.11
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@ConfigurationProperties("spring.sleuth")
public class SleuthProperties {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfiguration.java
index b7a99b743..9d95f78f5 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfiguration.java
@@ -70,7 +70,10 @@ import org.springframework.util.StringUtils;
* @author Marcin Grzejszczak
* @author Tim Ysewyn
* @since 2.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.enabled", matchIfMissing = true)
@EnableConfigurationProperties(SleuthProperties.class)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceEnvironmentPostProcessor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceEnvironmentPostProcessor.java
index 70c38ef0a..6d053d621 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceEnvironmentPostProcessor.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/autoconfig/TraceEnvironmentPostProcessor.java
@@ -35,7 +35,10 @@ import org.springframework.core.env.PropertySource;
* @author Dave Syer
* @author Marcin Grzejszczak
* @since 2.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class TraceEnvironmentPostProcessor implements EnvironmentPostProcessor {
private static final String PROPERTY_SOURCE_NAME = "defaultProperties";
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/AsyncAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/AsyncAutoConfiguration.java
index 7a1f78500..c1f9cd875 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/AsyncAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/AsyncAutoConfiguration.java
@@ -28,7 +28,10 @@ import org.springframework.context.annotation.Configuration;
*
* @author Jesus Alonso
* @since 2.1.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.scheduled.enabled", matchIfMissing = true)
@EnableConfigurationProperties({ SleuthAsyncProperties.class,
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/AsyncCustomAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/AsyncCustomAutoConfiguration.java
index 4a3904998..70aec549a 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/AsyncCustomAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/AsyncCustomAutoConfiguration.java
@@ -35,7 +35,10 @@ import org.springframework.scheduling.annotation.AsyncConfigurer;
*
* @author Dave Syer
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean(AsyncConfigurer.class)
@AutoConfigureBefore(AsyncDefaultAutoConfiguration.class)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/AsyncDefaultAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/AsyncDefaultAutoConfiguration.java
index 41ef32689..cfee8fd8e 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/AsyncDefaultAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/AsyncDefaultAutoConfiguration.java
@@ -52,7 +52,10 @@ import org.springframework.scheduling.annotation.AsyncConfigurerSupport;
* @since 1.0.0
* @see LazyTraceExecutor
* @see TraceAsyncAspect
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties({ SleuthAsyncProperties.class,
SleuthSchedulingProperties.class })
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceAsyncCustomizer.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceAsyncCustomizer.java
index b107b59a0..76d35e539 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceAsyncCustomizer.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceAsyncCustomizer.java
@@ -29,7 +29,10 @@ import org.springframework.scheduling.annotation.AsyncConfigurerSupport;
*
* @author Dave Syer
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class LazyTraceAsyncCustomizer extends AsyncConfigurerSupport {
private final BeanFactory beanFactory;
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceAsyncTaskExecutor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceAsyncTaskExecutor.java
index ad7199d08..acd608f4e 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceAsyncTaskExecutor.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceAsyncTaskExecutor.java
@@ -35,7 +35,10 @@ import org.springframework.core.task.AsyncTaskExecutor;
*
* @author Marcin Grzejszczak
* @since 2.1.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class LazyTraceAsyncTaskExecutor implements AsyncTaskExecutor {
private static final Log log = LogFactory.getLog(LazyTraceAsyncTaskExecutor.class);
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceExecutor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceExecutor.java
index dc651db2e..3c86536a2 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceExecutor.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceExecutor.java
@@ -32,7 +32,10 @@ import org.springframework.cloud.sleuth.SpanNamer;
*
* @author Dave Syer
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class LazyTraceExecutor implements Executor {
private static final Log log = LogFactory.getLog(LazyTraceExecutor.class);
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceThreadPoolTaskExecutor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceThreadPoolTaskExecutor.java
index b97d79059..e29b62531 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceThreadPoolTaskExecutor.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceThreadPoolTaskExecutor.java
@@ -39,7 +39,10 @@ import org.springframework.util.concurrent.ListenableFuture;
*
* @author Marcin Grzejszczak
* @since 1.0.10
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@SuppressWarnings("serial")
public class LazyTraceThreadPoolTaskExecutor extends ThreadPoolTaskExecutor {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/SleuthAsyncProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/SleuthAsyncProperties.java
index 18d383a53..f84f0a456 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/SleuthAsyncProperties.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/SleuthAsyncProperties.java
@@ -26,8 +26,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author Jesus Alonso
* @since 2.1.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
-
+@Deprecated
@ConfigurationProperties(prefix = "spring.sleuth.async")
public class SleuthAsyncProperties {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceAsyncAspect.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceAsyncAspect.java
index f14038e49..e173d6762 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceAsyncAspect.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceAsyncAspect.java
@@ -36,7 +36,10 @@ import org.springframework.util.ReflectionUtils;
* @author Marcin Grzejszczak
* @since 1.0.0
* @see Tracer
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Aspect
public class TraceAsyncAspect {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceAsyncListenableTaskExecutor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceAsyncListenableTaskExecutor.java
index be8e94e0f..ff43a26a3 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceAsyncListenableTaskExecutor.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceAsyncListenableTaskExecutor.java
@@ -32,7 +32,10 @@ import org.springframework.util.concurrent.ListenableFuture;
* @since 1.0.0
* @see brave.propagation.CurrentTraceContext#wrap(Runnable)
* @see brave.propagation.CurrentTraceContext#wrap(Callable)
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class TraceAsyncListenableTaskExecutor implements AsyncListenableTaskExecutor {
private final AsyncListenableTaskExecutor delegate;
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceCallable.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceCallable.java
index d7454d048..d7f5ba688 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceCallable.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceCallable.java
@@ -33,7 +33,10 @@ import org.springframework.cloud.sleuth.SpanNamer;
* @author Spencer Gibb
* @author Marcin Grzejszczak
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class TraceCallable implements Callable {
/**
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceRunnable.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceRunnable.java
index ce838a096..5fa349143 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceRunnable.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceRunnable.java
@@ -30,7 +30,10 @@ import org.springframework.cloud.sleuth.SpanNamer;
* @author Spencer Gibb
* @author Marcin Grzejszczak
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class TraceRunnable implements Runnable {
/**
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableExecutorService.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableExecutorService.java
index eb75d1d0d..f5a4edea4 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableExecutorService.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableExecutorService.java
@@ -36,7 +36,10 @@ import org.springframework.cloud.sleuth.SpanNamer;
*
* @author Gaurav Rai Mazra
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class TraceableExecutorService implements ExecutorService {
final ExecutorService delegate;
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableScheduledExecutorService.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableScheduledExecutorService.java
index f5f391f58..936d1aa45 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableScheduledExecutorService.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableScheduledExecutorService.java
@@ -29,7 +29,10 @@ import org.springframework.beans.factory.BeanFactory;
*
* @author Gaurav Rai Mazra
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class TraceableScheduledExecutorService extends TraceableExecutorService
implements ScheduledExecutorService {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/circuitbreaker/SleuthCircuitBreakerAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/circuitbreaker/SleuthCircuitBreakerAutoConfiguration.java
index 95886d5c0..334cc01ec 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/circuitbreaker/SleuthCircuitBreakerAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/circuitbreaker/SleuthCircuitBreakerAutoConfiguration.java
@@ -42,7 +42,10 @@ import org.springframework.context.annotation.Configuration;
*
* @author Marcin Grzejszczak
* @since 2.2.1
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@AutoConfigureAfter(TraceAutoConfiguration.class)
@ConditionalOnClass(CircuitBreaker.class)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/circuitbreaker/SleuthCircuitBreakerProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/circuitbreaker/SleuthCircuitBreakerProperties.java
index 1cb9665a7..a9614a2a6 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/circuitbreaker/SleuthCircuitBreakerProperties.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/circuitbreaker/SleuthCircuitBreakerProperties.java
@@ -23,7 +23,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author Marcin Grzejszczak
* @since 2.2.1
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@ConfigurationProperties("spring.sleuth.circuitbreaker")
public class SleuthCircuitBreakerProperties {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/circuitbreaker/TraceFunction.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/circuitbreaker/TraceFunction.java
index a450a2344..cc102fea0 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/circuitbreaker/TraceFunction.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/circuitbreaker/TraceFunction.java
@@ -27,7 +27,10 @@ import brave.Tracer;
*
* @param type returned by the fallback
* @since 2.2.1
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class TraceFunction implements Function {
private final Tracer tracer;
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/circuitbreaker/TraceSupplier.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/circuitbreaker/TraceSupplier.java
index 2ca6b2633..79cccd07c 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/circuitbreaker/TraceSupplier.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/circuitbreaker/TraceSupplier.java
@@ -27,7 +27,10 @@ import brave.Tracer;
*
* @param type returned by the supplier
* @since 2.2.1
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class TraceSupplier implements Supplier {
private final Tracer tracer;
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/grpc/SpringAwareManagedChannelBuilder.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/grpc/SpringAwareManagedChannelBuilder.java
index 7fcbdd537..749b3a444 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/grpc/SpringAwareManagedChannelBuilder.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/grpc/SpringAwareManagedChannelBuilder.java
@@ -35,6 +35,7 @@ import io.grpc.inprocess.InProcessChannelBuilder;
*
* @author Tyler Van Gorder
*/
+// TODO: research why we need to continue to maintain this given current libraries
public class SpringAwareManagedChannelBuilder {
private List customizers;
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/grpc/TraceGrpcAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/grpc/TraceGrpcAutoConfiguration.java
index 4b333dee1..1d0d7aea3 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/grpc/TraceGrpcAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/grpc/TraceGrpcAutoConfiguration.java
@@ -40,7 +40,10 @@ import org.springframework.context.annotation.Bean;
* brave-instrumentation-grpc are on the classpath.
*
* @author Tyler Van Gorder
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@ConditionalOnClass({ GrpcTracing.class, GRpcGlobalInterceptor.class })
@ConditionalOnProperty(value = "spring.sleuth.grpc.enabled", matchIfMissing = true)
@ConditionalOnBean(RpcTracing.class)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/SleuthHystrixAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/SleuthHystrixAutoConfiguration.java
index e370694f5..a55aac310 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/SleuthHystrixAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/SleuthHystrixAutoConfiguration.java
@@ -37,7 +37,10 @@ import org.springframework.context.annotation.Configuration;
* @author Marcin Grzejszczak
* @see SleuthHystrixConcurrencyStrategy
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@AutoConfigureAfter(TraceAutoConfiguration.class)
@ConditionalOnClass(HystrixCommand.class)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/SleuthHystrixConcurrencyStrategy.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/SleuthHystrixConcurrencyStrategy.java
index 4ff9a7e38..401719560 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/SleuthHystrixConcurrencyStrategy.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/SleuthHystrixConcurrencyStrategy.java
@@ -46,7 +46,10 @@ import org.springframework.cloud.sleuth.instrument.async.TraceCallable;
*
* @author Marcin Grzejszczak
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class SleuthHystrixConcurrencyStrategy extends HystrixConcurrencyStrategy {
private static final String HYSTRIX_COMPONENT = "hystrix";
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/SleuthHystrixConcurrencyStrategyProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/SleuthHystrixConcurrencyStrategyProperties.java
index 7693b907f..095e96205 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/SleuthHystrixConcurrencyStrategyProperties.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/SleuthHystrixConcurrencyStrategyProperties.java
@@ -22,7 +22,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
* Sleuth Hystrix settings.
*
* @author Daniel Albuquerque
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@ConfigurationProperties("spring.sleuth.hystrix.strategy")
public class SleuthHystrixConcurrencyStrategyProperties {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/SleuthKafkaStreamsConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/SleuthKafkaStreamsConfiguration.java
index 8570db8d9..a0b1654d4 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/SleuthKafkaStreamsConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/SleuthKafkaStreamsConfiguration.java
@@ -40,7 +40,10 @@ import org.springframework.kafka.config.StreamsBuilderFactoryBean;
* Auto-configuration} enables Kafka Streams span creation and reporting.
*
* @author Tim te Beek
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean(Tracing.class)
@AutoConfigureAfter({ TraceAutoConfiguration.class })
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/SleuthMessagingProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/SleuthMessagingProperties.java
index 80655caa9..fe7b6fc17 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/SleuthMessagingProperties.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/SleuthMessagingProperties.java
@@ -23,7 +23,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author Marcin Grzejszczak
* @since 2.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@ConfigurationProperties("spring.sleuth")
public class SleuthMessagingProperties {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceMessageHeaders.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceMessageHeaders.java
index c90086733..0b15e4f3d 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceMessageHeaders.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceMessageHeaders.java
@@ -16,6 +16,8 @@
package org.springframework.cloud.sleuth.instrument.messaging;
+import brave.propagation.B3Propagation;
+
/**
* Contains trace related messaging headers. The deprecated headers contained `-` which
* for example in the JMS specs is invalid. That's why the public constants in this class
@@ -23,7 +25,9 @@ package org.springframework.cloud.sleuth.instrument.messaging;
*
* @author Marcin Grzejszczak
* @since 1.0.4
+ * @deprecated These names are obviated by {@link B3Propagation.Format#SINGLE}.
*/
+@Deprecated
public final class TraceMessageHeaders {
/**
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceMessagingAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceMessagingAutoConfiguration.java
index 3ad111f85..363ed298b 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceMessagingAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceMessagingAutoConfiguration.java
@@ -86,7 +86,10 @@ import org.springframework.util.ReflectionUtils;
*
* @author Marcin Grzejszczak
* @since 2.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean(Tracing.class)
@ConditionalOnClass(MessagingTracing.class)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceSpringIntegrationAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceSpringIntegrationAutoConfiguration.java
index 92c4277ee..f2a8ea58f 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceSpringIntegrationAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceSpringIntegrationAutoConfiguration.java
@@ -39,7 +39,10 @@ import org.springframework.messaging.support.MessageHeaderAccessor;
* @author Spencer Gibb
* @since 1.0.0
* @see TracingChannelInterceptor
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(GlobalChannelInterceptor.class)
@ConditionalOnBean(Tracing.class)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TracingChannelInterceptor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TracingChannelInterceptor.java
index 6a0330028..e87048f63 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TracingChannelInterceptor.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TracingChannelInterceptor.java
@@ -58,7 +58,10 @@ import org.springframework.util.ClassUtils;
* which is less sensitive to message manipulation by other interceptors.
*
* @author Marcin Grzejszczak
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public final class TracingChannelInterceptor extends ChannelInterceptorAdapter
implements ExecutorChannelInterceptor {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/websocket/TraceWebSocketAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/websocket/TraceWebSocketAutoConfiguration.java
index a46019110..600c044b9 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/websocket/TraceWebSocketAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/websocket/TraceWebSocketAutoConfiguration.java
@@ -37,7 +37,10 @@ import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
* @author Dave Syer
* @since 1.0.0
* @see AbstractWebSocketMessageBrokerConfigurer
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(DelegatingWebSocketMessageBrokerConfiguration.class)
@ConditionalOnBean(Tracing.class)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/opentracing/OpentracingAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/opentracing/OpentracingAutoConfiguration.java
index 17fa5edc4..6441b835c 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/opentracing/OpentracingAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/opentracing/OpentracingAutoConfiguration.java
@@ -37,7 +37,10 @@ import org.springframework.context.annotation.Configuration;
* @author Spencer Gibb
* @author Marcin Grzejszczak
* @since 2.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.opentracing.enabled", matchIfMissing = true)
@ConditionalOnBean(Tracing.class)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/opentracing/SleuthOpentracingProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/opentracing/SleuthOpentracingProperties.java
index a23620242..2b01386da 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/opentracing/SleuthOpentracingProperties.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/opentracing/SleuthOpentracingProperties.java
@@ -23,7 +23,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author Marcin Grzejszczak
* @since 2.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@ConfigurationProperties("spring.sleuth.opentracing")
public class SleuthOpentracingProperties {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/quartz/TraceQuartzAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/quartz/TraceQuartzAutoConfiguration.java
index 58263b87d..630041ac8 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/quartz/TraceQuartzAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/quartz/TraceQuartzAutoConfiguration.java
@@ -36,7 +36,10 @@ import org.springframework.context.annotation.Configuration;
*
* @author Branden Cash
* @since 2.2.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean({ Tracing.class, Scheduler.class })
@AutoConfigureAfter({ TraceAutoConfiguration.class, QuartzAutoConfiguration.class })
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/ReactorSleuth.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/ReactorSleuth.java
index 48c70d442..5fd092220 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/ReactorSleuth.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/ReactorSleuth.java
@@ -39,6 +39,8 @@ import org.springframework.context.ConfigurableApplicationContext;
* @author Stephane Maldini
* @since 2.0.0
*/
+// TODO: this is public as it is used out of package, but unlikely intended to be
+// non-internal
public abstract class ReactorSleuth {
private static final Log log = LogFactory.getLog(ReactorSleuth.class);
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/SleuthReactorProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/SleuthReactorProperties.java
index 5ad4bea31..9410ba0f6 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/SleuthReactorProperties.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/SleuthReactorProperties.java
@@ -23,7 +23,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author Marcin Grzejszczak
* @since 2.0.2
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@ConfigurationProperties("spring.sleuth.reactor")
public class SleuthReactorProperties {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/TraceReactorAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/TraceReactorAutoConfiguration.java
index 1f913ec08..87e0eb510 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/TraceReactorAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/TraceReactorAutoConfiguration.java
@@ -55,7 +55,10 @@ import static org.springframework.cloud.sleuth.instrument.reactor.TraceReactorAu
* @author Stephane Maldini
* @author Marcin Grzejszczak
* @since 2.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.reactor.enabled", matchIfMissing = true)
@ConditionalOnClass(Mono.class)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/redis/TraceRedisAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/redis/TraceRedisAutoConfiguration.java
index d78df8224..dd42c0a59 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/redis/TraceRedisAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/redis/TraceRedisAutoConfiguration.java
@@ -39,7 +39,10 @@ import org.springframework.context.annotation.Configuration;
*
* @author Chao Chang
* @since 2.2.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.redis.enabled", matchIfMissing = true)
@ConditionalOnBean({ Tracing.class, ClientResources.class })
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/redis/TraceRedisProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/redis/TraceRedisProperties.java
index 29e0235f3..23c44427d 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/redis/TraceRedisProperties.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/redis/TraceRedisProperties.java
@@ -22,7 +22,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
* Sleuth Redis properties.
*
* @author Daniel Albuquerque
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@ConfigurationProperties("spring.sleuth.redis")
public class TraceRedisProperties {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/rpc/TraceRpcAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/rpc/TraceRpcAutoConfiguration.java
index 7ce6b59cc..f92f748af 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/rpc/TraceRpcAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/rpc/TraceRpcAutoConfiguration.java
@@ -41,7 +41,10 @@ import org.springframework.lang.Nullable;
* Auto-configuration} related to RPC based communication.
*
* @since 2.2.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(name = "spring.sleuth.rpc.enabled", havingValue = "true",
matchIfMissing = true)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/rxjava/RxJavaAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/rxjava/RxJavaAutoConfiguration.java
index f721b83f4..1dce36d67 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/rxjava/RxJavaAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/rxjava/RxJavaAutoConfiguration.java
@@ -37,7 +37,10 @@ import org.springframework.context.annotation.Configuration;
*
* @author Shivang Shah
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@AutoConfigureAfter(TraceAutoConfiguration.class)
@ConditionalOnBean(Tracing.class)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/rxjava/SleuthRxJavaSchedulersProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/rxjava/SleuthRxJavaSchedulersProperties.java
index f32a7ccf6..88d0c0760 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/rxjava/SleuthRxJavaSchedulersProperties.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/rxjava/SleuthRxJavaSchedulersProperties.java
@@ -23,7 +23,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author Arthur Gavlyukovskiy
* @since 1.0.12
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@ConfigurationProperties("spring.sleuth.rxjava.schedulers")
public class SleuthRxJavaSchedulersProperties {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/SleuthSchedulingProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/SleuthSchedulingProperties.java
index f657a5f5a..a5df0ec8b 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/SleuthSchedulingProperties.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/SleuthSchedulingProperties.java
@@ -24,7 +24,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author Arthur Gavlyukovskiy
* @since 1.0.12
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@ConfigurationProperties("spring.sleuth.scheduled")
public class SleuthSchedulingProperties {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/TraceSchedulingAspect.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/TraceSchedulingAspect.java
index 12c37b6e6..a9bf2956a 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/TraceSchedulingAspect.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/TraceSchedulingAspect.java
@@ -40,7 +40,10 @@ import org.springframework.cloud.sleuth.util.SpanNameUtil;
* @author Spencer Gibb
* @since 1.0.0
* @see Tracing
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Aspect
public class TraceSchedulingAspect {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/TraceSchedulingAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/TraceSchedulingAutoConfiguration.java
index 065d89ced..94a6f1a26 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/TraceSchedulingAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/TraceSchedulingAutoConfiguration.java
@@ -37,7 +37,10 @@ import org.springframework.context.annotation.Configuration;
* @author Spencer Gibb
* @since 1.0.0
* @see TraceSchedulingAspect
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(name = "org.aspectj.lang.ProceedingJoinPoint")
@ConditionalOnProperty(value = "spring.sleuth.scheduled.enabled", matchIfMissing = true)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/SleuthHttpLegacyProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/SleuthHttpLegacyProperties.java
index b4ce4b838..a94ae22fc 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/SleuthHttpLegacyProperties.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/SleuthHttpLegacyProperties.java
@@ -23,7 +23,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author Marcin Grzejszczak
* @since 2.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@ConfigurationProperties("spring.sleuth.http.legacy")
public class SleuthHttpLegacyProperties {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/SleuthWebProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/SleuthWebProperties.java
index d377059ae..8d577354e 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/SleuthWebProperties.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/SleuthWebProperties.java
@@ -24,7 +24,10 @@ import org.springframework.boot.context.properties.NestedConfigurationProperty;
*
* @author Arthur Gavlyukovskiy
* @since 1.0.12
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@ConfigurationProperties("spring.sleuth.web")
public class SleuthWebProperties {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceHttpAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceHttpAutoConfiguration.java
index ba1123e61..a4f44d3a0 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceHttpAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceHttpAutoConfiguration.java
@@ -47,7 +47,10 @@ import org.springframework.lang.Nullable;
*
* @author Marcin Grzejszczak
* @since 2.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean(TraceWebAutoConfiguration.class)
@ConditionalOnProperty(name = "spring.sleuth.http.enabled", havingValue = "true",
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAspect.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAspect.java
index cec12db30..c07c3285a 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAspect.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAspect.java
@@ -56,7 +56,10 @@ import org.springframework.web.context.request.async.WebAsyncTask;
* @since 1.0.0
* @see org.springframework.stereotype.Controller
* @see org.springframework.web.client.RestOperations
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@SuppressWarnings("ArgNamesWarningsInspection")
@Aspect
public class TraceWebAspect {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAutoConfiguration.java
index 5222c7f13..98e7ca8eb 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAutoConfiguration.java
@@ -53,7 +53,10 @@ import org.springframework.util.StringUtils;
* @author Marcin Grzejszczak
* @author Tim Ysewyn
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.web.enabled", matchIfMissing = true)
@ConditionalOnBean(Tracing.class)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebFilter.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebFilter.java
index d92d8683f..8b04803c8 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebFilter.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebFilter.java
@@ -51,7 +51,10 @@ import org.springframework.web.server.WebFilterChain;
*
* @author Marcin Grzejszczak
* @since 2.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public final class TraceWebFilter implements WebFilter, Ordered {
/**
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebFluxAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebFluxAutoConfiguration.java
index 3a78d34bc..98681504a 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebFluxAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebFluxAutoConfiguration.java
@@ -32,7 +32,10 @@ import org.springframework.context.annotation.Configuration;
*
* @author Marcin Grzejszczak
* @since 2.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.web.enabled", matchIfMissing = true)
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebServletAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebServletAutoConfiguration.java
index 866f51daa..f5a71efba 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebServletAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebServletAutoConfiguration.java
@@ -52,7 +52,10 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
* @author Marcin Grzejszczak
* @author Spencer Gibb
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.web.enabled", matchIfMissing = true)
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebAsyncClientAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebAsyncClientAutoConfiguration.java
index c7dad35fe..3b21c5c3a 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebAsyncClientAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebAsyncClientAutoConfiguration.java
@@ -44,7 +44,10 @@ import org.springframework.web.client.AsyncRestTemplate;
*
* @author Marcin Grzejszczak
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@SleuthWebClientEnabled
@ConditionalOnProperty(value = "spring.sleuth.web.async.client.enabled",
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientAutoConfiguration.java
index bb59752b7..725388453 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientAutoConfiguration.java
@@ -62,7 +62,10 @@ import org.springframework.web.reactive.function.client.WebClient;
*
* @author Marcin Grzejszczak
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@SleuthWebClientEnabled
@ConditionalOnBean(HttpTracing.class)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/NeverRetry.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/NeverRetry.java
index 0683d3dad..cdc3fb913 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/NeverRetry.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/NeverRetry.java
@@ -24,7 +24,9 @@ import feign.Retryer;
* Feign. For the 1.0.x stream we add it here.
*
* @author Ryan Baxter
+ * @deprecated This type will be removed in 3.0
*/
+@Deprecated
public class NeverRetry implements Retryer {
/**
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/SleuthFeignProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/SleuthFeignProperties.java
index 6762d643e..006793ba2 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/SleuthFeignProperties.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/SleuthFeignProperties.java
@@ -23,7 +23,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author Marcin Grzejszczak
* @since 2.0.2
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@ConfigurationProperties("spring.sleuth.feign")
public class SleuthFeignProperties {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceFeignBlockingLoadBalancerClient.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceFeignBlockingLoadBalancerClient.java
index b65643a6b..bf00cf4d4 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceFeignBlockingLoadBalancerClient.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceFeignBlockingLoadBalancerClient.java
@@ -41,7 +41,10 @@ import org.springframework.cloud.openfeign.loadbalancer.FeignBlockingLoadBalance
* @since 2.2.0
* @see TraceLoadBalancerFeignClient
* @see FeignBlockingLoadBalancerClient
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class TraceFeignBlockingLoadBalancerClient
extends FeignBlockingLoadBalancerClient {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceFeignClientAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceFeignClientAutoConfiguration.java
index d65cc10d0..38e34e24e 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceFeignClientAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceFeignClientAutoConfiguration.java
@@ -42,7 +42,10 @@ import org.springframework.context.annotation.Scope;
*
* @author Marcin Grzejszczak
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.feign.enabled", matchIfMissing = true)
@ConditionalOnClass({ Client.class, FeignContext.class })
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceLoadBalancerFeignClient.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceLoadBalancerFeignClient.java
index 8644610e7..6e4091357 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceLoadBalancerFeignClient.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceLoadBalancerFeignClient.java
@@ -40,7 +40,10 @@ import org.springframework.cloud.openfeign.ribbon.LoadBalancerFeignClient;
*
* @author Marcin Grzejszczak
* @since 1.0.7
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class TraceLoadBalancerFeignClient extends LoadBalancerFeignClient {
private static final Log log = LogFactory.getLog(TraceLoadBalancerFeignClient.class);
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/zuul/TraceZuulAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/zuul/TraceZuulAutoConfiguration.java
index 736b33d22..98dafacbc 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/zuul/TraceZuulAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/zuul/TraceZuulAutoConfiguration.java
@@ -35,7 +35,10 @@ import org.springframework.context.annotation.Configuration;
*
* @author Dave Syer
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.zuul.enabled", matchIfMissing = true)
@ConditionalOnWebApplication
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/log/SleuthSlf4jProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/log/SleuthSlf4jProperties.java
index 26d028b8e..ebf34e144 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/log/SleuthSlf4jProperties.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/log/SleuthSlf4jProperties.java
@@ -26,7 +26,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author Arthur Gavlyukovskiy
* @since 1.0.12
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@ConfigurationProperties("spring.sleuth.log.slf4j")
public class SleuthSlf4jProperties {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/SleuthTagPropagationAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/SleuthTagPropagationAutoConfiguration.java
index 7023750f6..2c3c4bc82 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/SleuthTagPropagationAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/SleuthTagPropagationAutoConfiguration.java
@@ -29,7 +29,10 @@ import org.springframework.context.annotation.Configuration;
/**
* @author Taras Danylchuk
* @since 2.1.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.enabled", matchIfMissing = true)
@AutoConfigureBefore(TraceAutoConfiguration.class)
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/SleuthTagPropagationProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/SleuthTagPropagationProperties.java
index 0e60d7830..f2e83e3c3 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/SleuthTagPropagationProperties.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/SleuthTagPropagationProperties.java
@@ -26,7 +26,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author Taras Danylchuk
* @since 2.1.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@ConfigurationProperties("spring.sleuth.propagation.tag")
public class SleuthTagPropagationProperties {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/TagPropagationFinishedSpanHandler.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/TagPropagationFinishedSpanHandler.java
index c6bc5c6f6..80b7ebeb7 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/TagPropagationFinishedSpanHandler.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/propagation/TagPropagationFinishedSpanHandler.java
@@ -35,7 +35,10 @@ import static java.util.Objects.nonNull;
*
* @author Taras Danylchuk
* @since 2.1.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class TagPropagationFinishedSpanHandler extends FinishedSpanHandler {
private final SleuthProperties sleuthProperties;
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/ProbabilityBasedSampler.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/ProbabilityBasedSampler.java
index 49ba4e9a7..5603327e6 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/ProbabilityBasedSampler.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/ProbabilityBasedSampler.java
@@ -44,7 +44,10 @@ import org.springframework.util.Assert;
* @author Marcin Grzejszczak
* @author Adrian Cole
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class ProbabilityBasedSampler extends Sampler {
private final AtomicInteger counter = new AtomicInteger(0);
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/SamplerAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/SamplerAutoConfiguration.java
index 473fbdd5e..9a91461df 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/SamplerAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/SamplerAutoConfiguration.java
@@ -33,7 +33,10 @@ import org.springframework.context.annotation.Configuration;
* @author Marcin Grzejszczak
* @see SamplerCondition
* @since 2.1.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(SamplerProperties.class)
// This is not auto-configuration, but it was in the past. Leaving the name as
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/SamplerProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/SamplerProperties.java
index 066655a64..0808077ec 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/SamplerProperties.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/SamplerProperties.java
@@ -24,7 +24,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
* @author Marcin Grzejszczak
* @author Adrian Cole
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@ConfigurationProperties("spring.sleuth.sampler")
public class SamplerProperties {
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/util/ArrayListSpanReporter.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/util/ArrayListSpanReporter.java
index 321fa52ad..14eccc356 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/util/ArrayListSpanReporter.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/util/ArrayListSpanReporter.java
@@ -27,7 +27,9 @@ import zipkin2.reporter.Reporter;
*
* @author Marcin Grzejszczak
* @since 2.0.0
+ * @deprecated This type will be removed in 3.0. Use io.zipkin.brave:brave-tests instead
*/
+@Deprecated
public class ArrayListSpanReporter implements Reporter {
private final List spans = new ArrayList<>();
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/util/SpanNameUtil.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/util/SpanNameUtil.java
index e1737c3c6..42cc78148 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/util/SpanNameUtil.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/util/SpanNameUtil.java
@@ -23,7 +23,9 @@ import org.springframework.util.StringUtils;
*
* @author Adrian Cole
* @since 1.0.2
+ * @deprecated This type should have been internal. It will be hidden or removed in 3.0
*/
+@Deprecated
public final class SpanNameUtil {
static final int MAX_NAME_LENGTH = 50;
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/jms/config/TracingJmsListenerEndpointRegistry.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/jms/config/TracingJmsListenerEndpointRegistry.java
index c0088eaf0..3a93bacbc 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/jms/config/TracingJmsListenerEndpointRegistry.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/jms/config/TracingJmsListenerEndpointRegistry.java
@@ -46,7 +46,10 @@ import org.springframework.lang.Nullable;
*
* @author Marcin Grzejszczak
* @since 2.1.1
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public final class TracingJmsListenerEndpointRegistry
extends JmsListenerEndpointRegistry {
diff --git a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/DefaultEndpointLocator.java b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/DefaultEndpointLocator.java
index 1ed5f0662..67e92c78c 100644
--- a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/DefaultEndpointLocator.java
+++ b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/DefaultEndpointLocator.java
@@ -44,7 +44,10 @@ import org.springframework.util.StringUtils;
*
* @author Dave Syer
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class DefaultEndpointLocator implements EndpointLocator,
ApplicationListener {
diff --git a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/DefaultZipkinRestTemplateCustomizer.java b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/DefaultZipkinRestTemplateCustomizer.java
index ecea5115f..f26d5f4fd 100644
--- a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/DefaultZipkinRestTemplateCustomizer.java
+++ b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/DefaultZipkinRestTemplateCustomizer.java
@@ -32,7 +32,10 @@ import org.springframework.web.client.RestTemplate;
*
* @author Marcin Grzejszczak
* @since 1.1.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
public class DefaultZipkinRestTemplateCustomizer implements ZipkinRestTemplateCustomizer {
private final ZipkinProperties zipkinProperties;
diff --git a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/ZipkinAutoConfiguration.java b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/ZipkinAutoConfiguration.java
index 6d829b084..84fe4e3d2 100644
--- a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/ZipkinAutoConfiguration.java
+++ b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/ZipkinAutoConfiguration.java
@@ -60,7 +60,10 @@ import org.springframework.web.client.RestTemplate;
* @since 1.0.0
* @see ZipkinRestTemplateCustomizer
* @see DefaultZipkinRestTemplateCustomizer
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(ZipkinProperties.class)
@ConditionalOnProperty(value = { "spring.sleuth.enabled", "spring.zipkin.enabled" },
diff --git a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/ZipkinProperties.java b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/ZipkinProperties.java
index 0b69da5ac..08c5f88c6 100644
--- a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/ZipkinProperties.java
+++ b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin2/ZipkinProperties.java
@@ -25,7 +25,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author Spencer Gibb
* @since 1.0.0
+ * @deprecated This type should have never been public and will be hidden or removed in
+ * 3.0
*/
+@Deprecated
@ConfigurationProperties("spring.zipkin")
public class ZipkinProperties {