1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2025-01-05 22:54:18 +02:00
opentelemetry-go/example
Cheng-Lung Sung a228bafec5 exporter(stackdriver): fix ExportSpans when ctx is not nil (#294)
* exporter(stackdriver): fix ExportSpans when ctx is not nil

- problem: if ctx is not, calling cancel() will panic
- nil Context already handled in newContextWithTimeout
- add with test

* update go.sum

* mock traceserver for traceclient

* make precommit

* - respect option.Context when get google cred and traceclient

* Revise with timeout, context

- rename blackbox tests package to stackdriver_test
- remove context is nil checking, add to initialization
- add tests for timeout
2019-11-14 09:45:17 -08:00
..
basic example/basic: make basic example work (#279) 2019-11-04 12:23:23 -08:00
http remove rSSP and rBSP code, use NewProvider instead. (#271) 2019-11-01 16:35:18 -07:00
http-stackdriver exporter(stackdriver): fix ExportSpans when ctx is not nil (#294) 2019-11-14 09:45:17 -08:00
jaeger [example/jaeger] Remove prefix slash in Tracer.Start() (#292) 2019-11-05 09:18:09 -08:00
namedtracer Namespace import path under "/otel" (#274) 2019-11-01 11:40: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.