From: Matt Joiner <anacrolix@gmail.com>
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
+}