Skip to content

Commit

Permalink
Remove MetricsServiceObserver in favor of MetricsProvider.
Browse files Browse the repository at this point in the history
The only user of this interface has been folded into
NetworkMetricsProvider.

BUG=409872

Review URL: https://codereview.chromium.org/532623003

Cr-Commit-Position: refs/heads/master@{#293149}
  • Loading branch information
asvitkine-chromium authored and Commit bot committed Sep 3, 2014
1 parent be17309 commit bbde62b
Show file tree
Hide file tree
Showing 17 changed files with 15 additions and 215 deletions.
21 changes: 0 additions & 21 deletions chrome/browser/chrome_browser_metrics_service_observer.cc

This file was deleted.

25 changes: 0 additions & 25 deletions chrome/browser/chrome_browser_metrics_service_observer.h

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
#include "chrome/browser/about_flags.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chrome_browser_main.h"
#include "chrome/browser/chrome_browser_metrics_service_observer.h"
#include "chrome/browser/mac/bluetooth_utility.h"
#include "chrome/browser/pref_service_flags_storage.h"
#include "chrome/browser/shell_integration.h"
Expand Down Expand Up @@ -234,12 +233,6 @@ void ChromeBrowserMainExtraPartsMetrics::PostBrowserStart() {
FROM_HERE,
base::Bind(&RecordStartupMetricsOnBlockingPool),
base::TimeDelta::FromSeconds(kStartupMetricsGatheringDelaySeconds));

// Create the metrics log observer.
// We only need this for Android for now.
#if defined(ANDROID)
metrics_service_observer_.reset(new ChromeBrowserMetricsServiceObserver());
#endif
}

