Skip to content

Commit

Permalink
add tracing example for grpc
Browse files Browse the repository at this point in the history
  • Loading branch information
jianchenma committed Jan 26, 2021
1 parent c72c7db commit e3be3ba
Show file tree
Hide file tree
Showing 8 changed files with 1,616 additions and 12 deletions.
17 changes: 11 additions & 6 deletions .example/net/gtrace/1.http/client/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,20 @@ func initTracer() func() {
return flush
}

func main() {
flush := initTracer()
defer flush()

ctx, span := gtrace.Tracer().Start(context.Background(), "test")
func StartRequests() {
ctx, span := gtrace.Tracer().Start(context.Background(), "StartRequests")
defer span.End()

ctx = baggage.ContextWithValues(ctx, label.String("name", "john"))
client := g.Client().Use(ghttp.MiddlewareClientTracing)

content := client.Ctx(ctx).GetContent("http://127.0.0.1:8199/hello")
g.Log().Print(content)
g.Log().Ctx(ctx).Print(content)
}

func main() {
flush := initTracer()
defer flush()

StartRequests()
}
15 changes: 9 additions & 6 deletions .example/net/gtrace/4.http+db+redis+log/client/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,11 @@ func initTracer() func() {
return flush
}

func main() {
flush := initTracer()
defer flush()

ctx, span := gtrace.Tracer().Start(context.Background(), "root")
func StartRequests() {
ctx, span := gtrace.Tracer().Start(context.Background(), "StartRequests")
defer span.End()

client := g.Client().Use(ghttp.MiddlewareClientTracing)
//client := g.Client()
// Add user info.
idStr := client.Ctx(ctx).PostContent(
"http://127.0.0.1:8199/user/insert",
Expand Down Expand Up @@ -69,3 +65,10 @@ func main() {
)
g.Log().Ctx(ctx).Print("delete:", idStr, deleteResult)
}

func main() {
flush := initTracer()
defer flush()

StartRequests()
}
80 changes: 80 additions & 0 deletions .example/net/gtrace/5.grpc+db+redis+log/client/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
package main

import (
"context"
"github.com/gogf/gf/.example/net/gtrace/5.grpc+db+redis+log/protobuf/user"
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/gtrace"
"go.opentelemetry.io/otel/exporters/trace/jaeger"
sdkTrace "go.opentelemetry.io/otel/sdk/trace"
"google.golang.org/grpc"
)

const (
JaegerEndpoint = "http://localhost:14268/api/traces"
ServiceName = "tracing-grpc-client"
)

// initTracer creates a new trace provider instance and registers it as global trace provider.
func initTracer() func() {
// Create and install Jaeger export pipeline.
flush, err := jaeger.InstallNewPipeline(
jaeger.WithCollectorEndpoint(JaegerEndpoint),
jaeger.WithProcess(jaeger.Process{
ServiceName: ServiceName,
}),
jaeger.WithSDK(&sdkTrace.Config{DefaultSampler: sdkTrace.AlwaysSample()}),
)
if err != nil {
g.Log().Fatal(err)
}
return flush
}

func StartRequests() {
ctx, span := gtrace.Tracer().Start(context.Background(), "StartRequests")
defer span.End()

conn, err := grpc.Dial(":8000", grpc.WithInsecure(), grpc.WithBlock())
if err != nil {
g.Log().Fatalf("did not connect: %v", err)
}
defer conn.Close()

client := user.NewUserClient(conn)

// Insert.
insertRes, err := client.Insert(ctx, &user.InsertReq{
Name: "john",
})
if err != nil {
g.Log().Ctx(ctx).Fatalf(`%+v`, err)
}
g.Log().Ctx(ctx).Println("insert:", insertRes.Id)

// Query.
queryRes, err := client.Query(ctx, &user.QueryReq{
Id: insertRes.Id,
})
if err != nil {
g.Log().Ctx(ctx).Fatalf(`%+v`, err)
}
g.Log().Ctx(ctx).Println("query:", queryRes)

// Delete.
_, err = client.Delete(ctx, &user.DeleteReq{
Id: insertRes.Id,
})
if err != nil {
g.Log().Ctx(ctx).Fatalf(`%+v`, err)
}
g.Log().Ctx(ctx).Println("delete:", "ok")

}

func main() {
flush := initTracer()
defer flush()

StartRequests()
}
Loading

0 comments on commit e3be3ba

Please sign in to comment.