Skip to content
This repository was archived by the owner on Dec 8, 2022. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions java/src/main/java/lesson01/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ public class Hello {
}
String helloTo = args[0];
new Hello().sayHello(helloTo);
tracer.close();
}
}
```
Expand Down Expand Up @@ -79,6 +78,7 @@ public class Hello {
}
String helloTo = args[0];
new Hello(GlobalTracer.get()).sayHello(helloTo);
tracer.close();
}
}
```
Expand Down Expand Up @@ -137,10 +137,10 @@ the tracer as originating from a `hello-world` service.
If we run the program now, we should see a span logged:

```
$ ./run.sh lesson01.exercise.Hello Bryan
[lesson01.exercise.Hello.main()] INFO com.uber.jaeger.Configuration - Initialized tracer=Tracer(...)
$ ./run.sh lesson01.solution.Hello Bryan
[lesson01.solution.Hello.main()] INFO com.uber.jaeger.Configuration - Initialized tracer=Tracer(...)
Hello, Bryan!
[lesson01.exercise.Hello.main()] INFO com.uber.jaeger.reporters.LoggingReporter - Span reported: 76509ca0cd333055:76509ca0cd333055:0:1 - say-hello
[lesson01.solution.Hello.main()] INFO com.uber.jaeger.reporters.LoggingReporter - Span reported: 76509ca0cd333055:76509ca0cd333055:0:1 - say-hello
```

If you have Jaeger backend running, you should be able to see the trace in the UI.
Expand Down
17 changes: 17 additions & 0 deletions java/src/main/java/lesson01/exercise/Hello.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package lesson01.exercise;

public class Hello {

private void sayHello(String helloTo) {
String helloStr = String.format("Hello, %s!", helloTo);
System.out.println(helloStr);
}

public static void main(String[] args) {
if (args.length != 1) {
throw new IllegalArgumentException("Expecting one argument");
}
String helloTo = args[0];
new Hello().sayHello(helloTo);
}
}
13 changes: 11 additions & 2 deletions java/src/main/java/lesson01/solution/Hello.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@

import io.opentracing.Span;
import com.google.common.collect.ImmutableMap;
import com.uber.jaeger.Configuration;
import com.uber.jaeger.Configuration.ReporterConfiguration;
import com.uber.jaeger.Configuration.SamplerConfiguration;
import com.uber.jaeger.Tracer;
import lib.Tracing;

public class Hello {

Expand Down Expand Up @@ -31,8 +33,15 @@ public static void main(String[] args) {
throw new IllegalArgumentException("Expecting one argument");
}
String helloTo = args[0];
Tracer tracer = Tracing.init("hello-world");
Tracer tracer = initTracer("hello-world");
new Hello(tracer).sayHello(helloTo);
tracer.close();
}

public static com.uber.jaeger.Tracer initTracer(String service) {
SamplerConfiguration samplerConfig = new SamplerConfiguration("const", 1);
ReporterConfiguration reporterConfig = new ReporterConfiguration(true, null, null, null, null);
Configuration config = new Configuration(service, samplerConfig, reporterConfig);
return (com.uber.jaeger.Tracer) config.getTracer();
}
}
56 changes: 56 additions & 0 deletions java/src/main/java/lesson02/exercise/Hello.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package lesson02.exercise;

import io.opentracing.Span;
import com.google.common.collect.ImmutableMap;
import com.uber.jaeger.Tracer;
import lib.Tracing;

