1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2024-12-12 10:04:29 +02:00
opentelemetry-go/example
David C Wang ce49579d66 Fixed OTLP example's accidental early close of exporter
* The exp.Stop() as argument to handleErr is getting executed
  immediately.  Wrap this with an anonymous func so that this
  argument is executed when the defer statement is activated.
* From the "Tour of Go" docs on Defer: "The deferred call's arguments
  are evaluated immediately, but the function call is not executed
  until the surrounding function returns."
2020-06-09 20:36:17 +00:00
..
basic Merge branch 'master' into pre_release_v0.6.0 2020-05-21 15:45:47 -07:00
grpc Rename plugin directory to instrumentation (#779) 2020-05-30 14:53:32 -07:00
http Rename plugin directory to instrumentation (#779) 2020-05-30 14:53:32 -07:00
jaeger Prepare for releasing v0.6.0 2020-05-21 12:10:12 -07:00
namedtracer Prepare for releasing v0.6.0 2020-05-21 12:10:12 -07:00
otel-collector Lint 2020-05-29 11:04:57 -07:00
otlp Fixed OTLP example's accidental early close of exporter 2020-06-09 20:36:17 +00:00
prometheus Merge branch 'master' into pre_release_v0.6.0 2020-05-21 15:45:47 -07:00
zipkin Prepare for releasing v0.6.0 2020-05-21 12:10:12 -07:00
README.md Split OTLP README to own directory 2020-06-01 13:27:23 -05: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.
  • 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/otel

2 Start Server

cd $GOPATH/src/go.opentelemetry.io/otel/example/http/
go run ./server/server.go

3 Start Client

cd $GOPATH/src/go.opentelemetry.io/otel/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.