2019-09-25 22:22:33 +02:00
|
|
|
# Example
|
|
|
|
|
|
|
|
## HTTP
|
|
|
|
This is a simple example that demonstrates tracing http request from client to server. The example
|
|
|
|
shows key aspects of tracing such as
|
|
|
|
- Root Span (on Client)
|
|
|
|
- Child Span (on Client)
|
|
|
|
- Child Span from a Remote Parent (on Server)
|
|
|
|
- SpanContext Propagation (from Client to Server)
|
|
|
|
- Span Events
|
|
|
|
- Span Attributes
|
|
|
|
|
|
|
|
Example uses
|
|
|
|
- open-telemetry SDK as trace instrumentation provider,
|
|
|
|
- httptrace plugin to facilitate tracing http request on client and server
|
|
|
|
- http trace_context propagation to propagate SpanContext on the wire.
|
|
|
|
- jaeger exporter to export spans to visualize and store them.
|
|
|
|
|
|
|
|
### How to run?
|
|
|
|
|
|
|
|
#### Prequisites
|
|
|
|
|
|
|
|
- go 1.12 installed
|
|
|
|
- GOPATH is configured.
|
|
|
|
|
|
|
|
#### 1 Download git repo
|
|
|
|
```
|
|
|
|
GO111MODULE="" go get -d go.opentelemetry.io
|
|
|
|
```
|
|
|
|
|
2019-09-28 20:27:02 +02:00
|
|
|
#### 2 Start Server
|
2019-09-25 22:22:33 +02:00
|
|
|
```
|
|
|
|
cd $GOPATH/src/go.opentelemetry.io/example/http/
|
|
|
|
go run ./server/server.go
|
|
|
|
```
|
|
|
|
|
2019-09-28 20:27:02 +02:00
|
|
|
#### 3 Start Client
|
2019-09-25 22:22:33 +02:00
|
|
|
```
|
|
|
|
cd $GOPATH/src/go.opentelemetry.io/example/http/
|
|
|
|
go run ./client/client.go
|
|
|
|
```
|
|
|
|
|
2019-09-28 20:27:02 +02:00
|
|
|
#### 4 Check traces in stdout
|
2019-09-25 22:22:33 +02:00
|
|
|
|
2019-09-28 20:27:02 +02:00
|
|
|
The spans should be visible in stdout in the order that they were exported.
|
2019-09-25 22:22:33 +02:00
|
|
|
|
|
|
|
|