Skip to content

Instantly share code, notes, and snippets.

@vmihailenco
Created July 6, 2020 06:33
Show Gist options
  • Save vmihailenco/1028b37642cd04ed0222cfe8a3125dbf to your computer and use it in GitHub Desktop.
Save vmihailenco/1028b37642cd04ed0222cfe8a3125dbf to your computer and use it in GitHub Desktop.
package main
import (
"log"
"net/http"
"net/http/httptest"
"go.opentelemetry.io/otel/api/global"
"go.opentelemetry.io/otel/api/kv"
tracestdout "go.opentelemetry.io/otel/exporters/trace/stdout"
"go.opentelemetry.io/otel/instrumentation/othttp"
"go.opentelemetry.io/otel/sdk/resource"
sdktrace "go.opentelemetry.io/otel/sdk/trace"
)
func initTracer() {
var err error
exp, err := tracestdout.NewExporter(tracestdout.Options{PrettyPrint: false})
if err != nil {
log.Panicf("failed to initialize trace stdout exporter %v", err)
return
}
tp, err := sdktrace.NewProvider(sdktrace.WithSyncer(exp),
sdktrace.WithConfig(sdktrace.Config{DefaultSampler: sdktrace.AlwaysSample()}),
sdktrace.WithResource(resource.New(kv.String("rk1", "rv11"), kv.Int64("rk2", 5))))
if err != nil {
log.Panicf("failed to initialize trace provider %v", err)
}
global.SetTraceProvider(tp)
}
func main() {
initTracer()
var handler http.Handler
handler = http.HandlerFunc(noop)
handler = othttp.NewHandler(handler, "")
w := httptest.NewRecorder()
req := httptest.NewRequest("GET", "/", nil)
handler.ServeHTTP(w, req)
select {}
}
func noop(w http.ResponseWriter, req *http.Request) {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment