|
2 | 2 | // |
3 | 3 | // Tencent is pleased to support the open source community by making tRPC available. |
4 | 4 | // |
5 | | -// Copyright (C) 2023 THL A29 Limited, a Tencent company. |
| 5 | +// Copyright (C) 2023 Tencent. |
6 | 6 | // All rights reserved. |
7 | 7 | // |
8 | 8 | // If you have downloaded a copy of the tRPC source code from Tencent, |
|
15 | 15 | package main |
16 | 16 |
|
17 | 17 | import ( |
18 | | - "context" |
19 | | - "fmt" |
20 | | - "log" |
| 18 | + "context" |
| 19 | + "fmt" |
| 20 | + "log" |
21 | 21 |
|
22 | | - "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc" |
23 | | - "go.opentelemetry.io/otel" |
24 | | - stdout "go.opentelemetry.io/otel/exporters/stdout/stdouttrace" |
25 | | - "go.opentelemetry.io/otel/propagation" |
26 | | - sdktrace "go.opentelemetry.io/otel/sdk/trace" |
27 | | - "google.golang.org/grpc" |
28 | | - "google.golang.org/grpc/metadata" |
29 | | - "trpc.group/trpc-go/trpc-codec/grpc/testdata/protocols/common" |
30 | | - pb "trpc.group/trpc-go/trpc-codec/grpc/testdata/protocols/grpc" |
| 22 | + "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc" |
| 23 | + "go.opentelemetry.io/otel" |
| 24 | + stdout "go.opentelemetry.io/otel/exporters/stdout/stdouttrace" |
| 25 | + "go.opentelemetry.io/otel/propagation" |
| 26 | + sdktrace "go.opentelemetry.io/otel/sdk/trace" |
| 27 | + "google.golang.org/grpc" |
| 28 | + "google.golang.org/grpc/metadata" |
| 29 | + "trpc.group/trpc-go/trpc-codec/grpc/testdata/protocols/common" |
| 30 | + pb "trpc.group/trpc-go/trpc-codec/grpc/testdata/protocols/grpc" |
31 | 31 | ) |
32 | 32 |
|
33 | 33 | func main() { |
34 | | - // create a client connection |
35 | | - conn, err := grpc.Dial("127.0.0.1:5051", grpc.WithInsecure()) |
36 | | - if err != nil { |
37 | | - panic(err) |
38 | | - } |
39 | | - defer conn.Close() |
| 34 | + // create a client connection |
| 35 | + conn, err := grpc.Dial("127.0.0.1:5051", grpc.WithInsecure()) |
| 36 | + if err != nil { |
| 37 | + panic(err) |
| 38 | + } |
| 39 | + defer conn.Close() |
40 | 40 |
|
41 | | - // creates an Exporter |
42 | | - exporter, err := stdout.New(stdout.WithPrettyPrint()) |
43 | | - if err != nil { |
44 | | - log.Fatal(err) |
45 | | - } |
46 | | - // generate TracerProvider |
47 | | - tp := sdktrace.NewTracerProvider( |
48 | | - sdktrace.WithSampler(sdktrace.AlwaysSample()), |
49 | | - sdktrace.WithBatcher(exporter), |
50 | | - ) |
51 | | - // register TracerProvider |
52 | | - otel.SetTracerProvider(tp) |
53 | | - otel.SetTextMapPropagator(propagation.NewCompositeTextMapPropagator(propagation.TraceContext{}, propagation.Baggage{})) |
54 | | - tracer := otel.GetTracerProvider().Tracer("grpc-client") |
55 | | - ctx, span := tracer.Start(context.Background(), "hello") |
56 | | - defer span.End() |
| 41 | + // creates an Exporter |
| 42 | + exporter, err := stdout.New(stdout.WithPrettyPrint()) |
| 43 | + if err != nil { |
| 44 | + log.Fatal(err) |
| 45 | + } |
| 46 | + // generate TracerProvider |
| 47 | + tp := sdktrace.NewTracerProvider( |
| 48 | + sdktrace.WithSampler(sdktrace.AlwaysSample()), |
| 49 | + sdktrace.WithBatcher(exporter), |
| 50 | + ) |
| 51 | + // register TracerProvider |
| 52 | + otel.SetTracerProvider(tp) |
| 53 | + otel.SetTextMapPropagator(propagation.NewCompositeTextMapPropagator(propagation.TraceContext{}, propagation.Baggage{})) |
| 54 | + tracer := otel.GetTracerProvider().Tracer("grpc-client") |
| 55 | + ctx, span := tracer.Start(context.Background(), "hello") |
| 56 | + defer span.End() |
57 | 57 |
|
58 | | - // injects correlation context and span context into the gRPC |
59 | | - md := metadata.MD{} |
60 | | - otelgrpc.Inject(ctx, &md) |
| 58 | + // injects correlation context and span context into the gRPC |
| 59 | + md := metadata.MD{} |
| 60 | + otelgrpc.Inject(ctx, &md) |
61 | 61 |
|
62 | | - // creates a new context with outgoing md attached |
63 | | - ctx = metadata.NewOutgoingContext(ctx, md) |
| 62 | + // creates a new context with outgoing md attached |
| 63 | + ctx = metadata.NewOutgoingContext(ctx, md) |
64 | 64 |
|
65 | | - c := pb.NewGreeterClient(conn) |
66 | | - // send rpc request |
67 | | - if rsp, err := c.Hello(ctx, &common.HelloReq{Msg: "abc"}); err != nil { |
68 | | - panic(err) |
69 | | - } else { |
70 | | - fmt.Print(rsp) |
71 | | - } |
| 65 | + c := pb.NewGreeterClient(conn) |
| 66 | + // send rpc request |
| 67 | + if rsp, err := c.Hello(ctx, &common.HelloReq{Msg: "abc"}); err != nil { |
| 68 | + panic(err) |
| 69 | + } else { |
| 70 | + fmt.Print(rsp) |
| 71 | + } |
72 | 72 |
|
73 | 73 | } |
0 commit comments