From 3d87c2076636fd919eb5c3aa10d3b84139fe35e5 Mon Sep 17 00:00:00 2001
From: Matt Joiner <anacrolix@gmail.com>
Date: Wed, 15 Apr 2020 18:09:15 +1000
Subject: [PATCH] Count outgoing extended messages by extension protocol

---
 peerconn.go | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/peerconn.go b/peerconn.go
index a5153fbf..1be12891 100644
--- a/peerconn.go
+++ b/peerconn.go
@@ -863,6 +863,14 @@ func (c *PeerConn) requestPendingMetadata() {
 
 func (cn *PeerConn) wroteMsg(msg *pp.Message) {
 	torrent.Add(fmt.Sprintf("messages written of type %s", msg.Type.String()), 1)
+	if msg.Type == pp.Extended {
+		for name, id := range cn.PeerExtensionIDs {
+			if id != msg.ExtendedID {
+				continue
+			}
+			torrent.Add(fmt.Sprintf("Extended messages written for protocol %q", name), 1)
+		}
+	}
 	cn.allStats(func(cs *ConnStats) { cs.wroteMsg(msg) })
 }
 
-- 
2.51.0