/
tracer.go
63 lines (55 loc) · 1.9 KB
/
tracer.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package main
// import (
// "context"
// "go.opentelemetry.io/otel"
// "go.opentelemetry.io/otel/attribute"
// "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc"
// "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc"
// "go.opentelemetry.io/otel/metric/global"
// "go.opentelemetry.io/otel/propagation"
// sdkmetric "go.opentelemetry.io/otel/sdk/metric"
// "go.opentelemetry.io/otel/sdk/resource"
// sdktrace "go.opentelemetry.io/otel/sdk/trace"
// semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
// "go.opentelemetry.io/otel/trace"
// )
// var (
// tracer trace.Tracer
// )
// func initTracerProvider(ctx context.Context, url string) *sdktrace.TracerProvider {
// // ctx := context.Background()
// exporter, err := otlptracegrpc.New(
// ctx,
// otlptracegrpc.WithEndpoint(url),
// otlptracegrpc.WithInsecure(),
// )
// if err != nil {
// log.Fatalf("new otlp trace grpc exporter failed: %v", err)
// }
// tp := sdktrace.NewTracerProvider(
// sdktrace.WithBatcher(exporter),
// sdktrace.WithResource(resource.NewWithAttributes(
// semconv.SchemaURL,
// semconv.ServiceNameKey.String("homin-dev"),
// attribute.String("name", programName),
// attribute.String("ver", programVer),
// )),
// )
// otel.SetTracerProvider(tp)
// otel.SetTextMapPropagator(propagation.NewCompositeTextMapPropagator(propagation.TraceContext{}, propagation.Baggage{}))
// return tp
// }
// func initMeterProvider(ctx context.Context, url string) *sdkmetric.MeterProvider {
// // ctx := context.Background()
// exporter, err := otlpmetricgrpc.New(
// ctx,
// otlpmetricgrpc.WithEndpoint(url),
// otlpmetricgrpc.WithInsecure(),
// )
// if err != nil {
// log.Fatalf("new otlp metric grpc exporter failed: %v", err)
// }
// mp := sdkmetric.NewMeterProvider(sdkmetric.WithReader(sdkmetric.NewPeriodicReader(exporter)))
// global.SetMeterProvider(mp)
// return mp
// }