summaryrefslogtreecommitdiffstats
path: root/net/socket/client_socket_pool_histograms.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/socket/client_socket_pool_histograms.cc')
-rw-r--r--net/socket/client_socket_pool_histograms.cc56
1 files changed, 56 insertions, 0 deletions
diff --git a/net/socket/client_socket_pool_histograms.cc b/net/socket/client_socket_pool_histograms.cc
new file mode 100644
index 0000000..769257b
--- /dev/null
+++ b/net/socket/client_socket_pool_histograms.cc
@@ -0,0 +1,56 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "net/socket/client_socket_pool_histograms.h"
+
+#include <string>
+
+#include "base/histogram.h"
+#include "net/socket/client_socket_handle.h"
+
+namespace net {
+
+ClientSocketPoolHistograms::ClientSocketPoolHistograms(
+ const std::string& pool_name) {
+ // UMA_HISTOGRAM_ENUMERATION
+ socket_type_ = LinearHistogram::FactoryGet("Net.SocketType_" + pool_name, 1,
+ ClientSocketHandle::NUM_TYPES, ClientSocketHandle::NUM_TYPES + 1,
+ Histogram::kUmaTargetedHistogramFlag);
+ // UMA_HISTOGRAM_CUSTOM_TIMES
+ request_time_ = Histogram::FactoryGet(
+ "Net.SocketRequestTime_" + pool_name,
+ base::TimeDelta::FromMilliseconds(1),
+ base::TimeDelta::FromMinutes(10),
+ 100, Histogram::kUmaTargetedHistogramFlag);
+ // UMA_HISTOGRAM_CUSTOM_TIMES
+ unused_idle_time_ = Histogram::FactoryGet(
+ "Net.SocketIdleTimeBeforeNextUse_UnusedSocket_" + pool_name,
+ base::TimeDelta::FromMilliseconds(1),
+ base::TimeDelta::FromMinutes(6),
+ 100, Histogram::kUmaTargetedHistogramFlag);
+ // UMA_HISTOGRAM_CUSTOM_TIMES
+ reused_idle_time_ = Histogram::FactoryGet(
+ "Net.SocketIdleTimeBeforeNextUse_ReusedSocket_" + pool_name,
+ base::TimeDelta::FromMilliseconds(1),
+ base::TimeDelta::FromMinutes(6),
+ 100, Histogram::kUmaTargetedHistogramFlag);
+}
+
+void ClientSocketPoolHistograms::AddSocketType(int type) const {
+ socket_type_->Add(type);
+}
+
+void ClientSocketPoolHistograms::AddRequestTime(base::TimeDelta time) const {
+ request_time_->AddTime(time);
+}
+
+void ClientSocketPoolHistograms::AddUnusedIdleTime(base::TimeDelta time) const {
+ unused_idle_time_->AddTime(time);
+}
+
+void ClientSocketPoolHistograms::AddReusedIdleTime(base::TimeDelta time) const {
+ reused_idle_time_->AddTime(time);
+}
+
+} // namespace net