mirror of
https://gitee.com/johng/gf
synced 2026-06-27 17:57:21 +08:00
79 lines
1.6 KiB
Go
79 lines
1.6 KiB
Go
package main
|
|
|
|
import (
|
|
"github.com/gogf/gf/contrib/registry/etcd/v2"
|
|
"github.com/gogf/gf/contrib/rpc/grpcx/v2"
|
|
"github.com/gogf/gf/contrib/trace/jaeger/v2"
|
|
"github.com/gogf/gf/example/trace/grpc_with_db/protobuf/user"
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"github.com/gogf/gf/v2/net/gtrace"
|
|
"github.com/gogf/gf/v2/os/gctx"
|
|
)
|
|
|
|
const (
|
|
ServiceName = "grpc-client-with-db"
|
|
JaegerUdpEndpoint = "localhost:6831"
|
|
)
|
|
|
|
func main() {
|
|
grpcx.Resolver.Register(etcd.New("127.0.0.1:2379"))
|
|
|
|
var ctx = gctx.New()
|
|
tp, err := jaeger.Init(ServiceName, JaegerUdpEndpoint)
|
|
if err != nil {
|
|
g.Log().Fatal(ctx, err)
|
|
}
|
|
defer tp.Shutdown(ctx)
|
|
|
|
StartRequests()
|
|
}
|
|
|
|
func StartRequests() {
|
|
ctx, span := gtrace.NewSpan(gctx.New(), "StartRequests")
|
|
defer span.End()
|
|
|
|
client := user.NewUserClient(grpcx.Client.MustNewGrpcClientConn("demo"))
|
|
|
|
// Baggage.
|
|
ctx = gtrace.SetBaggageValue(ctx, "uid", 100)
|
|
|
|
// Insert.
|
|
insertRes, err := client.Insert(ctx, &user.InsertReq{
|
|
Name: "john",
|
|
})
|
|
if err != nil {
|
|
g.Log().Fatalf(ctx, `%+v`, err)
|
|
}
|
|
g.Log().Info(ctx, "insert id:", insertRes.Id)
|
|
|
|
// Query.
|
|
queryRes, err := client.Query(ctx, &user.QueryReq{
|
|
Id: insertRes.Id,
|
|
})
|
|
if err != nil {
|
|
g.Log().Errorf(ctx, `%+v`, err)
|
|
return
|
|
}
|
|
g.Log().Info(ctx, "query result:", queryRes)
|
|
|
|
// Delete.
|
|
_, err = client.Delete(ctx, &user.DeleteReq{
|
|
Id: insertRes.Id,
|
|
})
|
|
if err != nil {
|
|
g.Log().Errorf(ctx, `%+v`, err)
|
|
return
|
|
}
|
|
g.Log().Info(ctx, "delete id:", insertRes.Id)
|
|
|
|
// Delete with error.
|
|
_, err = client.Delete(ctx, &user.DeleteReq{
|
|
Id: -1,
|
|
})
|
|
if err != nil {
|
|
g.Log().Errorf(ctx, `%+v`, err)
|
|
return
|
|
}
|
|
g.Log().Info(ctx, "delete id:", -1)
|
|
}
|