summaryrefslogtreecommitdiffstats
path: root/net/socket/client_socket_handle.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/socket/client_socket_handle.cc')
-rw-r--r--net/socket/client_socket_handle.cc24
1 files changed, 16 insertions, 8 deletions
diff --git a/net/socket/client_socket_handle.cc b/net/socket/client_socket_handle.cc
index 6e3a587..87212b1 100644
--- a/net/socket/client_socket_handle.cc
+++ b/net/socket/client_socket_handle.cc
@@ -75,32 +75,40 @@ void ClientSocketHandle::HandleInitCompletion(int result) {
}
setup_time_ = base::TimeTicks::Now() - init_time_;
- std::string metric = "Net." + pool_->name() + "SocketType";
+ // TODO(vandebo): bug 43375: The strings passed to HISTOGRAM macros should NOT
+ // vary, as the macro snapshots the name into a static. I've temporarilly
+ // made this code use statics so that the HISTOGRAM macro will not DCHECK (and
+ // this also makes the current semantics a tiny bit more clear).
+ static std::string metric = "Net." + pool_->name() + "SocketType";
UMA_HISTOGRAM_ENUMERATION(metric, reuse_type(), NUM_TYPES);
switch (reuse_type()) {
- case ClientSocketHandle::UNUSED:
- metric = "Net." + pool_->name() + "SocketRequestTime";
+ case ClientSocketHandle::UNUSED: {
+ static std::string metric = "Net." + pool_->name() + "SocketRequestTime";
UMA_HISTOGRAM_CLIPPED_TIMES(metric, setup_time(),
base::TimeDelta::FromMilliseconds(1),
base::TimeDelta::FromMinutes(10), 100);
break;
- case ClientSocketHandle::UNUSED_IDLE:
- metric = "Net." + pool_->name() +
+ }
+ case ClientSocketHandle::UNUSED_IDLE: {
+ static std::string metric = "Net." + pool_->name() +
"SocketIdleTimeBeforeNextUse_UnusedSocket";
UMA_HISTOGRAM_CUSTOM_TIMES(metric, idle_time(),
base::TimeDelta::FromMilliseconds(1),
base::TimeDelta::FromMinutes(6), 100);
break;
- case ClientSocketHandle::REUSED_IDLE:
- metric = "Net." + pool_->name() +
+ }
+ case ClientSocketHandle::REUSED_IDLE: {
+ static std::string metric = "Net." + pool_->name() +
"SocketIdleTimeBeforeNextUse_ReusedSocket";
UMA_HISTOGRAM_CUSTOM_TIMES(metric, idle_time(),
base::TimeDelta::FromMilliseconds(1),
base::TimeDelta::FromMinutes(6), 100);
break;
- default:
+ }
+ default: {
NOTREACHED();
break;
+ }
}
}