1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2024-12-04 09:43:23 +02:00
opentelemetry-go/example
Joshua MacDonald 5461669733
Add a pull controller, use it for Prometheus (#751)
* Checkpoint new pull controller

* Tests pass

* Fix example

* Example fix

* Add a test

* Comment

* address MrAlias's feedback
2020-05-20 10:27:26 -07:00
..
basic Support use of synchronous instruments in async callbacks (#725) 2020-05-19 21:33:10 -07:00
grpc Prepare for releasing v0.5.0 2020-05-13 17:11:23 -07:00
http Ensure golang alpine image is running golang-1.14 (#733) 2020-05-15 21:53:05 -07:00
jaeger Prepare for releasing v0.5.0 2020-05-13 17:11:23 -07:00
namedtracer Prepare for releasing v0.5.0 2020-05-13 17:11:23 -07:00
otel-collector Merge branch 'master' of github.com:stefanprisca/opentelemetry-go into sp-master 2020-05-20 10:39:50 +02:00
prometheus Add a pull controller, use it for Prometheus (#751) 2020-05-20 10:27:26 -07:00
zipkin Rename ScheduleDelayMillis to BatchTimeout (#752) 2020-05-20 10:12:57 -07:00
README.md Namespace import path under "/otel" (#274) 2019-11-01 11:40:29 -07: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.