Add Stats to Stun ping.
Add sent_ping_requests, recv_ping_responses to ConnectionInfo.
recv_ping_responses_ will be incremented when OnConnectionRequestResponse() is called.
ent_ping_requests_ will be incremented when OnConnectionRequestSent() is called.
BUG=webrtc:5695
Review-Url: https://codereview.webrtc.org/1940493002
Cr-Commit-Position: refs/heads/master@{#13001}
diff --git a/webrtc/api/statscollector.cc b/webrtc/api/statscollector.cc
index df1d0aa..ab191d1 100644
--- a/webrtc/api/statscollector.cc
+++ b/webrtc/api/statscollector.cc
@@ -629,12 +629,19 @@
AddCandidateReport(info.remote_candidate, false)->id());
const Int64ForAdd int64s[] = {
- { StatsReport::kStatsValueNameBytesReceived, info.recv_total_bytes },
- { StatsReport::kStatsValueNameBytesSent, info.sent_total_bytes },
- { StatsReport::kStatsValueNamePacketsSent, info.sent_total_packets },
- { StatsReport::kStatsValueNameRtt, info.rtt },
- { StatsReport::kStatsValueNameSendPacketsDiscarded,
- info.sent_discarded_packets },
+ {StatsReport::kStatsValueNameBytesReceived, info.recv_total_bytes},
+ {StatsReport::kStatsValueNameBytesSent, info.sent_total_bytes},
+ {StatsReport::kStatsValueNamePacketsSent, info.sent_total_packets},
+ {StatsReport::kStatsValueNameRtt, info.rtt},
+ {StatsReport::kStatsValueNameSendPacketsDiscarded,
+ info.sent_discarded_packets},
+ {StatsReport::kStatsValueNameSentPingRequestsTotal,
+ info.sent_ping_requests_total},
+ {StatsReport::kStatsValueNameSentPingRequestsBeforeFirstResponse,
+ info.sent_ping_requests_before_first_response},
+ {StatsReport::kStatsValueNameSentPingResponses, info.sent_ping_responses},
+ {StatsReport::kStatsValueNameRecvPingRequests, info.recv_ping_requests},
+ {StatsReport::kStatsValueNameRecvPingResponses, info.recv_ping_responses},
};
for (const auto& i : int64s)
report->AddInt64(i.name, i.value);
diff --git a/webrtc/api/statstypes.cc b/webrtc/api/statstypes.cc
index 61af824..9e5e176 100644
--- a/webrtc/api/statstypes.cc
+++ b/webrtc/api/statstypes.cc
@@ -414,6 +414,18 @@
return "googBucketDelay";
case kStatsValueNameBandwidthLimitedResolution:
return "googBandwidthLimitedResolution";
+ // STUN ping related attributes.
+ // TODO(zhihuang) Rename these stats to follow the standards.
+ case kStatsValueNameSentPingRequestsTotal:
+ return "requestsSent";
+ case kStatsValueNameSentPingRequestsBeforeFirstResponse:
+ return "consentRequestsSent";
+ case kStatsValueNameSentPingResponses:
+ return "responsesSent";
+ case kStatsValueNameRecvPingRequests:
+ return "requestsReceived";
+ case kStatsValueNameRecvPingResponses:
+ return "responsesReceived";
// Candidate related attributes. Values are taken from
// http://w3c.github.io/webrtc-stats/#rtcstatstype-enum*.
diff --git a/webrtc/api/statstypes.h b/webrtc/api/statstypes.h
index 4f58b97..093bdbf 100644
--- a/webrtc/api/statstypes.h
+++ b/webrtc/api/statstypes.h
@@ -116,6 +116,11 @@
kStatsValueNameSsrc,
kStatsValueNameState,
kStatsValueNameTransportId,
+ kStatsValueNameSentPingRequestsTotal,
+ kStatsValueNameSentPingRequestsBeforeFirstResponse,
+ kStatsValueNameSentPingResponses,
+ kStatsValueNameRecvPingRequests,
+ kStatsValueNameRecvPingResponses,
// Internal StatsValue names.
kStatsValueNameAccelerateRate,