-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
78 lines (66 loc) · 1.79 KB
/
main.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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package main
import (
"context"
"os"
"time"
"github.com/iamgoangle/opentelemetry-jaeger-exporter/kafka"
"go.opentelemetry.io/otel/api/global"
"github.com/iamgoangle/opentelemetry-jaeger-exporter/internal/otel"
)
func main() {
initTrace := otel.InitTracer(&otel.Config{
Service: "distribute-trace-app",
ThriftEndpoint: os.Getenv("THRIFT_ENDPOINT"),
})
defer initTrace()
tracer := otel.NewTracer()
ctx := context.Background()
tr := global.TraceProvider().Tracer("trace-main")
ctx, span := tr.Start(ctx, "main")
// produce app
// actually, this should be a micro service run in isolate container
broker := []string{os.Getenv("KAFKA_BROKER")}
producer := kafka.NewProducer(os.Getenv("KAFKA_TOPIC"), broker, tracer)
producer.Produce(ctx, "test tracing ja")
span.End()
time.Sleep(5 * time.Second)
// consumer app
// actually, this should be a micro service run in isolate container
consumer := kafka.NewConsumer(os.Getenv("KAFKA_TOPIC"), broker, tracer)
consumer.Consume()
}
// func main() {
// initTrace := otel.InitTracer(&otel.Config{
// Service: "producer-app",
// ThriftEndpoint: os.Getenv("THRIFT_ENDPOINT"),
// })
// defer initTrace()
//
// tracer := otel.NewTracer()
// ctx := context.Background()
//
// tr := global.TraceProvider().Tracer("trace-main")
// ctx, span := tr.Start(ctx, "main")
//
// // producer
// producer := basic_kafka.NewProducer(tracer)
// body, err := producer.Produce(ctx, "test test test")
// if err != nil {
// log.Panic(err)
// }
//
// span.End()
//
// // consumer
// tracer = otel.NewTracer()
// consumer := basic_kafka.NewConsumer(tracer)
// err = consumer.Consume(body)
// if err != nil {
// log.Panic(err)
// }
//
// // apiTest := &api.TestHandler{
// // Tracer: tracer,
// // }
// // apiTest.Handler(ctx)
// }