Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(338)

Unified Diff: webrtc/p2p/base/port.cc

Issue 1940493002: Add Stats to Stun ping. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Add three more counters for stun ping. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/p2p/base/port.cc
diff --git a/webrtc/p2p/base/port.cc b/webrtc/p2p/base/port.cc
index fbc64f2e0a784175a2f1f94ae25bac4aca3b710a..562df1abf1156046a39e954099dbc4954f9de479 100644
--- a/webrtc/p2p/base/port.cc
+++ b/webrtc/p2p/base/port.cc
@@ -597,6 +597,9 @@ void Port::SendBindingResponse(StunMessage* request,
<< "Sent STUN ping response"
<< ", to=" << addr.ToSensitiveString()
<< ", id=" << rtc::hex_encode(response.transaction_id());
+
+ // Update the stats of corresponding connection.
+ conn->sent_ping_responses_++;
}
}
@@ -806,10 +809,16 @@ Connection::Connection(Port* port,
send_rate_tracker_(100, 10u),
sent_packets_discarded_(0),
sent_packets_total_(0),
+ sent_ping_requests_total_(0),
+ sent_ping_requests_before_first_response_(0),
+ sent_ping_responses_(0),
+ recv_ping_requests_(0),
+ recv_ping_responses_(0),
reported_(false),
state_(STATE_WAITING),
receiving_timeout_(WEAK_CONNECTION_RECEIVE_TIMEOUT),
- time_created_ms_(rtc::TimeMillis()) {
+ time_created_ms_(rtc::TimeMillis()),
+ received_first_response_(false) {
// All of our connections start in WAITING state.
// TODO(mallinath) - Start connections from STATE_FROZEN.
// Wire up to send stun packets
@@ -992,6 +1001,8 @@ void Connection::HandleBindingRequest(IceMessage* msg) {
return;
}
+ recv_ping_requests_++;
+
// This is a validated stun request from remote peer.
port_->SendBindingResponse(msg, remote_addr);
@@ -1256,6 +1267,10 @@ void Connection::OnConnectionRequestResponse(ConnectionRequest* request,
}
rtt_ = (RTT_RATIO * rtt_ + rtt) / (RTT_RATIO + 1);
+ recv_ping_responses_++;
+ if (!received_first_response_) {
+ received_first_response_ = true;
+ }
MaybeAddPrflxCandidate(request, response);
}
@@ -1304,6 +1319,10 @@ void Connection::OnConnectionRequestSent(ConnectionRequest* request) {
LOG_JV(sev, this) << "Sent STUN ping"
<< ", id=" << rtc::hex_encode(request->id())
<< ", use_candidate=" << use_candidate;
+ sent_ping_requests_total_++;
+ if (!received_first_response_) {
+ sent_ping_requests_before_first_response_++;
+ }
}
void Connection::HandleRoleConflictFromPeer() {
@@ -1377,6 +1396,26 @@ size_t Connection::sent_total_packets() {
return sent_packets_total_;
}
+size_t Connection::sent_ping_requests_total() {
+ return sent_ping_requests_total_;
+}
+
+size_t Connection::sent_ping_requests_before_first_response() {
+ return sent_ping_requests_before_first_response_;
+}
+
+size_t Connection::sent_ping_responses() {
+ return sent_ping_responses_;
+}
+
+size_t Connection::recv_ping_responses() {
+ return recv_ping_responses_;
+}
+
+size_t Connection::recv_ping_requests() {
+ return recv_ping_requests_;
+}
+
void Connection::MaybeAddPrflxCandidate(ConnectionRequest* request,
StunMessage* response) {
// RFC 5245

Powered by Google App Engine
This is Rietveld 408576698