HTRACE-211. Move htrace-core classes to the org.apache.htrace.core namespace (cmccabe)
diff --git a/htrace-core/src/main/java/org/apache/htrace/impl/AlwaysSampler.java b/htrace-core/src/main/java/org/apache/htrace/core/AlwaysSampler.java
similarity index 90%
rename from htrace-core/src/main/java/org/apache/htrace/impl/AlwaysSampler.java
rename to htrace-core/src/main/java/org/apache/htrace/core/AlwaysSampler.java
index 699f970..a9259bd 100644
--- a/htrace-core/src/main/java/org/apache/htrace/impl/AlwaysSampler.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/AlwaysSampler.java
@@ -14,10 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace.impl;
-
-import org.apache.htrace.HTraceConfiguration;
-import org.apache.htrace.Sampler;
+package org.apache.htrace.core;
 
 /**
  * A Sampler that always returns true.
diff --git a/htrace-core/src/main/java/org/apache/htrace/impl/CountSampler.java b/htrace-core/src/main/java/org/apache/htrace/core/CountSampler.java
similarity index 91%
rename from htrace-core/src/main/java/org/apache/htrace/impl/CountSampler.java
rename to htrace-core/src/main/java/org/apache/htrace/core/CountSampler.java
index e59a4ba..10d5c98 100644
--- a/htrace-core/src/main/java/org/apache/htrace/impl/CountSampler.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/CountSampler.java
@@ -14,12 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace.impl;
+package org.apache.htrace.core;
 
-import org.apache.htrace.HTraceConfiguration;
-import org.apache.htrace.Sampler;
-
-import java.util.Random;
 import java.util.concurrent.ThreadLocalRandom;
 
 /**
diff --git a/htrace-core/src/main/java/org/apache/htrace/HTraceConfiguration.java b/htrace-core/src/main/java/org/apache/htrace/core/HTraceConfiguration.java
similarity index 98%
rename from htrace-core/src/main/java/org/apache/htrace/HTraceConfiguration.java
rename to htrace-core/src/main/java/org/apache/htrace/core/HTraceConfiguration.java
index 4580dff..c6e445b 100644
--- a/htrace-core/src/main/java/org/apache/htrace/HTraceConfiguration.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/HTraceConfiguration.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
+package org.apache.htrace.core;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
diff --git a/htrace-core/src/main/java/org/apache/htrace/impl/LocalFileSpanReceiver.java b/htrace-core/src/main/java/org/apache/htrace/core/LocalFileSpanReceiver.java
similarity index 98%
rename from htrace-core/src/main/java/org/apache/htrace/impl/LocalFileSpanReceiver.java
rename to htrace-core/src/main/java/org/apache/htrace/core/LocalFileSpanReceiver.java
index dfb701d..0aed846 100644
--- a/htrace-core/src/main/java/org/apache/htrace/impl/LocalFileSpanReceiver.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/LocalFileSpanReceiver.java
@@ -14,16 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace.impl;
+package org.apache.htrace.core;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.ObjectWriter;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.htrace.HTraceConfiguration;
-import org.apache.htrace.Span;
-import org.apache.htrace.SpanReceiver;
 
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
diff --git a/htrace-core/src/main/java/org/apache/htrace/impl/MilliSpan.java b/htrace-core/src/main/java/org/apache/htrace/core/MilliSpan.java
similarity index 97%
rename from htrace-core/src/main/java/org/apache/htrace/impl/MilliSpan.java
rename to htrace-core/src/main/java/org/apache/htrace/core/MilliSpan.java
index 9d49cf9..49b5fbe 100644
--- a/htrace-core/src/main/java/org/apache/htrace/impl/MilliSpan.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/MilliSpan.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace.impl;
+package org.apache.htrace.core;
 
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonProcessingException;
@@ -25,10 +25,6 @@
 import com.fasterxml.jackson.databind.ObjectReader;
 import com.fasterxml.jackson.databind.ObjectWriter;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.htrace.Span;
-import org.apache.htrace.SpanId;
-import org.apache.htrace.TimelineAnnotation;
-import org.apache.htrace.Tracer;
 
 import java.io.IOException;
 import java.io.StringWriter;
diff --git a/htrace-core/src/main/java/org/apache/htrace/impl/NeverSampler.java b/htrace-core/src/main/java/org/apache/htrace/core/NeverSampler.java
similarity index 90%
rename from htrace-core/src/main/java/org/apache/htrace/impl/NeverSampler.java
rename to htrace-core/src/main/java/org/apache/htrace/core/NeverSampler.java
index 3cb3827..65f6087 100644
--- a/htrace-core/src/main/java/org/apache/htrace/impl/NeverSampler.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/NeverSampler.java
@@ -14,10 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace.impl;
-
-import org.apache.htrace.HTraceConfiguration;
-import org.apache.htrace.Sampler;
+package org.apache.htrace.core;
 
 /**
  * A Sampler that never returns true.
diff --git a/htrace-core/src/main/java/org/apache/htrace/NullScope.java b/htrace-core/src/main/java/org/apache/htrace/core/NullScope.java
similarity index 97%
rename from htrace-core/src/main/java/org/apache/htrace/NullScope.java
rename to htrace-core/src/main/java/org/apache/htrace/core/NullScope.java
index ff9a42c..e7964cf 100644
--- a/htrace-core/src/main/java/org/apache/htrace/NullScope.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/NullScope.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
+package org.apache.htrace.core;
 
 /**
  * Singleton instance representing an empty {@link TraceScope}.
diff --git a/htrace-core/src/main/java/org/apache/htrace/impl/POJOSpanReceiver.java b/htrace-core/src/main/java/org/apache/htrace/core/POJOSpanReceiver.java
similarity index 90%
rename from htrace-core/src/main/java/org/apache/htrace/impl/POJOSpanReceiver.java
rename to htrace-core/src/main/java/org/apache/htrace/core/POJOSpanReceiver.java
index 57e5299..be782ba 100644
--- a/htrace-core/src/main/java/org/apache/htrace/impl/POJOSpanReceiver.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/POJOSpanReceiver.java
@@ -14,11 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace.impl;
-
-import org.apache.htrace.HTraceConfiguration;
-import org.apache.htrace.Span;
-import org.apache.htrace.SpanReceiver;
+package org.apache.htrace.core;
 
 import java.io.IOException;
 import java.util.Collection;
diff --git a/htrace-core/src/main/java/org/apache/htrace/impl/ProbabilitySampler.java b/htrace-core/src/main/java/org/apache/htrace/core/ProbabilitySampler.java
similarity index 93%
rename from htrace-core/src/main/java/org/apache/htrace/impl/ProbabilitySampler.java
rename to htrace-core/src/main/java/org/apache/htrace/core/ProbabilitySampler.java
index 903e590..5bb0042 100644
--- a/htrace-core/src/main/java/org/apache/htrace/impl/ProbabilitySampler.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/ProbabilitySampler.java
@@ -14,12 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace.impl;
+package org.apache.htrace.core;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.htrace.HTraceConfiguration;
-import org.apache.htrace.Sampler;
 
 import java.util.Random;
 import java.util.concurrent.ThreadLocalRandom;
diff --git a/htrace-core/src/main/java/org/apache/htrace/Sampler.java b/htrace-core/src/main/java/org/apache/htrace/core/Sampler.java
similarity index 91%
rename from htrace-core/src/main/java/org/apache/htrace/Sampler.java
rename to htrace-core/src/main/java/org/apache/htrace/core/Sampler.java
index 3bf62aa..91843f5 100644
--- a/htrace-core/src/main/java/org/apache/htrace/Sampler.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/Sampler.java
@@ -14,10 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
-
-import org.apache.htrace.impl.AlwaysSampler;
-import org.apache.htrace.impl.NeverSampler;
+package org.apache.htrace.core;
 
 /**
  * Extremely simple callback to determine the frequency that an action should be
diff --git a/htrace-core/src/main/java/org/apache/htrace/SamplerBuilder.java b/htrace-core/src/main/java/org/apache/htrace/core/SamplerBuilder.java
similarity index 96%
rename from htrace-core/src/main/java/org/apache/htrace/SamplerBuilder.java
rename to htrace-core/src/main/java/org/apache/htrace/core/SamplerBuilder.java
index 4364671..5b53905 100644
--- a/htrace-core/src/main/java/org/apache/htrace/SamplerBuilder.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/SamplerBuilder.java
@@ -14,13 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
+package org.apache.htrace.core;
 
 import java.lang.reflect.Constructor;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.htrace.impl.AlwaysSampler;
-import org.apache.htrace.impl.NeverSampler;
 
 /**
  * A {@link Sampler} builder. It reads a {@link Sampler} class name from the provided
@@ -33,7 +32,7 @@
   // TODO: should follow the same API as SpanReceiverBuilder
 
   public final static String SAMPLER_CONF_KEY = "sampler";
-  private final static String DEFAULT_PACKAGE = "org.apache.htrace.impl";
+  private final static String DEFAULT_PACKAGE = "org.apache.htrace.core";
   private final static ClassLoader classLoader =
       SamplerBuilder.class.getClassLoader();
   private final HTraceConfiguration conf;
diff --git a/htrace-core/src/main/java/org/apache/htrace/Span.java b/htrace-core/src/main/java/org/apache/htrace/core/Span.java
similarity index 99%
rename from htrace-core/src/main/java/org/apache/htrace/Span.java
rename to htrace-core/src/main/java/org/apache/htrace/core/Span.java
index 0897ee9..db1a961 100644
--- a/htrace-core/src/main/java/org/apache/htrace/Span.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/Span.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
+package org.apache.htrace.core;
 
 import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.databind.JsonSerializer;
diff --git a/htrace-core/src/main/java/org/apache/htrace/SpanId.java b/htrace-core/src/main/java/org/apache/htrace/core/SpanId.java
similarity index 98%
rename from htrace-core/src/main/java/org/apache/htrace/SpanId.java
rename to htrace-core/src/main/java/org/apache/htrace/core/SpanId.java
index 25dc108..e10f894 100644
--- a/htrace-core/src/main/java/org/apache/htrace/SpanId.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/SpanId.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
+package org.apache.htrace.core;
 
 import java.math.BigInteger;
 import java.lang.Void;
diff --git a/htrace-core/src/main/java/org/apache/htrace/SpanReceiver.java b/htrace-core/src/main/java/org/apache/htrace/core/SpanReceiver.java
similarity index 97%
rename from htrace-core/src/main/java/org/apache/htrace/SpanReceiver.java
rename to htrace-core/src/main/java/org/apache/htrace/core/SpanReceiver.java
index 7ae157b..5547c51 100644
--- a/htrace-core/src/main/java/org/apache/htrace/SpanReceiver.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/SpanReceiver.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
+package org.apache.htrace.core;
 
 
 import java.io.Closeable;
diff --git a/htrace-core/src/main/java/org/apache/htrace/SpanReceiverBuilder.java b/htrace-core/src/main/java/org/apache/htrace/core/SpanReceiverBuilder.java
similarity index 98%
rename from htrace-core/src/main/java/org/apache/htrace/SpanReceiverBuilder.java
rename to htrace-core/src/main/java/org/apache/htrace/core/SpanReceiverBuilder.java
index 15b3af0..3ab0b07 100644
--- a/htrace-core/src/main/java/org/apache/htrace/SpanReceiverBuilder.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/SpanReceiverBuilder.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
+package org.apache.htrace.core;
 
 import java.lang.reflect.Constructor;
 import org.apache.commons.logging.Log;
@@ -30,7 +30,7 @@
   private static final Log LOG = LogFactory.getLog(SpanReceiverBuilder.class);
 
   public final static String SPAN_RECEIVER_CONF_KEY = "span.receiver";
-  private final static String DEFAULT_PACKAGE = "org.apache.htrace.impl";
+  private final static String DEFAULT_PACKAGE = "org.apache.htrace.core";
   private final static ClassLoader classLoader =
       SpanReceiverBuilder.class.getClassLoader();
   private final HTraceConfiguration conf;
diff --git a/htrace-core/src/main/java/org/apache/htrace/impl/StandardOutSpanReceiver.java b/htrace-core/src/main/java/org/apache/htrace/core/StandardOutSpanReceiver.java
similarity index 90%
rename from htrace-core/src/main/java/org/apache/htrace/impl/StandardOutSpanReceiver.java
rename to htrace-core/src/main/java/org/apache/htrace/core/StandardOutSpanReceiver.java
index f88af7f..b084046 100644
--- a/htrace-core/src/main/java/org/apache/htrace/impl/StandardOutSpanReceiver.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/StandardOutSpanReceiver.java
@@ -14,13 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace.impl;
+package org.apache.htrace.core;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.htrace.HTraceConfiguration;
-import org.apache.htrace.Span;
-import org.apache.htrace.SpanReceiver;
 
 import java.io.IOException;
 
diff --git a/htrace-core/src/main/java/org/apache/htrace/TimelineAnnotation.java b/htrace-core/src/main/java/org/apache/htrace/core/TimelineAnnotation.java
similarity index 97%
rename from htrace-core/src/main/java/org/apache/htrace/TimelineAnnotation.java
rename to htrace-core/src/main/java/org/apache/htrace/core/TimelineAnnotation.java
index d0ae675..18de061 100644
--- a/htrace-core/src/main/java/org/apache/htrace/TimelineAnnotation.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/TimelineAnnotation.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
+package org.apache.htrace.core;
 
 public class TimelineAnnotation {
   private final long time;
diff --git a/htrace-core/src/main/java/org/apache/htrace/Trace.java b/htrace-core/src/main/java/org/apache/htrace/core/Trace.java
similarity index 96%
rename from htrace-core/src/main/java/org/apache/htrace/Trace.java
rename to htrace-core/src/main/java/org/apache/htrace/core/Trace.java
index e782309..9b72afe 100644
--- a/htrace-core/src/main/java/org/apache/htrace/Trace.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/Trace.java
@@ -14,14 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
+package org.apache.htrace.core;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.htrace.impl.MilliSpan;
-import org.apache.htrace.impl.NeverSampler;
-import org.apache.htrace.wrappers.TraceCallable;
-import org.apache.htrace.wrappers.TraceRunnable;
 
 import java.util.concurrent.Callable;
 
diff --git a/htrace-core/src/main/java/org/apache/htrace/wrappers/TraceCallable.java b/htrace-core/src/main/java/org/apache/htrace/core/TraceCallable.java
similarity index 92%
rename from htrace-core/src/main/java/org/apache/htrace/wrappers/TraceCallable.java
rename to htrace-core/src/main/java/org/apache/htrace/core/TraceCallable.java
index e761fbf..08bcace 100644
--- a/htrace-core/src/main/java/org/apache/htrace/wrappers/TraceCallable.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/TraceCallable.java
@@ -14,11 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace.wrappers;
-
-import org.apache.htrace.Span;
-import org.apache.htrace.Trace;
-import org.apache.htrace.TraceScope;
+package org.apache.htrace.core;
 
 import java.util.concurrent.Callable;
 
diff --git a/htrace-core/src/main/java/org/apache/htrace/wrappers/TraceExecutorService.java b/htrace-core/src/main/java/org/apache/htrace/core/TraceExecutorService.java
similarity index 98%
rename from htrace-core/src/main/java/org/apache/htrace/wrappers/TraceExecutorService.java
rename to htrace-core/src/main/java/org/apache/htrace/core/TraceExecutorService.java
index 03e891f..8519d04 100644
--- a/htrace-core/src/main/java/org/apache/htrace/wrappers/TraceExecutorService.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/TraceExecutorService.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace.wrappers;
+package org.apache.htrace.core;
 
 import java.util.ArrayList;
 import java.util.Collection;
diff --git a/htrace-core/src/main/java/org/apache/htrace/wrappers/TraceProxy.java b/htrace-core/src/main/java/org/apache/htrace/core/TraceProxy.java
similarity index 93%
rename from htrace-core/src/main/java/org/apache/htrace/wrappers/TraceProxy.java
rename to htrace-core/src/main/java/org/apache/htrace/core/TraceProxy.java
index c1aba29..de9c980 100644
--- a/htrace-core/src/main/java/org/apache/htrace/wrappers/TraceProxy.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/TraceProxy.java
@@ -14,11 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace.wrappers;
-
-import org.apache.htrace.Sampler;
-import org.apache.htrace.Trace;
-import org.apache.htrace.TraceScope;
+package org.apache.htrace.core;
 
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
diff --git a/htrace-core/src/main/java/org/apache/htrace/wrappers/TraceRunnable.java b/htrace-core/src/main/java/org/apache/htrace/core/TraceRunnable.java
similarity index 92%
rename from htrace-core/src/main/java/org/apache/htrace/wrappers/TraceRunnable.java
rename to htrace-core/src/main/java/org/apache/htrace/core/TraceRunnable.java
index 6d370c8..6accea9 100644
--- a/htrace-core/src/main/java/org/apache/htrace/wrappers/TraceRunnable.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/TraceRunnable.java
@@ -14,11 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace.wrappers;
-
-import org.apache.htrace.Span;
-import org.apache.htrace.Trace;
-import org.apache.htrace.TraceScope;
+package org.apache.htrace.core;
 
 /**
  * Wrap a Runnable with a Span that survives a change in threads.
diff --git a/htrace-core/src/main/java/org/apache/htrace/TraceScope.java b/htrace-core/src/main/java/org/apache/htrace/core/TraceScope.java
similarity index 98%
rename from htrace-core/src/main/java/org/apache/htrace/TraceScope.java
rename to htrace-core/src/main/java/org/apache/htrace/core/TraceScope.java
index ab36feb..f41e720 100644
--- a/htrace-core/src/main/java/org/apache/htrace/TraceScope.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/TraceScope.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
+package org.apache.htrace.core;
 
 import java.io.Closeable;
 import java.lang.Thread;
diff --git a/htrace-core/src/main/java/org/apache/htrace/Tracer.java b/htrace-core/src/main/java/org/apache/htrace/core/Tracer.java
similarity index 97%
rename from htrace-core/src/main/java/org/apache/htrace/Tracer.java
rename to htrace-core/src/main/java/org/apache/htrace/core/Tracer.java
index d07e1a8..b2ef6e6 100644
--- a/htrace-core/src/main/java/org/apache/htrace/Tracer.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/Tracer.java
@@ -14,11 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
+package org.apache.htrace.core;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.htrace.impl.MilliSpan;
 
 import java.util.List;
 import java.util.Random;
diff --git a/htrace-core/src/main/java/org/apache/htrace/impl/TracerId.java b/htrace-core/src/main/java/org/apache/htrace/core/TracerId.java
similarity index 98%
rename from htrace-core/src/main/java/org/apache/htrace/impl/TracerId.java
rename to htrace-core/src/main/java/org/apache/htrace/core/TracerId.java
index 83fa558..7cdbd34 100644
--- a/htrace-core/src/main/java/org/apache/htrace/impl/TracerId.java
+++ b/htrace-core/src/main/java/org/apache/htrace/core/TracerId.java
@@ -14,11 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace.impl;
+package org.apache.htrace.core;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.htrace.HTraceConfiguration;
 
 import java.io.BufferedReader;
 import java.io.IOException;
diff --git a/htrace-core/src/test/java/org/apache/htrace/TestBadClient.java b/htrace-core/src/test/java/org/apache/htrace/core/TestBadClient.java
similarity index 92%
rename from htrace-core/src/test/java/org/apache/htrace/TestBadClient.java
rename to htrace-core/src/test/java/org/apache/htrace/core/TestBadClient.java
index 868c0d0..54de21b 100644
--- a/htrace-core/src/test/java/org/apache/htrace/TestBadClient.java
+++ b/htrace-core/src/test/java/org/apache/htrace/core/TestBadClient.java
@@ -14,20 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
+package org.apache.htrace.core;
 
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 import static org.hamcrest.CoreMatchers.containsString;
 
-import org.apache.htrace.HTraceConfiguration;
-import org.apache.htrace.Span;
-import org.apache.htrace.SpanReceiver;
-import org.apache.htrace.Tracer;
-import org.apache.htrace.impl.AlwaysSampler;
-import org.apache.htrace.impl.LocalFileSpanReceiver;
-import org.apache.htrace.impl.POJOSpanReceiver;
-import org.apache.htrace.impl.StandardOutSpanReceiver;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/htrace-core/src/test/java/org/apache/htrace/TestCountSampler.java b/htrace-core/src/test/java/org/apache/htrace/core/TestCountSampler.java
similarity index 92%
rename from htrace-core/src/test/java/org/apache/htrace/TestCountSampler.java
rename to htrace-core/src/test/java/org/apache/htrace/core/TestCountSampler.java
index 42ba4e2..e26115d 100644
--- a/htrace-core/src/test/java/org/apache/htrace/TestCountSampler.java
+++ b/htrace-core/src/test/java/org/apache/htrace/core/TestCountSampler.java
@@ -14,10 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
+package org.apache.htrace.core;
 
-import org.apache.htrace.HTraceConfiguration;
-import org.apache.htrace.impl.CountSampler;
 import org.junit.Assert;
 import org.junit.Test;
 
diff --git a/htrace-core/src/test/java/org/apache/htrace/TestHTrace.java b/htrace-core/src/test/java/org/apache/htrace/core/TestHTrace.java
similarity index 94%
rename from htrace-core/src/test/java/org/apache/htrace/TestHTrace.java
rename to htrace-core/src/test/java/org/apache/htrace/core/TestHTrace.java
index 92f96c8..f1839cb 100644
--- a/htrace-core/src/test/java/org/apache/htrace/TestHTrace.java
+++ b/htrace-core/src/test/java/org/apache/htrace/core/TestHTrace.java
@@ -14,21 +14,19 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
-
-import org.apache.htrace.TraceGraph.SpansByParent;
-import org.apache.htrace.impl.LocalFileSpanReceiver;
-import org.apache.htrace.impl.POJOSpanReceiver;
-import org.apache.htrace.impl.StandardOutSpanReceiver;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
+package org.apache.htrace.core;
 
 import java.io.File;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.htrace.core.TraceGraph.SpansByParent;
+
+import org.junit.Assert;
+import org.junit.Rule;
+import org.junit.Test;
+
 public class TestHTrace {
 
   @Rule
diff --git a/htrace-core/src/test/java/org/apache/htrace/TestHTraceConfiguration.java b/htrace-core/src/test/java/org/apache/htrace/core/TestHTraceConfiguration.java
similarity index 96%
rename from htrace-core/src/test/java/org/apache/htrace/TestHTraceConfiguration.java
rename to htrace-core/src/test/java/org/apache/htrace/core/TestHTraceConfiguration.java
index 440a826..7ca897f 100644
--- a/htrace-core/src/test/java/org/apache/htrace/TestHTraceConfiguration.java
+++ b/htrace-core/src/test/java/org/apache/htrace/core/TestHTraceConfiguration.java
@@ -15,18 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.htrace;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.htrace.HTraceConfiguration;
-import org.junit.Test;
+package org.apache.htrace.core;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Test;
+
 public class TestHTraceConfiguration {
   @Test
   public void testGetBoolean() throws Exception {
diff --git a/htrace-core/src/test/java/org/apache/htrace/impl/TestLocalFileSpanReceiver.java b/htrace-core/src/test/java/org/apache/htrace/core/TestLocalFileSpanReceiver.java
similarity index 89%
rename from htrace-core/src/test/java/org/apache/htrace/impl/TestLocalFileSpanReceiver.java
rename to htrace-core/src/test/java/org/apache/htrace/core/TestLocalFileSpanReceiver.java
index 311ddc6..90a009a 100644
--- a/htrace-core/src/test/java/org/apache/htrace/impl/TestLocalFileSpanReceiver.java
+++ b/htrace-core/src/test/java/org/apache/htrace/core/TestLocalFileSpanReceiver.java
@@ -14,25 +14,20 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace.impl;
+package org.apache.htrace.core;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-import java.io.File;
-import java.io.IOException;
-import java.util.HashMap;
-import org.apache.htrace.HTraceConfiguration;
-import org.apache.htrace.Sampler;
-import org.apache.htrace.Span;
-import org.apache.htrace.SpanReceiver;
-import org.apache.htrace.SpanReceiverBuilder;
-import org.apache.htrace.Trace;
-import org.apache.htrace.TraceScope;
-import org.junit.Ignore;
-import org.junit.Test;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertEquals;
 
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.junit.Ignore;
+import org.junit.Test;
+
 public class TestLocalFileSpanReceiver {
   @Test
   public void testUniqueLocalTraceFileName() {
diff --git a/htrace-core/src/test/java/org/apache/htrace/impl/TestMilliSpan.java b/htrace-core/src/test/java/org/apache/htrace/core/TestMilliSpan.java
similarity index 97%
rename from htrace-core/src/test/java/org/apache/htrace/impl/TestMilliSpan.java
rename to htrace-core/src/test/java/org/apache/htrace/core/TestMilliSpan.java
index 9a0be4a..7ce1fdb 100644
--- a/htrace-core/src/test/java/org/apache/htrace/impl/TestMilliSpan.java
+++ b/htrace-core/src/test/java/org/apache/htrace/core/TestMilliSpan.java
@@ -14,14 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace.impl;
+package org.apache.htrace.core;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
-import org.apache.htrace.Span;
-import org.apache.htrace.SpanId;
-import org.apache.htrace.TimelineAnnotation;
 import org.junit.Test;
 
 import java.util.Arrays;
diff --git a/htrace-core/src/test/java/org/apache/htrace/TestNullScope.java b/htrace-core/src/test/java/org/apache/htrace/core/TestNullScope.java
similarity index 90%
rename from htrace-core/src/test/java/org/apache/htrace/TestNullScope.java
rename to htrace-core/src/test/java/org/apache/htrace/core/TestNullScope.java
index 26b1cba..3fa9210 100644
--- a/htrace-core/src/test/java/org/apache/htrace/TestNullScope.java
+++ b/htrace-core/src/test/java/org/apache/htrace/core/TestNullScope.java
@@ -14,11 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
+package org.apache.htrace.core;
 
-import org.apache.htrace.Trace;
-import org.apache.htrace.TraceScope;
-import org.apache.htrace.NullScope;
 import org.junit.Assert;
 import org.junit.Test;
 
diff --git a/htrace-core/src/test/java/org/apache/htrace/TestSampler.java b/htrace-core/src/test/java/org/apache/htrace/core/TestSampler.java
similarity index 89%
rename from htrace-core/src/test/java/org/apache/htrace/TestSampler.java
rename to htrace-core/src/test/java/org/apache/htrace/core/TestSampler.java
index 7ff2e31..e11799b 100644
--- a/htrace-core/src/test/java/org/apache/htrace/TestSampler.java
+++ b/htrace-core/src/test/java/org/apache/htrace/core/TestSampler.java
@@ -14,15 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
+package org.apache.htrace.core;
 
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.htrace.Sampler;
-import org.apache.htrace.Trace;
-import org.apache.htrace.TraceScope;
-import org.apache.htrace.impl.AlwaysSampler;
-import org.apache.htrace.impl.NeverSampler;
+
 import org.junit.Assert;
 import org.junit.Test;
 
diff --git a/htrace-core/src/test/java/org/apache/htrace/TestSpanId.java b/htrace-core/src/test/java/org/apache/htrace/core/TestSpanId.java
similarity index 97%
rename from htrace-core/src/test/java/org/apache/htrace/TestSpanId.java
rename to htrace-core/src/test/java/org/apache/htrace/core/TestSpanId.java
index 10e6cca..bb57368 100644
--- a/htrace-core/src/test/java/org/apache/htrace/TestSpanId.java
+++ b/htrace-core/src/test/java/org/apache/htrace/core/TestSpanId.java
@@ -14,10 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
+package org.apache.htrace.core;
 
 import java.util.Random;
-import org.apache.htrace.SpanId;
+
 import org.junit.Assert;
 import org.junit.Test;
 
diff --git a/htrace-core/src/test/java/org/apache/htrace/TestSpanReceiverBuilder.java b/htrace-core/src/test/java/org/apache/htrace/core/TestSpanReceiverBuilder.java
similarity index 91%
rename from htrace-core/src/test/java/org/apache/htrace/TestSpanReceiverBuilder.java
rename to htrace-core/src/test/java/org/apache/htrace/core/TestSpanReceiverBuilder.java
index 750142b..79795e4 100644
--- a/htrace-core/src/test/java/org/apache/htrace/TestSpanReceiverBuilder.java
+++ b/htrace-core/src/test/java/org/apache/htrace/core/TestSpanReceiverBuilder.java
@@ -14,13 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.htrace.impl.LocalFileSpanReceiver;
-import org.junit.Assert;
-import org.junit.Test;
+package org.apache.htrace.core;
 
 import java.io.File;
 import java.io.IOException;
@@ -28,6 +22,11 @@
 import java.util.Map;
 import java.util.UUID;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Assert;
+import org.junit.Test;
+
 public class TestSpanReceiverBuilder {
   private static final Log LOG =
       LogFactory.getLog(TestSpanReceiverBuilder.class);
@@ -66,10 +65,10 @@
     try {
       confMap.put(LocalFileSpanReceiver.PATH_KEY, testFile.getAbsolutePath());
       confMap.put(SpanReceiverBuilder.SPAN_RECEIVER_CONF_KEY,
-          "org.apache.htrace.impl.LocalFileSpanReceiver");
+          "org.apache.htrace.core.LocalFileSpanReceiver");
       SpanReceiver rcvr = createSpanReceiver(confMap);
       Assert.assertNotNull(rcvr);
-      Assert.assertEquals("org.apache.htrace.impl.LocalFileSpanReceiver",
+      Assert.assertEquals("org.apache.htrace.core.LocalFileSpanReceiver",
           rcvr.getClass().getName());
       rcvr.close();
     } finally {
@@ -82,16 +81,16 @@
     confMap.remove(LocalFileSpanReceiver.PATH_KEY);
     confMap.put(SpanReceiverBuilder.SPAN_RECEIVER_CONF_KEY, "POJOSpanReceiver");
     SpanReceiver rcvr = createSpanReceiver(confMap);
-    Assert.assertEquals("org.apache.htrace.impl.POJOSpanReceiver",
+    Assert.assertEquals("org.apache.htrace.core.POJOSpanReceiver",
         rcvr.getClass().getName());
     rcvr.close();
 
     // Create StandardOutSpanReceiver
     confMap.remove(LocalFileSpanReceiver.PATH_KEY);
     confMap.put(SpanReceiverBuilder.SPAN_RECEIVER_CONF_KEY,
-        "org.apache.htrace.impl.StandardOutSpanReceiver");
+        "org.apache.htrace.core.StandardOutSpanReceiver");
     rcvr = createSpanReceiver(confMap);
-    Assert.assertEquals("org.apache.htrace.impl.StandardOutSpanReceiver",
+    Assert.assertEquals("org.apache.htrace.core.StandardOutSpanReceiver",
         rcvr.getClass().getName());
     rcvr.close();
   }
diff --git a/htrace-core/src/test/java/org/apache/htrace/impl/TestTracerId.java b/htrace-core/src/test/java/org/apache/htrace/core/TestTracerId.java
similarity index 97%
rename from htrace-core/src/test/java/org/apache/htrace/impl/TestTracerId.java
rename to htrace-core/src/test/java/org/apache/htrace/core/TestTracerId.java
index 271d082..ac43653 100644
--- a/htrace-core/src/test/java/org/apache/htrace/impl/TestTracerId.java
+++ b/htrace-core/src/test/java/org/apache/htrace/core/TestTracerId.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace.impl;
+package org.apache.htrace.core;
 
 import java.io.IOException;
 import org.junit.Test;
diff --git a/htrace-core/src/test/java/org/apache/htrace/TraceCreator.java b/htrace-core/src/test/java/org/apache/htrace/core/TraceCreator.java
similarity index 99%
rename from htrace-core/src/test/java/org/apache/htrace/TraceCreator.java
rename to htrace-core/src/test/java/org/apache/htrace/core/TraceCreator.java
index 565ba05..f6ae97f 100644
--- a/htrace-core/src/test/java/org/apache/htrace/TraceCreator.java
+++ b/htrace-core/src/test/java/org/apache/htrace/core/TraceCreator.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
+package org.apache.htrace.core;
 
 import org.junit.rules.TestRule;
 import org.junit.runner.Description;
diff --git a/htrace-core/src/test/java/org/apache/htrace/TraceGraph.java b/htrace-core/src/test/java/org/apache/htrace/core/TraceGraph.java
similarity index 97%
rename from htrace-core/src/test/java/org/apache/htrace/TraceGraph.java
rename to htrace-core/src/test/java/org/apache/htrace/core/TraceGraph.java
index 9004ea6..a06e620 100644
--- a/htrace-core/src/test/java/org/apache/htrace/TraceGraph.java
+++ b/htrace-core/src/test/java/org/apache/htrace/core/TraceGraph.java
@@ -14,14 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.htrace;
-
-import org.apache.htrace.impl.MilliSpan;
+package org.apache.htrace.core;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
-import java.util.Arrays;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;