mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2024-12-12 10:04:29 +02:00
7d301220a2
* automate building all the examples the EXAMPLES variable was out of date - the stackdriver example wasn't even built let's automate it, so we don't need to remember about updating the variable after adding a new example to the examples directory * move jaeger example to example directory this should be in the examples directory, so it can be built by the make test during CI. * switch to go 1.13 circle ci uses go 1.12 (which is the oldest 1.12 release) that contains some bugs with module handling let's switch to go 1.13.3, the latest go currently * use a single valid revision of the project in go.mod files this probably shouldn't be a problem since the switch to go 1.13 in circle ci, but cleans up the mess and the use of bogus releases
1.1 KiB
1.1 KiB
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.
- stdout exporter to print information about spans in the terminal
How to run?
Prequisites
- go 1.13 installed
- GOPATH is configured.
1 Download git repo
GO111MODULE="" go get -d go.opentelemetry.io
2 Start Server
cd $GOPATH/src/go.opentelemetry.io/example/http/
go run ./server/server.go
3 Start Client
cd $GOPATH/src/go.opentelemetry.io/example/http/
go run ./client/client.go
4 Check traces in stdout
The spans should be visible in stdout in the order that they were exported.