Commit 14603e24 authored by gagansingh@google.com's avatar gagansingh@google.com

Previously i was recording number of RTT's vs Kilobytes of data downloaded per...

Previously i was recording number of RTT's vs Kilobytes of data downloaded per http transaction. This was generating lots of histograms.
Removing them for efficiency.

Review URL: http://codereview.chromium.org/7714020

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98562 0039d316-1c4b-4281-b951-d872f2087c98
parent f746f106
......@@ -127,43 +127,7 @@ bool HttpBasicStream::IsSpdyHttpStream() const {
}
void HttpBasicStream::LogNumRttVsBytesMetrics() const {
int socket_reuse_policy = GetSocketReusePolicy();
if (socket_reuse_policy > 2 || socket_reuse_policy < 0) {
return;
}
int64 total_bytes_read = connection_->socket()->NumBytesRead();
int64 bytes_received = total_bytes_read - bytes_read_offset_;
int64 num_kb = bytes_received / 1024;
double rtt = connection_->socket()->GetConnectTimeMicros().ToInternalValue();
rtt /= 1000.0;
if (num_kb < 1024 && rtt > 0) { // Ignore responses > 1MB
base::TimeDelta duration = base::Time::Now() -
response_->request_time;
double num_rtt = static_cast<double>(duration.InMilliseconds()) / rtt;
int64 num_rtt_scaled = (4 * num_rtt);
static const char* const kGroups[] = {
"warmest_socket", "warm_socket", "last_accessed_socket"
};
int bucket = (num_kb / 5) * 5;
const std::string histogram(StringPrintf("Net.Num_RTT_vs_KB_%s_%dKB",
kGroups[socket_reuse_policy],
bucket));
base::Histogram* counter = base::Histogram::FactoryGet(
histogram, 0, 1000, 2, base::Histogram::kUmaTargetedHistogramFlag);
DCHECK_EQ(histogram, counter->histogram_name());
counter->Add(num_rtt_scaled);
VLOG(2) << StringPrintf("%s\nrtt = %f\tnum_rtt = %f\t"
"num_kb = %" PRId64 "\t"
"total bytes = %" PRId64 "\t"
"histogram = %s",
request_line_.data(),
rtt, num_rtt, num_kb, total_bytes_read,
histogram.data());
}
// Log rtt metrics here.
}
} // namespace net
......@@ -333,34 +333,6 @@ static const char kExpectedNPNString[] = "\x08http/1.1\x06spdy/2";
static const char kAlternateProtocolHttpHeader[] =
"Alternate-Protocol: 443:npn-spdy/2\r\n\r\n";
TEST_F(HttpNetworkTransactionTest, LogNumRttVsBytesMetrics_WarmestSocket) {
MockRead data_reads[1000];
data_reads[0] = MockRead("HTTP/1.0 200 OK\r\n\r\n");
for (int i = 1; i < 999; i++) {
data_reads[i] = MockRead("Gagan is a good boy!");
}
data_reads[999] = MockRead(false, OK);
net::SetSocketReusePolicy(0);
SimpleGetHelperResult out = SimpleGetHelper(data_reads,
arraysize(data_reads));
base::Histogram* histogram = NULL;
base::StatisticsRecorder::FindHistogram(
"Net.Num_RTT_vs_KB_warmest_socket_15KB", &histogram);
CHECK(histogram);
base::Histogram::SampleSet sample_set;
histogram->SnapshotSample(&sample_set);
EXPECT_EQ(1, sample_set.TotalCount());
EXPECT_EQ(OK, out.rv);
EXPECT_EQ("HTTP/1.0 200 OK", out.status_line);
}
// TODO(gagansingh): Add test for LogNumRttVsBytesMetrics_LastAccessSocket once
// it is possible to clear histograms from previous tests.
TEST_F(HttpNetworkTransactionTest, Basic) {
SessionDependencies session_deps;
scoped_ptr<HttpTransaction> trans(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment