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

Unified Diff: net/socket/transport_client_socket_pool.cc

Issue 68793007: Added three histograms to track the following TCP connection latency (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed jar's comments Created 7 years, 1 month 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
« no previous file with comments | « net/socket/transport_client_socket_pool.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/socket/transport_client_socket_pool.cc
diff --git a/net/socket/transport_client_socket_pool.cc b/net/socket/transport_client_socket_pool.cc
index 6da3b45c43f2940801f40bbcd90ac9c61cfcd375..ec56dcba65cfa0ebb59101cb0b29f00f5c35bb87 100644
--- a/net/socket/transport_client_socket_pool.cc
+++ b/net/socket/transport_client_socket_pool.cc
@@ -96,7 +96,7 @@ TransportConnectJob::TransportConnectJob(
client_socket_factory_(client_socket_factory),
resolver_(host_resolver),
next_state_(STATE_NONE),
- less_than_20ms_since_connect_(true) {
+ interval_between_connects_(CONNECT_INTERVAL_GT_20MS) {
}
TransportConnectJob::~TransportConnectJob() {
@@ -204,11 +204,16 @@ int TransportConnectJob::DoTransportConnect() {
last_connect_time = g_last_connect_time.Get();
*g_last_connect_time.Pointer() = now;
}
- if (last_connect_time.is_null() ||
- (now - last_connect_time).InMilliseconds() < 20) {
- less_than_20ms_since_connect_ = true;
+ if (last_connect_time.is_null()) {
+ interval_between_connects_ = CONNECT_INTERVAL_GT_20MS;
} else {
- less_than_20ms_since_connect_ = false;
+ int64 interval = (now - last_connect_time).InMilliseconds();
+ if (interval <= 10)
+ interval_between_connects_ = CONNECT_INTERVAL_LE_10MS;
+ else if (interval <= 20)
+ interval_between_connects_ = CONNECT_INTERVAL_LE_20MS;
+ else
+ interval_between_connects_ = CONNECT_INTERVAL_GT_20MS;
}
next_state_ = STATE_TRANSPORT_CONNECT_COMPLETE;
@@ -247,20 +252,34 @@ int TransportConnectJob::DoTransportConnectComplete(int result) {
base::TimeDelta::FromMinutes(10),
100);
- if (less_than_20ms_since_connect_) {
- UMA_HISTOGRAM_CUSTOM_TIMES(
- "Net.TCP_Connection_Latency_Interval_20ms_Minus",
- connect_duration,
- base::TimeDelta::FromMilliseconds(1),
- base::TimeDelta::FromMinutes(10),
- 100);
- } else {
- UMA_HISTOGRAM_CUSTOM_TIMES(
- "Net.TCP_Connection_Latency_Interval_20ms_Plus",
- connect_duration,
- base::TimeDelta::FromMilliseconds(1),
- base::TimeDelta::FromMinutes(10),
- 100);
+ switch (interval_between_connects_) {
+ case CONNECT_INTERVAL_LE_10MS:
+ UMA_HISTOGRAM_CUSTOM_TIMES(
+ "Net.TCP_Connection_Latency_Interval_LessThanOrEqual_10ms",
+ connect_duration,
+ base::TimeDelta::FromMilliseconds(1),
+ base::TimeDelta::FromMinutes(10),
+ 100);
+ break;
+ case CONNECT_INTERVAL_LE_20MS:
+ UMA_HISTOGRAM_CUSTOM_TIMES(
+ "Net.TCP_Connection_Latency_Interval_LessThanOrEqual_20ms",
+ connect_duration,
+ base::TimeDelta::FromMilliseconds(1),
+ base::TimeDelta::FromMinutes(10),
+ 100);
+ break;
+ case CONNECT_INTERVAL_GT_20MS:
+ UMA_HISTOGRAM_CUSTOM_TIMES(
+ "Net.TCP_Connection_Latency_Interval_GreaterThan_20ms",
+ connect_duration,
+ base::TimeDelta::FromMilliseconds(1),
+ base::TimeDelta::FromMinutes(10),
+ 100);
+ break;
+ default:
+ NOTREACHED();
+ break;
}
if (is_ipv4) {
« no previous file with comments | « net/socket/transport_client_socket_pool.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698