From: Matt Joiner Date: Mon, 11 Jul 2022 01:38:06 +0000 (+1000) Subject: Trace some webrtcNetConn use X-Git-Tag: v1.47.0~1^2~4 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=0a4c4168812fd2c8e7c85e384d04b382d7e35cf7;p=btrtrc.git Trace some webrtcNetConn use --- diff --git a/webrtc.go b/webrtc.go index 4a86e892..aff1e0a3 100644 --- a/webrtc.go +++ b/webrtc.go @@ -1,6 +1,9 @@ package torrent import ( + "go.opentelemetry.io/otel" + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/trace" "net" "strconv" "time" @@ -56,13 +59,26 @@ func (me webrtcNetConn) RemoteAddr() net.Addr { // PeerConnection or on the channel or some transport? func (w webrtcNetConn) SetDeadline(t time.Time) error { + w.Span.AddEvent("SetDeadline", trace.WithAttributes(attribute.String("time", t.String()))) return nil } func (w webrtcNetConn) SetReadDeadline(t time.Time) error { + w.Span.AddEvent("SetReadDeadline", trace.WithAttributes(attribute.String("time", t.String()))) return nil } func (w webrtcNetConn) SetWriteDeadline(t time.Time) error { + w.Span.AddEvent("SetWriteDeadline", trace.WithAttributes(attribute.String("time", t.String()))) return nil } + +func (w webrtcNetConn) Read(b []byte) (n int, err error) { + _, span := otel.Tracer(tracerName).Start(w.Context, "Read") + defer span.End() + span.SetAttributes(attribute.Int("buf_len", len(b))) + n, err = w.ReadWriteCloser.Read(b) + span.RecordError(err) + span.SetAttributes(attribute.Int("bytes_read", n)) + return +}