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

Issue 7056031: Collect stats to investigate the viability of UDP (Closed)

Created:
9 years, 7 months ago by ramant (doing other things)
Modified:
9 years, 6 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, darin-cc_chromium.org, Paweł Hajdan Jr., jar (doing other things)
Visibility:
Public.

Description

Collect stats to investigate the viability of UDP connectivity from the browser (first cut). Collect stats for TCP connectivity also. - What percentage of users can get a message end-to-end to an TCP and UDP server. - What is the latency for TCP and UDP messages. Added TCP and UDP echo servers to testserver.py for unittests. BUG=82565 TEST=udp tests Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=88495

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : '' #

Patch Set 7 : '' #

Patch Set 8 : '' #

Patch Set 9 : '' #

Patch Set 10 : '' #

Patch Set 11 : '' #

Patch Set 12 : '' #

Patch Set 13 : '' #

Patch Set 14 : '' #

Patch Set 15 : '' #

Total comments: 28

Patch Set 16 : '' #

Patch Set 17 : '' #

Patch Set 18 : '' #

Patch Set 19 : '' #

Patch Set 20 : '' #

Patch Set 21 : '' #

Patch Set 22 : '' #

Patch Set 23 : '' #

Patch Set 24 : '' #

Patch Set 25 : '' #

Patch Set 26 : '' #

Patch Set 27 : '' #

Patch Set 28 : '' #

Total comments: 6

Patch Set 29 : '' #

Patch Set 30 : '' #

Patch Set 31 : '' #

Patch Set 32 : '' #

Patch Set 33 : '' #

Total comments: 16

Patch Set 34 : '' #

Patch Set 35 : '' #

Patch Set 36 : '' #

Total comments: 18

Patch Set 37 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+978 lines, -146 lines) Patch
M chrome/browser/metrics/metrics_service.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 2 chunks +9 lines, -0 lines 0 comments Download
M chrome/browser/metrics/metrics_service.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 5 chunks +10 lines, -0 lines 0 comments Download
A chrome/browser/net/network_stats.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +221 lines, -0 lines 0 comments Download
A chrome/browser/net/network_stats.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +430 lines, -0 lines 0 comments Download
A chrome/browser/net/network_stats_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 1 chunk +99 lines, -0 lines 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/chrome_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +1 line, -0 lines 0 comments Download
M chrome/installer/util/browser_distribution.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/installer/util/browser_distribution.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/installer/util/chrome_frame_distribution.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/installer/util/chrome_frame_distribution.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/installer/util/google_chrome_distribution.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/installer/util/google_chrome_distribution.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/installer/util/google_chrome_distribution_dummy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +5 lines, -0 lines 0 comments Download
A + net/base/test_data_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +15 lines, -55 lines 0 comments Download
A net/base/test_data_stream.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +68 lines, -0 lines 0 comments Download
M net/curvecp/test_client.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +1 line, -1 line 0 comments Download
D net/curvecp/test_data_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +0 lines, -88 lines 0 comments Download
M net/curvecp/test_server.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +1 line, -1 line 0 comments Download
M net/net.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +2 lines, -0 lines 0 comments Download
M net/test/test_server.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +2 lines, -0 lines 0 comments Download
M net/test/test_server.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 2 chunks +8 lines, -0 lines 0 comments Download
M net/tools/testserver/testserver.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 6 chunks +84 lines, -1 line 0 comments Download

Messages

