From: Matt Joiner Date: Fri, 16 Dec 2022 02:22:44 +0000 (+1100) Subject: Set span errors X-Git-Tag: v1.49.0~7^2~15 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=16c7621d9ec6b31bdfef985d84295be97961cc21;p=btrtrc.git Set span errors --- diff --git a/tracker/server.go b/tracker/server.go index 67b46e0c..6ef4ec4e 100644 --- a/tracker/server.go +++ b/tracker/server.go @@ -11,6 +11,7 @@ import ( "github.com/anacrolix/log" "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/codes" "go.opentelemetry.io/otel/trace" "github.com/anacrolix/torrent/tracker/udp" @@ -117,6 +118,9 @@ func (me *AnnounceHandler) Serve( defer span.End() defer func() { span.SetAttributes(attribute.Int("announce.get_peers.len", len(ret.Peers))) + if ret.Err != nil { + span.SetStatus(codes.Error, ret.Err.Error()) + } }() ret.Err = me.AnnounceTracker.TrackAnnounce(ctx, req, addr) diff --git a/tracker/udp/server/server.go b/tracker/udp/server/server.go index c8c9bec3..ad97f407 100644 --- a/tracker/udp/server/server.go +++ b/tracker/udp/server/server.go @@ -14,6 +14,7 @@ import ( "github.com/anacrolix/generics" "github.com/anacrolix/log" "go.opentelemetry.io/otel" + "go.opentelemetry.io/otel/codes" "github.com/anacrolix/torrent/tracker" "github.com/anacrolix/torrent/tracker/udp" @@ -45,13 +46,18 @@ func (me *Server) HandleRequest( family udp.AddrFamily, source RequestSourceAddr, body []byte, -) error { +) (err error) { ctx, span := tracer.Start(ctx, "Server.HandleRequest") defer span.End() + defer func() { + if err != nil { + span.SetStatus(codes.Error, err.Error()) + } + }() var h udp.RequestHeader var r bytes.Reader r.Reset(body) - err := udp.Read(&r, &h) + err = udp.Read(&r, &h) if err != nil { err = fmt.Errorf("reading request header: %w", err) return err