1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2025-09-16 09:26:25 +02:00

WIP: Named tracer prototype (#227)

* named tracer prototype

* rename Manager to Provider.

* fix compile error after merge.

* rename Tracer method to GetTracer

* provider with options.

* update test.

* cleanup make circl-ci

* remove global config.

* some cleanup.

* use provider for bridge

* update propagation test.

* update examples and plugins.

* remove GlobalTracer methods.

* fix review comments.

* some more cleanup.

* remove unnecessary getTracer call in benchmark test.
This commit is contained in:
rghetia
2019-10-22 13:19:11 -07:00
committed by GitHub
parent 9b5f5dd13a
commit b04db14146
36 changed files with 1065 additions and 411 deletions

View File

@@ -28,8 +28,6 @@ import (
)
func initTracer() {
sdktrace.Register()
projectID := os.Getenv("PROJECT_ID")
// Create Stackdriver exporter to be able to retrieve
@@ -40,18 +38,22 @@ func initTracer() {
if err != nil {
log.Fatal(err)
}
if err := exporter.RegisterBatchSpanProcessor(); err != nil {
log.Fatal(err)
}
// For the demonstration, use sdktrace.AlwaysSample sampler to sample all traces.
// In a production application, use sdktrace.ProbabilitySampler with a desired probability.
sdktrace.ApplyConfig(sdktrace.Config{DefaultSampler: sdktrace.AlwaysSample()})
tp, err := sdktrace.NewProvider(sdktrace.WithConfig(sdktrace.Config{DefaultSampler: sdktrace.AlwaysSample()}),
sdktrace.WithSyncer(exporter))
if err != nil {
log.Fatal(err)
}
trace.SetGlobalProvider(tp)
}
func main() {
initTracer()
tr := trace.GlobalProvider().GetTracer("stackdriver/example/server")
helloHandler := func(w http.ResponseWriter, req *http.Request) {
attrs, entries, spanCtx := httptrace.Extract(req.Context(), req)
@@ -59,7 +61,7 @@ func main() {
MultiKV: entries,
})))
ctx, span := trace.GlobalTracer().Start(
ctx, span := tr.Start(
req.Context(),
"hello",
trace.WithAttributes(attrs...),