1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2024-12-04 09:43:23 +02:00
opentelemetry-go/example
Krzesimir Nowak 927d9155ae
Increase the visibility of the api/key package (#650)
* Point to the convenience functions in api/key package

This is to increase the visibility of the api/key package through the
api/core package, otherwise developers often tend to miss the api/key
package altogether and write `core.Key(name).TYPE(value)` and complain
at the verbosity of such a construction. The api/key package would
allow them to write `key.TYPE(name, value)`.

* Use the api/key package where applicable

This transforms all the uses of `core.Key(name).TYPE(value)` to
`key.TYPE(name, value)`. This also should help increasing the
visibility of the api/key package for developers reading the otel-go
code.

Co-authored-by: Joshua MacDonald <jmacd@users.noreply.github.com>
2020-04-21 20:26:51 -07:00
..
basic Increase the visibility of the api/key package (#650) 2020-04-21 20:26:51 -07:00
grpc Prepare for releasing v0.4.2 (#608) 2020-03-31 12:57:37 -07:00
http Prepare for releasing v0.4.2 (#608) 2020-03-31 12:57:37 -07:00
jaeger Prepare for releasing v0.4.2 (#608) 2020-03-31 12:57:37 -07:00
namedtracer Prepare for releasing v0.4.2 (#608) 2020-03-31 12:57:37 -07:00
prometheus Remove WithKeys() option, defaultkeys batcher (#639) 2020-04-14 16:07:11 -07:00
zipkin fix zipkin without local endpoint with service name (#644) 2020-04-18 23:02:29 -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.