public class Hello {

private final Tracer tracer;

private Hello(Tracer tracer) {
this.tracer = tracer;
}

private void sayHello(String helloTo) {
Span span = tracer.buildSpan("say-hello").startManual();
span.setTag("hello-to", helloTo);

String helloStr = formatString(span, helloTo);
printHello(span, helloStr);

span.finish();
}

private String formatString(Span rootSpan, String helloTo) {
Span span = tracer.buildSpan("formatString").startManual();
try {
String helloStr = String.format("Hello, %s!", helloTo);
span.log(ImmutableMap.of("event", "string-format", "value", helloStr));
return helloStr;
} finally {
span.finish();
}
}

private void printHello(Span rootSpan, String helloStr) {
Span span = tracer.buildSpan("printHello").startManual();
try {
System.out.println(helloStr);
span.log(ImmutableMap.of("event", "println"));
} finally {
span.finish();
}
}

public static void main(String[] args) {
if (args.length != 1) {
throw new IllegalArgumentException("Expecting one argument");
}
String helloTo = args[0];
Tracer tracer = Tracing.init("hello-world");
new Hello(tracer).sayHello(helloTo);
tracer.close();
}
}
8 changes: 4 additions & 4 deletions java/src/main/java/lesson03/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -199,25 +199,25 @@ public String format(@QueryParam("helloTo") String helloTo, @Context HttpHeaders
### Take It For a Spin

As before, first run the `formatter` and `publisher` apps in separate terminals.
Then run `lesson03.exercise.Hello`. You should see the outputs like this:
Then run `lesson03.solution.Hello`. You should see the outputs like this:

```
# client
$ ./run.sh lesson03.exercise.Hello Bryan
$ ./run.sh lesson03.solution.Hello Bryan
INFO com.uber.jaeger.Configuration - Initialized tracer=Tracer(...)
INFO com.uber.jaeger.reporters.LoggingReporter - Span reported: 5fe2d9de96c3887a:72910f6018b1bd09:5fe2d9de96c3887a:1 - formatString
INFO com.uber.jaeger.reporters.LoggingReporter - Span reported: 5fe2d9de96c3887a:62d73167c129ecd7:5fe2d9de96c3887a:1 - printHello
INFO com.uber.jaeger.reporters.LoggingReporter - Span reported: 5fe2d9de96c3887a:5fe2d9de96c3887a:0:1 - say-hello

# formatter
$ ./run.sh lesson03.exercise.Formatter server
$ ./run.sh lesson03.solution.Formatter server
[skip noise]
INFO org.eclipse.jetty.server.Server: Started @3968ms
INFO com.uber.jaeger.reporters.LoggingReporter: Span reported: 5fe2d9de96c3887a:b73ff97ea68a36f8:72910f6018b1bd09:1 - format
127.0.0.1 - - "GET /format?helloTo=Bryan HTTP/1.1" 200 13 "-" "okhttp/3.9.0" 3

# publisher
$ ./run.sh lesson03.exercise.Publisher server
$ ./run.sh lesson03.solution.Publisher server
[skip noise]
INFO org.eclipse.jetty.server.Server: Started @3388ms
Hello, Bryan!
Expand Down
6 changes: 3 additions & 3 deletions java/src/main/java/lesson04/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,21 +69,21 @@ with two arguments, e.g. `Bryan Bonjour`. The `publisher` should print `Bonjour,

```
# client
$ ./run.sh lesson04.exercise.Hello Bryan Bonjour
$ ./run.sh lesson04.solution.Hello Bryan Bonjour
INFO com.uber.jaeger.Configuration - Initialized tracer=Tracer(...)
INFO com.uber.jaeger.reporters.LoggingReporter - Span reported: e6ee8a816c8386ce:ef06ddba375ff053:e6ee8a816c8386ce:1 - formatString
INFO com.uber.jaeger.reporters.LoggingReporter - Span reported: e6ee8a816c8386ce:20cdfed1d23892c1:e6ee8a816c8386ce:1 - printHello
INFO com.uber.jaeger.reporters.LoggingReporter - Span reported: e6ee8a816c8386ce:e6ee8a816c8386ce:0:1 - say-hello

# formatter
$ ./run.sh lesson04.exercise.Formatter server
$ ./run.sh lesson04.solution.Formatter server
[skip noise]
INFO org.eclipse.jetty.server.Server: Started @3508ms
INFO com.uber.jaeger.reporters.LoggingReporter: Span reported: e6ee8a816c8386ce:cd2c1d243ddf319b:ef06ddba375ff053:1 - format
127.0.0.1 - - "GET /format?helloTo=Bryan HTTP/1.1" 200 15 "-" "okhttp/3.9.0" 69

# publisher
$ ./run.sh lesson03.exercise.Publisher server
$ ./run.sh lesson03.solution.Publisher server
[skip noise]
INFO org.eclipse.jetty.server.Server: Started @3388ms
Bonjour, Bryan!
Expand Down