namespace chrome {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
#include "chrome/browser/chrome_browser_main_extra_parts.h"

class ChromeBrowserMainParts;
class ChromeBrowserMetricsServiceObserver;

namespace chrome {
void AddMetricsExtraParts(ChromeBrowserMainParts* main_parts);
Expand All @@ -28,9 +27,6 @@ class ChromeBrowserMainExtraPartsMetrics : public ChromeBrowserMainExtraParts {
virtual void PostBrowserStart() OVERRIDE;

private:
// Observe and log histograms on new metric logs.
scoped_ptr<ChromeBrowserMetricsServiceObserver> metrics_service_observer_;

DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainExtraPartsMetrics);
};

Expand Down
2 changes: 0 additions & 2 deletions chrome/browser/metrics/chrome_metrics_service_accessor.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
#include "base/macros.h"
#include "chrome/browser/metrics/metrics_service_accessor.h"

class ChromeBrowserMetricsServiceObserver;
class Profile;

namespace {
Expand Down Expand Up @@ -40,7 +39,6 @@ class ChromeInternalLogSource;
class ChromeMetricsServiceAccessor : public MetricsServiceAccessor {
private:
friend bool prerender::IsOmniboxEnabled(Profile* profile);
friend class ::ChromeBrowserMetricsServiceObserver;
friend class ChromeRenderMessageFilter;
friend class ::CrashesDOMHandler;
friend class DataReductionProxyChromeSettings;
Expand Down
18 changes: 0 additions & 18 deletions chrome/browser/metrics/metrics_service_accessor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,12 @@

#include "chrome/browser/metrics/metrics_service_accessor.h"

#include "chrome/browser/browser_process.h"
#include "components/metrics/metrics_service.h"
#include "components/metrics/metrics_service_observer.h"

// TODO(asvitkine): Remove when this class is moved to metrics namespace.
using metrics::MetricsService;
using metrics::MetricsServiceObserver;
using metrics::SyntheticTrialGroup;

// static
void MetricsServiceAccessor::AddMetricsServiceObserver(
MetricsServiceObserver* observer) {
MetricsService* metrics_service = g_browser_process->metrics_service();
if (metrics_service)
metrics_service->AddObserver(observer);
}

void MetricsServiceAccessor::RemoveMetricsServiceObserver(
MetricsServiceObserver* observer) {
MetricsService* metrics_service = g_browser_process->metrics_service();
if (metrics_service)
metrics_service->RemoveObserver(observer);
}

// static
bool MetricsServiceAccessor::RegisterSyntheticFieldTrial(
MetricsService* metrics_service,
Expand Down
9 changes: 0 additions & 9 deletions chrome/browser/metrics/metrics_service_accessor.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,11 @@
#define CHROME_BROWSER_METRICS_METRICS_SERVICE_ACCESSOR_H_

#include <stdint.h>
#include <string>

#include "base/macros.h"

namespace metrics {
class MetricsService;
class MetricsServiceObserver;
}

// This class limits and documents access to metrics service helper methods.
Expand All @@ -24,13 +22,6 @@ class MetricsServiceAccessor {
// disallow instantiation.
MetricsServiceAccessor() {}

// Registers/unregisters |observer| to receive MetricsLog notifications
// from metrics service.
static void AddMetricsServiceObserver(
metrics::MetricsServiceObserver* observer);
static void RemoveMetricsServiceObserver(
metrics::MetricsServiceObserver* observer);

// Registers the specified synthetic field trial (identified by a hash of the
// trial name and group name) with |metrics_service|, if the service is not
// NULL, returning true on success.
Expand Down
8 changes: 8 additions & 0 deletions chrome/browser/metrics/network_metrics_provider.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@

#include "chrome/browser/metrics/network_metrics_provider.h"

#include <string>
#include <vector>

#include "base/compiler_specific.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_split.h"
Expand Down Expand Up @@ -32,6 +35,11 @@ NetworkMetricsProvider::~NetworkMetricsProvider() {
net::NetworkChangeNotifier::RemoveConnectionTypeObserver(this);
}

void NetworkMetricsProvider::OnDidCreateMetricsLog() {
net::NetworkChangeNotifier::LogOperatorCodeHistogram(
net::NetworkChangeNotifier::GetConnectionType());
}

void NetworkMetricsProvider::ProvideSystemProfileMetrics(
SystemProfileProto* system_profile) {
SystemProfileProto::Network* network = system_profile->mutable_network();
Expand Down
3 changes: 2 additions & 1 deletion chrome/browser/metrics/network_metrics_provider.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,16 @@ class NetworkMetricsProvider
NetworkMetricsProvider();
virtual ~NetworkMetricsProvider();

private:
// metrics::MetricsProvider:
virtual void OnDidCreateMetricsLog() OVERRIDE;
virtual void ProvideSystemProfileMetrics(
metrics::SystemProfileProto* system_profile) OVERRIDE;

// ConnectionTypeObserver:
virtual void OnConnectionTypeChanged(
net::NetworkChangeNotifier::ConnectionType type) OVERRIDE;

private:
metrics::SystemProfileProto::Network::ConnectionType
GetConnectionType() const;
metrics::SystemProfileProto::Network::WifiPHYLayerProtocol
Expand Down
2 changes: 0 additions & 2 deletions chrome/chrome_browser.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -244,8 +244,6 @@
'browser/chrome_browser_main_mac.mm',
'browser/chrome_browser_main_win.cc',
'browser/chrome_browser_main_win.h',
'browser/chrome_browser_metrics_service_observer.cc',
'browser/chrome_browser_metrics_service_observer.h',
'browser/chrome_content_browser_client.cc',
'browser/chrome_content_browser_client.h',
'browser/chrome_content_browser_client_parts.h',
Expand Down
2 changes: 0 additions & 2 deletions components/metrics.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@
'metrics/metrics_service.cc',
'metrics/metrics_service.h',
'metrics/metrics_service_client.h',
'metrics/metrics_service_observer.cc',
'metrics/metrics_service_observer.h',
'metrics/metrics_state_manager.cc',
'metrics/metrics_state_manager.h',
'metrics/metrics_switches.cc',
Expand Down
2 changes: 0 additions & 2 deletions components/metrics/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@ source_set("metrics") {
"metrics_service.cc",
"metrics_service.h",
"metrics_service_client.h",
"metrics_service_observer.cc",
"metrics_service_observer.h",
"metrics_state_manager.cc",
"metrics_state_manager.h",
"metrics_switches.cc",
Expand Down
14 changes: 1 addition & 13 deletions components/metrics/metrics_service.cc
Original file line number Diff line number Diff line change
Expand Up @@ -666,20 +666,8 @@ void MetricsService::GetUptimes(PrefService* pref,
}
}

void MetricsService::AddObserver(MetricsServiceObserver* observer) {
DCHECK(thread_checker_.CalledOnValidThread());
observers_.AddObserver(observer);
}

void MetricsService::RemoveObserver(MetricsServiceObserver* observer) {
DCHECK(thread_checker_.CalledOnValidThread());
observers_.RemoveObserver(observer);
}

void MetricsService::NotifyOnDidCreateMetricsLog() {
DCHECK(thread_checker_.CalledOnValidThread());
FOR_EACH_OBSERVER(
MetricsServiceObserver, observers_, OnDidCreateMetricsLog());
DCHECK(IsSingleThreaded());
for (size_t i = 0; i < metrics_providers_.size(); ++i)
metrics_providers_[i]->OnDidCreateMetricsLog();
}
Expand Down
20 changes: 4 additions & 16 deletions components/metrics/metrics_service.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,10 @@
#include "base/metrics/histogram_flattener.h"
#include "base/metrics/histogram_snapshot_manager.h"
#include "base/metrics/user_metrics.h"
#include "base/observer_list.h"
#include "base/strings/string16.h"
#include "base/threading/thread_checker.h"
#include "base/time/time.h"
#include "components/metrics/metrics_log.h"
#include "components/metrics/metrics_log_manager.h"
#include "components/metrics/metrics_provider.h"
#include "components/metrics/metrics_service_observer.h"
#include "components/variations/active_field_trials.h"

class MetricsServiceAccessor;
Expand Down Expand Up @@ -283,9 +279,7 @@ class MetricsService : public base::HistogramFlattener {
// Set up client ID, session ID, etc.
void InitializeMetricsState();

// Registers/unregisters |observer| to receive MetricsLog notifications.
void AddObserver(MetricsServiceObserver* observer);
void RemoveObserver(MetricsServiceObserver* observer);
// Notifies providers when a new metrics log is created.
void NotifyOnDidCreateMetricsLog();

// Schedule the next save of LocalState information. This is called
Expand Down Expand Up @@ -446,25 +440,19 @@ class MetricsService : public base::HistogramFlattener {
// Stores the time of the last call to |GetUptimes()|.
base::TimeTicks last_updated_time_;

// Field trial groups that map to Chrome configuration states.
SyntheticTrialGroups synthetic_trial_groups_;

// Execution phase the browser is in.
static ExecutionPhase execution_phase_;

// Reduntant marker to check that we completed our shutdown, and set the
// exited-cleanly bit in the prefs.
static ShutdownCleanliness clean_shutdown_status_;

// Field trial groups that map to Chrome configuration states.
SyntheticTrialGroups synthetic_trial_groups_;

ObserverList<MetricsServiceObserver> observers_;

// Confirms single-threaded access to |observers_| in debug builds.
base::ThreadChecker thread_checker_;

friend class ::MetricsServiceAccessor;

FRIEND_TEST_ALL_PREFIXES(MetricsServiceTest, IsPluginProcess);
FRIEND_TEST_ALL_PREFIXES(MetricsServiceTest, MetricsServiceObserver);
FRIEND_TEST_ALL_PREFIXES(MetricsServiceTest,
PermutedEntropyCacheClearedWhenLowEntropyReset);
FRIEND_TEST_ALL_PREFIXES(MetricsServiceTest, RegisterSyntheticTrial);
Expand Down
15 changes: 0 additions & 15 deletions components/metrics/metrics_service_observer.cc

This file was deleted.

29 changes: 0 additions & 29 deletions components/metrics/metrics_service_observer.h

This file was deleted.

Loading

0 comments on commit bbde62b

Please sign in to comment.