connection.go | 6 ++++-- global.go | 6 ++++-- diff --git a/connection.go b/connection.go index 05c5f5ea44a0406e95d852b3d8a89e4289c669a9..da1d97b7aaebc2a9860ec8d0e50ae3a7f05f2bd7 100644 --- a/connection.go +++ b/connection.go @@ -234,7 +234,7 @@ return cn.peerHasAll || cn.peerPieces.Contains(piece) } func (cn *connection) Post(msg pp.Message) { - postedMessageTypes.Add(strconv.FormatInt(int64(msg.Type), 10), 1) + messageTypesPosted.Add(strconv.FormatInt(int64(msg.Type), 10), 1) cn.postedBuffer.Write(msg.MustMarshalBinary()) cn.writerCond.Broadcast() } @@ -408,6 +408,7 @@ buf.Write(cn.postedBuffer.Bytes()) cn.postedBuffer.Reset() if buf.Len() == 0 { cn.fillWriteBuffer(func(msg pp.Message) bool { + cn.wroteMsg(&msg) buf.Write(msg.MustMarshalBinary()) return buf.Len() < 1<<16 }) @@ -662,6 +663,7 @@ } } func (cn *connection) wroteMsg(msg *pp.Message) { + messageTypesSent.Add(strconv.FormatInt(int64(msg.Type), 10), 1) cn.stats.wroteMsg(msg) cn.t.stats.wroteMsg(msg) } @@ -742,7 +744,7 @@ if msg.Keepalive { receivedKeepalives.Add(1) continue } - receivedMessageTypes.Add(strconv.FormatInt(int64(msg.Type), 10), 1) + messageTypesReceived.Add(strconv.FormatInt(int64(msg.Type), 10), 1) switch msg.Type { case pp.Choke: c.PeerChoked = true diff --git a/global.go b/global.go index 9e357c5678ab8e8fb52101880eb8c00af8d42946..fe1901cbbfa94b33e1de5f26359fef688d3fc626 100644 --- a/global.go +++ b/global.go @@ -80,13 +80,15 @@ // Count of connections to peer with same client ID. connsToSelf = expvar.NewInt("connsToSelf") // Number of completed connections to a client we're already connected with. duplicateClientConns = expvar.NewInt("duplicateClientConns") - receivedMessageTypes = expvar.NewMap("receivedMessageTypes") receivedKeepalives = expvar.NewInt("receivedKeepalives") supportedExtensionMessages = expvar.NewMap("supportedExtensionMessages") - postedMessageTypes = expvar.NewMap("postedMessageTypes") postedKeepalives = expvar.NewInt("postedKeepalives") // Requests received for pieces we don't have. requestsReceivedForMissingPieces = expvar.NewInt("requestsReceivedForMissingPieces") + + messageTypesReceived = expvar.NewMap("messageTypesReceived") + messageTypesSent = expvar.NewMap("messageTypesSent") + messageTypesPosted = expvar.NewMap("messageTypesPosted") // Track the effectiveness of Torrent.connPieceInclinationPool. pieceInclinationsReused = expvar.NewInt("pieceInclinationsReused")