Home | History | Annotate | Download | only in metrics
      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 
     16 NetworkStatsUploader::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 
     25 NetworkStatsUploader::~NetworkStatsUploader() {
     26 }
     27 
     28 void 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