1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/metrics/network_stats_uploader.h" 6 7#include "chrome/browser/browser_process.h" 8#include "chrome/browser/metrics/time_ticks_experiment_win.h" 9#include "chrome/browser/net/network_stats.h" 10#include "chrome/common/net/test_server_locations.h" 11 12#if !defined(OS_POSIX) 13#include "chrome/installer/util/browser_distribution.h" 14#endif 15 16NetworkStatsUploader::NetworkStatsUploader() { 17#if defined(OS_POSIX) 18 network_stats_server_ = chrome_common_net::kEchoTestServerLocation; 19#else 20 BrowserDistribution* dist = BrowserDistribution::GetDistribution(); 21 network_stats_server_ = dist->GetNetworkStatsServer(); 22#endif 23} 24 25NetworkStatsUploader::~NetworkStatsUploader() { 26} 27 28void NetworkStatsUploader::CollectAndReportNetworkStats() { 29 IOThread* io_thread = g_browser_process->io_thread(); 30 if (!io_thread) 31 return; 32 33 chrome_browser_net::CollectNetworkStats(network_stats_server_, io_thread); 34#if defined(OS_WIN) 35 chrome::CollectTimeTicksStats(); 36#endif 37} 38