@@ -31,7 +31,7 @@ import (
3131 "google.golang.org/grpc"
3232)
3333
34- func OpenTelemetry (config * config.Config , addr net.Addr ) error {
34+ func OpenTelemetry (config * config.Config , localAddr net.Addr , publicAddr string ) error {
3535 resOptions := []resource.Option {
3636 resource .WithHost (),
3737 resource .WithOS (),
@@ -40,8 +40,8 @@ func OpenTelemetry(config *config.Config, addr net.Addr) error {
4040 resource .WithAttributes (semconv .ServiceName (config .OpenTelemetry .ServiceName )),
4141 }
4242
43- if addr != nil {
44- host , port , err := net .SplitHostPort (addr .String ())
43+ if localAddr != nil {
44+ host , port , err := net .SplitHostPort (localAddr .String ())
4545 if err != nil {
4646 return err
4747 }
@@ -52,10 +52,27 @@ func OpenTelemetry(config *config.Config, addr net.Addr) error {
5252 }
5353
5454 resOptions = append (resOptions ,
55- resource .WithAttributes (semconv .NetworkTransportKey .String (addr .Network ())),
55+ resource .WithAttributes (semconv .NetworkTransportKey .String (localAddr .Network ())),
5656 resource .WithAttributes (semconv .NetworkLocalAddress (host )),
5757 resource .WithAttributes (semconv .NetworkLocalPort (portInt )),
5858 )
59+
60+ if publicAddr != localAddr .String () {
61+ host , port , err = net .SplitHostPort (publicAddr )
62+ if err != nil {
63+ return err
64+ }
65+
66+ portInt , err = strconv .Atoi (port )
67+ if err != nil {
68+ return err
69+ }
70+ }
71+
72+ resOptions = append (resOptions ,
73+ resource .WithAttributes (semconv .ServerAddress (host )),
74+ resource .WithAttributes (semconv .ServerPort (portInt )),
75+ )
5976 }
6077
6178 ctx , cancel := context .WithTimeout (context .Background (), 10 * time .Second )
@@ -83,7 +100,7 @@ func OpenTelemetry(config *config.Config, addr net.Addr) error {
83100 propagation .NewCompositeTextMapPropagator (propagation.TraceContext {}, propagation.Baggage {}),
84101 )
85102
86- if addr != nil {
103+ if localAddr != nil {
87104 config .GRPCOptions .Server = append (config .GRPCOptions .Server ,
88105 grpc .StatsHandler (otelgrpc .NewServerHandler (tracerProvider , propagators )),
89106 )
0 commit comments