Repository: incubator-htrace Updated Branches: refs/heads/master eedb9cdbe -> e1b75b8db
HTRACE-230. Make TracerBuilder like all other Builders; an internal rather than adjacent class (cmccabe) Project: http://git-wip-us.apache.org/repos/asf/incubator-htrace/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-htrace/commit/e1b75b8d Tree: http://git-wip-us.apache.org/repos/asf/incubator-htrace/tree/e1b75b8d Diff: http://git-wip-us.apache.org/repos/asf/incubator-htrace/diff/e1b75b8d Branch: refs/heads/master Commit: e1b75b8db6890999eec63402659e5616421560d9 Parents: eedb9cd Author: Colin P. Mccabe <[email protected]> Authored: Thu Sep 3 12:35:02 2015 -0700 Committer: Colin P. Mccabe <[email protected]> Committed: Thu Sep 3 12:44:55 2015 -0700 ---------------------------------------------------------------------- .../java/org/apache/htrace/core/Tracer.java | 117 +++++++++++++++ .../org/apache/htrace/core/TracerBuilder.java | 144 ------------------- .../org/apache/htrace/core/TestBadClient.java | 10 +- .../java/org/apache/htrace/core/TestHTrace.java | 8 +- .../htrace/core/TestLocalFileSpanReceiver.java | 2 +- .../org/apache/htrace/core/TestNullScope.java | 2 +- .../org/apache/htrace/core/TestSampler.java | 2 +- .../htrace/core/TestSpanReceiverBuilder.java | 2 +- .../htrace/impl/TestFlumeSpanReceiver.java | 3 +- .../apache/htrace/impl/HBaseSpanReceiver.java | 3 +- .../htrace/impl/TestHBaseSpanReceiver.java | 3 +- src/main/site/markdown/index.md | 6 +- 12 files changed, 136 insertions(+), 166 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/e1b75b8d/htrace-core/src/main/java/org/apache/htrace/core/Tracer.java ---------------------------------------------------------------------- diff --git a/htrace-core/src/main/java/org/apache/htrace/core/Tracer.java b/htrace-core/src/main/java/org/apache/htrace/core/Tracer.java index 6054a27..28ecdc3 100644 --- a/htrace-core/src/main/java/org/apache/htrace/core/Tracer.java +++ b/htrace-core/src/main/java/org/apache/htrace/core/Tracer.java @@ -22,6 +22,8 @@ import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.ThreadLocalRandom; @@ -36,6 +38,121 @@ import org.apache.commons.logging.LogFactory; public class Tracer implements Closeable { private static final Log LOG = LogFactory.getLog(Tracer.class); + public final static String SPAN_RECEIVER_CLASSES_KEY = + "span.receiver.classes"; + public final static String SAMPLER_CLASSES_KEY = + "sampler.classes"; + + public static class Builder { + private String name; + private HTraceConfiguration conf = HTraceConfiguration.EMPTY; + private ClassLoader classLoader = + Builder.class.getClassLoader(); + private TracerPool tracerPool = TracerPool.GLOBAL; + + public Builder() { + } + + public Builder name(String name) { + this.name = name; + return this; + } + + public Builder conf(HTraceConfiguration conf) { + this.conf = conf; + return this; + } + + public Builder tracerPool(TracerPool tracerPool) { + this.tracerPool = tracerPool; + return this; + } + + private void loadSamplers(List<Sampler> samplers) { + String classNamesStr = conf.get(SAMPLER_CLASSES_KEY, ""); + List<String> classNames = getClassNamesFromConf(classNamesStr); + StringBuilder bld = new StringBuilder(); + String prefix = ""; + for (String className : classNames) { + try { + Sampler sampler = new Sampler.Builder(conf). + className(className). + classLoader(classLoader). + build(); + samplers.add(sampler); + bld.append(prefix).append(className); + prefix = ", "; + } catch (Throwable e) { + LOG.error("Failed to create SpanReceiver of type " + className, e); + } + } + String resultString = bld.toString(); + if (resultString.isEmpty()) { + resultString = "no samplers"; + } + LOG.info(SAMPLER_CLASSES_KEY + " = " + classNamesStr + + "; loaded " + resultString); + } + + private void loadSpanReceivers() { + String classNamesStr = conf.get(SPAN_RECEIVER_CLASSES_KEY, ""); + List<String> classNames = getClassNamesFromConf(classNamesStr); + StringBuilder bld = new StringBuilder(); + String prefix = ""; + for (String className : classNames) { + try { + tracerPool.loadReceiverType(className, conf, classLoader); + bld.append(prefix).append(className); + prefix = ", "; + } catch (Throwable e) { + LOG.error("Failed to create SpanReceiver of type " + className, e); + } + } + String resultString = bld.toString(); + if (resultString.isEmpty()) { + resultString = "no span receivers"; + } + LOG.info(SPAN_RECEIVER_CLASSES_KEY + " = " + classNamesStr + + "; loaded " + resultString); + } + + /** + * Get a list of class names from the HTrace configuration. + * Entries which are empty will be removed. Entries which lack a package will + * be given the default package. + * + * @param classNamesStr A semicolon-separated string containing a list + * of class names. + * @return A list of class names. + */ + private List<String> getClassNamesFromConf(String classNamesStr) { + String classNames[] = classNamesStr.split(";"); + LinkedList<String> cleanedClassNames = new LinkedList<String>(); + for (String className : classNames) { + String cleanedClassName = className.trim(); + if (!cleanedClassName.isEmpty()) { + cleanedClassNames.add(cleanedClassName); + } + } + return cleanedClassNames; + } + + public Tracer build() { + if (name == null) { + throw new RuntimeException("You must specify a name for this Tracer."); + } + LinkedList<SpanReceiver> spanReceivers = new LinkedList<SpanReceiver>(); + LinkedList<Sampler> samplers = new LinkedList<Sampler>(); + loadSamplers(samplers); + String tracerId = new TracerId(conf, name).get(); + Tracer tracer = new Tracer(tracerId, tracerPool, + samplers.toArray(new Sampler[samplers.size()])); + tracerPool.addTracer(tracer); + loadSpanReceivers(); + return tracer; + } + } + /** * The thread-specific context for this Tracer. * http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/e1b75b8d/htrace-core/src/main/java/org/apache/htrace/core/TracerBuilder.java ---------------------------------------------------------------------- diff --git a/htrace-core/src/main/java/org/apache/htrace/core/TracerBuilder.java b/htrace-core/src/main/java/org/apache/htrace/core/TracerBuilder.java deleted file mode 100644 index 0f12253..0000000 --- a/htrace-core/src/main/java/org/apache/htrace/core/TracerBuilder.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.htrace.core; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import java.lang.reflect.Constructor; -import java.util.LinkedList; -import java.util.List; - -/** - * Builds a new Tracer object. - */ -public class TracerBuilder { - public final static String SPAN_RECEIVER_CLASSES_KEY = - "span.receiver.classes"; - public final static String SAMPLER_CLASSES_KEY = - "sampler.classes"; - - private static final Log LOG = LogFactory.getLog(TracerBuilder.class); - - private String name; - private HTraceConfiguration conf = HTraceConfiguration.EMPTY; - private ClassLoader classLoader = - TracerBuilder.class.getClassLoader(); - private TracerPool tracerPool = TracerPool.GLOBAL; - - public TracerBuilder() { - } - - public TracerBuilder name(String name) { - this.name = name; - return this; - } - - public TracerBuilder conf(HTraceConfiguration conf) { - this.conf = conf; - return this; - } - - public TracerBuilder tracerPool(TracerPool tracerPool) { - this.tracerPool = tracerPool; - return this; - } - - private void loadSamplers(List<Sampler> samplers) { - String classNamesStr = conf.get(SAMPLER_CLASSES_KEY, ""); - List<String> classNames = getClassNamesFromConf(classNamesStr); - StringBuilder bld = new StringBuilder(); - String prefix = ""; - for (String className : classNames) { - try { - Sampler sampler = new Sampler.Builder(conf). - className(className). - classLoader(classLoader). - build(); - samplers.add(sampler); - bld.append(prefix).append(className); - prefix = ", "; - } catch (Throwable e) { - LOG.error("Failed to create SpanReceiver of type " + className, e); - } - } - String resultString = bld.toString(); - if (resultString.isEmpty()) { - resultString = "no samplers"; - } - LOG.info(SAMPLER_CLASSES_KEY + " = " + classNamesStr + - "; loaded " + resultString); - } - - private void loadSpanReceivers() { - String classNamesStr = conf.get(SPAN_RECEIVER_CLASSES_KEY, ""); - List<String> classNames = getClassNamesFromConf(classNamesStr); - StringBuilder bld = new StringBuilder(); - String prefix = ""; - for (String className : classNames) { - try { - tracerPool.loadReceiverType(className, conf, classLoader); - bld.append(prefix).append(className); - prefix = ", "; - } catch (Throwable e) { - LOG.error("Failed to create SpanReceiver of type " + className, e); - } - } - String resultString = bld.toString(); - if (resultString.isEmpty()) { - resultString = "no span receivers"; - } - LOG.info(SPAN_RECEIVER_CLASSES_KEY + " = " + classNamesStr + - "; loaded " + resultString); - } - - /** - * Get a list of class names from the HTrace configuration. - * Entries which are empty will be removed. Entries which lack a package will - * be given the default package. - * - * @param classNamesStr A semicolon-separated string containing a list - * of class names. - * @return A list of class names. - */ - private List<String> getClassNamesFromConf(String classNamesStr) { - String classNames[] = classNamesStr.split(";"); - LinkedList<String> cleanedClassNames = new LinkedList<String>(); - for (String className : classNames) { - String cleanedClassName = className.trim(); - if (!cleanedClassName.isEmpty()) { - cleanedClassNames.add(cleanedClassName); - } - } - return cleanedClassNames; - } - - public Tracer build() { - if (name == null) { - throw new RuntimeException("You must specify a name for this Tracer."); - } - LinkedList<SpanReceiver> spanReceivers = new LinkedList<SpanReceiver>(); - LinkedList<Sampler> samplers = new LinkedList<Sampler>(); - loadSamplers(samplers); - String tracerId = new TracerId(conf, name).get(); - Tracer tracer = new Tracer(tracerId, tracerPool, - samplers.toArray(new Sampler[samplers.size()])); - tracerPool.addTracer(tracer); - loadSpanReceivers(); - return tracer; - } -} http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/e1b75b8d/htrace-core/src/test/java/org/apache/htrace/core/TestBadClient.java ---------------------------------------------------------------------- diff --git a/htrace-core/src/test/java/org/apache/htrace/core/TestBadClient.java b/htrace-core/src/test/java/org/apache/htrace/core/TestBadClient.java index e30ea3e..87ae8e9 100644 --- a/htrace-core/src/test/java/org/apache/htrace/core/TestBadClient.java +++ b/htrace-core/src/test/java/org/apache/htrace/core/TestBadClient.java @@ -43,7 +43,7 @@ public class TestBadClient { */ @Test public void TestClosingOuterScope() throws Exception { - Tracer tracer = new TracerBuilder(). + Tracer tracer = new Tracer.Builder(). name("TestClosingOuterScopeTracer"). tracerPool(new TracerPool("TestClosingOuterScope")). conf(HTraceConfiguration. @@ -69,7 +69,7 @@ public class TestBadClient { */ @Test public void TestDoubleDetachIsCaught() throws Exception { - Tracer tracer = new TracerBuilder(). + Tracer tracer = new Tracer.Builder(). name("TestDoubleDetach"). tracerPool(new TracerPool("TestDoubleDetachIsCaught")). conf(HTraceConfiguration. @@ -94,7 +94,7 @@ public class TestBadClient { */ @Test public void TestDoubleDetachOnNullScope() throws Exception { - Tracer tracer = new TracerBuilder(). + Tracer tracer = new Tracer.Builder(). name("TestDoubleDetachOnNullScope"). tracerPool(new TracerPool("TestDoubleDetachOnNullScope")). conf(HTraceConfiguration. @@ -119,7 +119,7 @@ public class TestBadClient { */ @Test public void TestDoubleReattachIsCaught() throws Exception { - Tracer tracer = new TracerBuilder(). + Tracer tracer = new Tracer.Builder(). name("TestDoubleReattach"). tracerPool(new TracerPool("TestDoubleReattachIsCaught")). conf(HTraceConfiguration. @@ -153,7 +153,7 @@ public class TestBadClient { */ @Test public void TestPassingSpanBetweenThreads() throws Exception { - final Tracer tracer = new TracerBuilder(). + final Tracer tracer = new Tracer.Builder(). name("TestPassingSpanBetweenThreads"). tracerPool(new TracerPool("TestPassingSpanBetweenThreads")). conf(HTraceConfiguration. http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/e1b75b8d/htrace-core/src/test/java/org/apache/htrace/core/TestHTrace.java ---------------------------------------------------------------------- diff --git a/htrace-core/src/test/java/org/apache/htrace/core/TestHTrace.java b/htrace-core/src/test/java/org/apache/htrace/core/TestHTrace.java index 1771407..06ca189 100644 --- a/htrace-core/src/test/java/org/apache/htrace/core/TestHTrace.java +++ b/htrace-core/src/test/java/org/apache/htrace/core/TestHTrace.java @@ -28,7 +28,7 @@ import org.junit.Test; public class TestHTrace { @Test public void TestTracerCreateAndClose() throws Exception { - Tracer tracer = new TracerBuilder(). + Tracer tracer = new Tracer.Builder(). name("TestSimpleScope"). tracerPool(new TracerPool("TestTracerCreateAndClose")). conf(HTraceConfiguration.fromKeyValuePairs( @@ -43,7 +43,7 @@ public class TestHTrace { @Test public void TestSimpleScope() throws Exception { - Tracer tracer = new TracerBuilder(). + Tracer tracer = new Tracer.Builder(). name("TestSimpleScope"). tracerPool(new TracerPool("TestSimpleScope")). conf(HTraceConfiguration.fromKeyValuePairs( @@ -62,7 +62,7 @@ public class TestHTrace { @Test public void TestCreateSpans() throws Exception { - Tracer tracer = new TracerBuilder(). + Tracer tracer = new Tracer.Builder(). name("TestCreateSpans"). tracerPool(new TracerPool("TestCreateSpans")). conf(HTraceConfiguration.fromKeyValuePairs( @@ -113,7 +113,7 @@ public class TestHTrace { @Test(timeout=60000) public void testRootSpansHaveNonZeroSpanId() throws Exception { - Tracer tracer = new TracerBuilder(). + Tracer tracer = new Tracer.Builder(). name("testRootSpansHaveNonZeroSpanId"). tracerPool(new TracerPool("testRootSpansHaveNonZeroSpanId")). conf(HTraceConfiguration.fromKeyValuePairs( http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/e1b75b8d/htrace-core/src/test/java/org/apache/htrace/core/TestLocalFileSpanReceiver.java ---------------------------------------------------------------------- diff --git a/htrace-core/src/test/java/org/apache/htrace/core/TestLocalFileSpanReceiver.java b/htrace-core/src/test/java/org/apache/htrace/core/TestLocalFileSpanReceiver.java index b4a579b..9388707 100644 --- a/htrace-core/src/test/java/org/apache/htrace/core/TestLocalFileSpanReceiver.java +++ b/htrace-core/src/test/java/org/apache/htrace/core/TestLocalFileSpanReceiver.java @@ -44,7 +44,7 @@ public class TestLocalFileSpanReceiver { @Test public void testWriteToLocalFile() throws IOException { String traceFileName = LocalFileSpanReceiver.getUniqueLocalTraceFileName(); - Tracer tracer = new TracerBuilder(). + Tracer tracer = new Tracer.Builder(). name("testWriteToLocalFileTracer"). tracerPool(new TracerPool("testWriteToLocalFile")). conf(HTraceConfiguration.fromKeyValuePairs( http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/e1b75b8d/htrace-core/src/test/java/org/apache/htrace/core/TestNullScope.java ---------------------------------------------------------------------- diff --git a/htrace-core/src/test/java/org/apache/htrace/core/TestNullScope.java b/htrace-core/src/test/java/org/apache/htrace/core/TestNullScope.java index 592ce79..c8ed7f1 100644 --- a/htrace-core/src/test/java/org/apache/htrace/core/TestNullScope.java +++ b/htrace-core/src/test/java/org/apache/htrace/core/TestNullScope.java @@ -32,7 +32,7 @@ public class TestNullScope { @Test public void testNullScope() { - Tracer tracer = new TracerBuilder(). + Tracer tracer = new Tracer.Builder(). name("testNullScope"). tracerPool(new TracerPool("testNullScope")). conf(HTraceConfiguration.EMPTY). http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/e1b75b8d/htrace-core/src/test/java/org/apache/htrace/core/TestSampler.java ---------------------------------------------------------------------- diff --git a/htrace-core/src/test/java/org/apache/htrace/core/TestSampler.java b/htrace-core/src/test/java/org/apache/htrace/core/TestSampler.java index aa57d2c..2305d9f 100644 --- a/htrace-core/src/test/java/org/apache/htrace/core/TestSampler.java +++ b/htrace-core/src/test/java/org/apache/htrace/core/TestSampler.java @@ -25,7 +25,7 @@ import org.junit.Test; public class TestSampler { private Sampler[] getSamplersFromConf(HTraceConfiguration conf) { - Tracer tracer = new TracerBuilder(). + Tracer tracer = new Tracer.Builder(). name("MyTracer"). tracerPool(new TracerPool("getSamplersFromConf")). conf(conf). http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/e1b75b8d/htrace-core/src/test/java/org/apache/htrace/core/TestSpanReceiverBuilder.java ---------------------------------------------------------------------- diff --git a/htrace-core/src/test/java/org/apache/htrace/core/TestSpanReceiverBuilder.java b/htrace-core/src/test/java/org/apache/htrace/core/TestSpanReceiverBuilder.java index e0ce2ac..b97d624 100644 --- a/htrace-core/src/test/java/org/apache/htrace/core/TestSpanReceiverBuilder.java +++ b/htrace-core/src/test/java/org/apache/htrace/core/TestSpanReceiverBuilder.java @@ -32,7 +32,7 @@ public class TestSpanReceiverBuilder { LogFactory.getLog(TestSpanReceiverBuilder.class); private List<SpanReceiver> createSpanReceivers(String classes) { - Tracer tracer = new TracerBuilder(). + Tracer tracer = new Tracer.Builder(). name("MyTracer"). tracerPool(new TracerPool("createSpanReceivers")). conf(HTraceConfiguration.fromKeyValuePairs( http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/e1b75b8d/htrace-flume/src/test/java/org/apache/htrace/impl/TestFlumeSpanReceiver.java ---------------------------------------------------------------------- diff --git a/htrace-flume/src/test/java/org/apache/htrace/impl/TestFlumeSpanReceiver.java b/htrace-flume/src/test/java/org/apache/htrace/impl/TestFlumeSpanReceiver.java index 6cdab2e..eaa5f08 100644 --- a/htrace-flume/src/test/java/org/apache/htrace/impl/TestFlumeSpanReceiver.java +++ b/htrace-flume/src/test/java/org/apache/htrace/impl/TestFlumeSpanReceiver.java @@ -25,7 +25,6 @@ import org.apache.htrace.core.SpanId; import org.apache.htrace.core.TraceCreator; import org.apache.htrace.core.TraceScope; import org.apache.htrace.core.Tracer; -import org.apache.htrace.core.TracerBuilder; import org.apache.htrace.core.TracerPool; import org.junit.Assert; @@ -39,7 +38,7 @@ public class TestFlumeSpanReceiver { public FakeFlume flumeServer = new FakeFlume(); private Tracer newTracer() { - return new TracerBuilder(). + return new Tracer.Builder(). name("FlumeTracer"). tracerPool(new TracerPool("newTracer")). conf(HTraceConfiguration.fromKeyValuePairs( http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/e1b75b8d/htrace-hbase/src/main/java/org/apache/htrace/impl/HBaseSpanReceiver.java ---------------------------------------------------------------------- diff --git a/htrace-hbase/src/main/java/org/apache/htrace/impl/HBaseSpanReceiver.java b/htrace-hbase/src/main/java/org/apache/htrace/impl/HBaseSpanReceiver.java index 85de849..aa471ab 100644 --- a/htrace-hbase/src/main/java/org/apache/htrace/impl/HBaseSpanReceiver.java +++ b/htrace-hbase/src/main/java/org/apache/htrace/impl/HBaseSpanReceiver.java @@ -48,7 +48,6 @@ import org.apache.htrace.core.SpanReceiver; import org.apache.htrace.core.TimelineAnnotation; import org.apache.htrace.core.TraceScope; import org.apache.htrace.core.Tracer; -import org.apache.htrace.core.TracerBuilder; import org.apache.htrace.protobuf.generated.SpanProtos; /** @@ -348,7 +347,7 @@ public class HBaseSpanReceiver extends SpanReceiver { * @throws IOException */ public static void main(String[] args) throws Exception { - Tracer tracer = new TracerBuilder(). + Tracer tracer = new Tracer.Builder(). conf(new HBaseHTraceConfiguration(HBaseConfiguration.create())). build(); tracer.addSampler(Sampler.ALWAYS); http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/e1b75b8d/htrace-hbase/src/test/java/org/apache/htrace/impl/TestHBaseSpanReceiver.java ---------------------------------------------------------------------- diff --git a/htrace-hbase/src/test/java/org/apache/htrace/impl/TestHBaseSpanReceiver.java b/htrace-hbase/src/test/java/org/apache/htrace/impl/TestHBaseSpanReceiver.java index 253a873..bba19f5 100644 --- a/htrace-hbase/src/test/java/org/apache/htrace/impl/TestHBaseSpanReceiver.java +++ b/htrace-hbase/src/test/java/org/apache/htrace/impl/TestHBaseSpanReceiver.java @@ -47,7 +47,6 @@ import org.apache.htrace.core.TraceCreator; import org.apache.htrace.core.TraceGraph; import org.apache.htrace.core.TraceGraph.SpansByParent; import org.apache.htrace.core.Tracer; -import org.apache.htrace.core.TracerBuilder; import org.apache.htrace.core.TracerPool; import org.apache.htrace.protobuf.generated.SpanProtos; import org.junit.AfterClass; @@ -87,7 +86,7 @@ public class TestHBaseSpanReceiver { public void testHBaseSpanReceiver() { Table htable = createTable(UTIL); Configuration conf = UTIL.getConfiguration(); - Tracer tracer = new TracerBuilder(). + Tracer tracer = new Tracer.Builder(). name("testHBaseSpanReceiver"). tracerPool(new TracerPool("testHBaseSpanReceiver")). conf(HTraceConfiguration.fromKeyValuePairs( http://git-wip-us.apache.org/repos/asf/incubator-htrace/blob/e1b75b8d/src/main/site/markdown/index.md ---------------------------------------------------------------------- diff --git a/src/main/site/markdown/index.md b/src/main/site/markdown/index.md index e8e88fc..9207690 100644 --- a/src/main/site/markdown/index.md +++ b/src/main/site/markdown/index.md @@ -53,13 +53,13 @@ should be disabled. The goal of HTrace is to trace an entire request. To instrument your system you must: <b>1. Create a Tracer object.</b> -You can create a Tracer object via the TracerBuilder. +You can create a Tracer object via the Tracer#Builder. ````java - Tracer tracer = new TracerBuilder(conf).setName("MyApp").build(); + Tracer tracer = new Tracer#Builder(conf).setName("MyApp").build(); ... -The TracerBuilder will take care of creating the appropriate Sampler and +The Tracer#Builder will take care of creating the appropriate Sampler and SpanReceiver objects, as well as the Tracer itself. If a SpanReceiver was created, we will install a shutdown hook to close it when the JVM shuts down.
