1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2024-12-12 10:04:29 +02:00
opentelemetry-go/example
Tyler Yahn 452256cbf4
Unify trace and metric stdout exporters (#956)
* Consolidate stdout exporter

* Move config to own file and match project standard

* Abstract Exporter into unified struct

* Rename trace part of the exporter

* Update import paths and configuration

* Update tests

* Update InstallNewPipeline to not return traceProvider

It is a registered global, access it that way.

* Update example_test

* Update docs

* Update example to be for whole package

* Update metric output

Closer match the span output.

* Clean up span output

Print as a batch and cleanup marshaling.

* Correct spelling error in doc

* Add Exporters README

* Update Changelog

* Propagate changes to rest of project

* Lint fixes

* Fix example test in metric SDK

* Add disable config options for trace and metric

Co-authored-by: Liz Fong-Jones <lizf@honeycomb.io>
2020-07-22 12:34:44 -07:00
..
basic Unify trace and metric stdout exporters (#956) 2020-07-22 12:34:44 -07:00
grpc Unify trace and metric stdout exporters (#956) 2020-07-22 12:34:44 -07:00
http Unify trace and metric stdout exporters (#956) 2020-07-22 12:34:44 -07:00
jaeger Unify trace and metric exporter helpers (#944) 2020-07-22 11:57:48 -07:00
namedtracer Unify trace and metric stdout exporters (#956) 2020-07-22 12:34:44 -07:00
otel-collector Bump github.com/google/go-cmp from 0.5.0 to 0.5.1 (#957) 2020-07-22 10:03:41 -04:00
prometheus Bump github.com/google/go-cmp from 0.5.0 to 0.5.1 (#957) 2020-07-22 10:03:41 -04:00
zipkin Unify trace and metric exporter helpers (#944) 2020-07-22 11:57:48 -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.