Total messages: 10 (0 generated)
ramant (doing other things)
Hi Mike,Willchan and Jim, This is a first cut at sending a small packet for ...
9 years, 7 months ago (2011-05-27 07:02:46 UTC) #1
Mike Belshe
Thanks Raman - A few comments. Codewise, checking the return value of Send is important. ...
9 years, 7 months ago (2011-05-27 21:27:00 UTC) #2
ramant (doing other things)
Hi Mike, Many many thanks for your comments. Made all the changes you and jar ...
9 years, 6 months ago (2011-05-31 21:25:36 UTC) #3
Mike Belshe
LGTM http://codereview.chromium.org/7056031/diff/25014/chrome/browser/net/network_stats.cc File chrome/browser/net/network_stats.cc (right): http://codereview.chromium.org/7056031/diff/25014/chrome/browser/net/network_stats.cc#newcode314 chrome/browser/net/network_stats.cc:314: tcp_stats_client->Start(server_address, 5, NULL); One last thing - what ...
9 years, 6 months ago (2011-06-03 18:25:32 UTC) #4
willchan no longer on Chromium
http://codereview.chromium.org/7056031/diff/57057/chrome/browser/net/network_stats.h File chrome/browser/net/network_stats.h (right): http://codereview.chromium.org/7056031/diff/57057/chrome/browser/net/network_stats.h#newcode75 chrome/browser/net/network_stats.h:75: virtual void Finish(Status status, int result) {} I think ...
9 years, 6 months ago (2011-06-04 19:26:51 UTC) #5
ramant (doing other things)
Many many thanks Mike and William for your comments (made all the changes you had ...
9 years, 6 months ago (2011-06-05 17:54:12 UTC) #6
willchan no longer on Chromium
Am I right that this does blocking IO on the IO thread? If so, this ...
9 years, 6 months ago (2011-06-06 09:25:49 UTC) #7
ramant (doing other things)
Hi willchan, Made all the changes you had mentioned and we had talked about. sync'ed ...
9 years, 6 months ago (2011-06-07 20:54:00 UTC) #8
willchan no longer on Chromium
LGTM, just nits left. http://codereview.chromium.org/7056031/diff/70004/chrome/browser/metrics/metrics_service.cc File chrome/browser/metrics/metrics_service.cc (right): http://codereview.chromium.org/7056031/diff/70004/chrome/browser/metrics/metrics_service.cc#newcode442 chrome/browser/metrics/metrics_service.cc:442: io_thread_(NULL), Is this on the ...
9 years, 6 months ago (2011-06-08 14:07:02 UTC) #9
ramant (doing other things)
9 years, 6 months ago (2011-06-08 17:47:17 UTC) #10
Hi willchan,
  Many many thanks for the code review. Made all the changes you had suggested
(except initializing io_thread in metrics_service constructor).

thanks much,
raman

http://codereview.chromium.org/7056031/diff/70004/chrome/browser/metrics/metr...
File chrome/browser/metrics/metrics_service.cc (right):

http://codereview.chromium.org/7056031/diff/70004/chrome/browser/metrics/metr...
chrome/browser/metrics/metrics_service.cc:442: io_thread_(NULL),
On 2011/06/08 14:07:02, willchan wrote:
> Is this on the UI thread? If so, why not just initialize io_thread_ here?

metrics_service is started before other threads are created. When I tried to
access io_thread, it started creating io_thread and we run into DCHECK because
io_thread is being started out of order.

http://codereview.chromium.org/7056031/diff/70004/chrome/browser/metrics/metr...
File chrome/browser/metrics/metrics_service.h (right):

http://codereview.chromium.org/7056031/diff/70004/chrome/browser/metrics/metr...
chrome/browser/metrics/metrics_service.h:368: // network_stats_server_ host.
On 2011/06/08 14:07:02, willchan wrote:
> Maybe you should document that this is only safe to access on the IO thread?

Done.

http://codereview.chromium.org/7056031/diff/70004/chrome/browser/net/network_...
File chrome/browser/net/network_stats.cc (right):

http://codereview.chromium.org/7056031/diff/70004/chrome/browser/net/network_...
chrome/browser/net/network_stats.cc:54: read_buffer_ = NULL;
On 2011/06/08 14:07:02, willchan wrote:
> Is this necessary? We already use a scoped_refptr.

Done.

http://codereview.chromium.org/7056031/diff/70004/chrome/browser/net/network_...
chrome/browser/net/network_stats.cc:105: bool NetworkStats::ReadComplete(int
result) {
On 2011/06/08 14:07:02, willchan wrote:
> Add a DCHECK_NE(net::ERR_IO_PENDING, result);

Done.

http://codereview.chromium.org/7056031/diff/70004/chrome/browser/net/network_...
chrome/browser/net/network_stats.cc:133: void NetworkStats::OnWriteComplete(int
result) {
On 2011/06/08 14:07:02, willchan wrote:
> DCHECK_NE(net::ERR_IO_PENDING, result)

Done.

http://codereview.chromium.org/7056031/diff/70004/chrome/browser/net/network_...
chrome/browser/net/network_stats.cc:398: size_t kMaxNumberOfTests = INT_MAX;
On 2011/06/08 14:07:02, willchan wrote:
> const size_t

Done.

http://codereview.chromium.org/7056031/diff/70004/chrome/browser/net/network_...
File chrome/browser/net/network_stats.h (right):

http://codereview.chromium.org/7056031/diff/70004/chrome/browser/net/network_...
chrome/browser/net/network_stats.h:102: net::Socket* socket_;
On 2011/06/08 14:07:02, willchan wrote:
> Why isn't this a scoped_ptr?

Done.

http://codereview.chromium.org/7056031/diff/70004/chrome/chrome_browser.gypi
File chrome/chrome_browser.gypi (right):

http://codereview.chromium.org/7056031/diff/70004/chrome/chrome_browser.gypi#...
chrome/chrome_browser.gypi:1421: 'browser/net/network_stats.cc',
On 2011/06/08 14:07:02, willchan wrote:
> Sort alphabetically

Done.

http://codereview.chromium.org/7056031/diff/70004/chrome/chrome_tests.gypi
File chrome/chrome_tests.gypi (right):

http://codereview.chromium.org/7056031/diff/70004/chrome/chrome_tests.gypi#ne...
chrome/chrome_tests.gypi:1471: 'browser/net/network_stats_unittest.cc',
On 2011/06/08 14:07:02, willchan wrote:
> sort alphabetically

Done.

Powered by Google App Engine
This is Rietveld 408576698