Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add vertical tabs P3A metrics #18834

Merged
merged 4 commits into from
Jun 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions browser/brave_browser_process.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,7 @@ class LocalhostPermissionComponent;
} // namespace localhost_permission

namespace misc_metrics {
class MenuMetrics;
class PrivacyHubMetrics;
class ProcessMiscMetrics;
} // namespace misc_metrics

namespace request_otr {
Expand Down Expand Up @@ -148,8 +147,7 @@ class BraveBrowserProcess {
#endif
virtual brave_ads::ResourceComponent* resource_component() = 0;
virtual brave::BraveFarblingService* brave_farbling_service() = 0;
virtual misc_metrics::MenuMetrics* menu_metrics() = 0;
virtual misc_metrics::PrivacyHubMetrics* privacy_hub_metrics() = 0;
virtual misc_metrics::ProcessMiscMetrics* process_misc_metrics() = 0;
};

extern BraveBrowserProcess* g_brave_browser_process;
Expand Down
28 changes: 9 additions & 19 deletions browser/brave_browser_process_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include "brave/browser/brave_stats/brave_stats_updater.h"
#include "brave/browser/component_updater/brave_component_updater_configurator.h"
#include "brave/browser/component_updater/brave_component_updater_delegate.h"
#include "brave/browser/misc_metrics/process_misc_metrics.h"
#include "brave/browser/net/brave_system_request_handler.h"
#include "brave/browser/profiles/brave_profile_manager.h"
#include "brave/browser/themes/brave_dark_mode_utils.h"
Expand All @@ -38,8 +39,6 @@
#include "brave/components/debounce/common/features.h"
#include "brave/components/https_upgrade_exceptions/browser/https_upgrade_exceptions_service.h"
#include "brave/components/localhost_permission/localhost_permission_component.h"
#include "brave/components/misc_metrics/menu_metrics.h"
#include "brave/components/misc_metrics/privacy_hub_metrics.h"
#include "brave/components/ntp_background_images/browser/ntp_background_images_service.h"
#include "brave/components/p3a/buildflags.h"
#include "brave/components/p3a/histograms_braveizer.h"
Expand Down Expand Up @@ -141,8 +140,8 @@ BraveBrowserProcessImpl::BraveBrowserProcessImpl(StartupData* startup_data)
// early initialize brave stats
brave_stats_updater();

// early initialize menu metrics
menu_metrics();
// early initialize misc metrics
process_misc_metrics();
}

void BraveBrowserProcessImpl::Init() {
Expand Down Expand Up @@ -526,20 +525,11 @@ brave::BraveFarblingService* BraveBrowserProcessImpl::brave_farbling_service() {
return brave_farbling_service_.get();
}

misc_metrics::MenuMetrics* BraveBrowserProcessImpl::menu_metrics() {
#if !BUILDFLAG(IS_ANDROID)
if (!menu_metrics_) {
menu_metrics_ = std::make_unique<misc_metrics::MenuMetrics>(local_state());
}
#endif
return menu_metrics_.get();
}

misc_metrics::PrivacyHubMetrics*
BraveBrowserProcessImpl::privacy_hub_metrics() {
if (!privacy_hub_metrics_) {
privacy_hub_metrics_ =
std::make_unique<misc_metrics::PrivacyHubMetrics>(local_state());
misc_metrics::ProcessMiscMetrics*
BraveBrowserProcessImpl::process_misc_metrics() {
if (!process_misc_metrics_) {
process_misc_metrics_ =
std::make_unique<misc_metrics::ProcessMiscMetrics>(local_state());
}
return privacy_hub_metrics_.get();
return process_misc_metrics_.get();
}
9 changes: 3 additions & 6 deletions browser/brave_browser_process_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,7 @@ class DebounceComponentInstaller;
} // namespace debounce

namespace misc_metrics {
class MenuMetrics;
class PrivacyHubMetrics;
class ProcessMiscMetrics;
} // namespace misc_metrics

namespace request_otr {
Expand Down Expand Up @@ -153,8 +152,7 @@ class BraveBrowserProcessImpl : public BraveBrowserProcess,
brave_vpn::BraveVPNOSConnectionAPI* brave_vpn_os_connection_api() override;
#endif
brave::BraveFarblingService* brave_farbling_service() override;
misc_metrics::MenuMetrics* menu_metrics() override;
misc_metrics::PrivacyHubMetrics* privacy_hub_metrics() override;
misc_metrics::ProcessMiscMetrics* process_misc_metrics() override;

private:
// BrowserProcessImpl overrides:
Expand Down Expand Up @@ -231,8 +229,7 @@ class BraveBrowserProcessImpl : public BraveBrowserProcess,
#endif

std::unique_ptr<brave::BraveFarblingService> brave_farbling_service_;
std::unique_ptr<misc_metrics::MenuMetrics> menu_metrics_;
std::unique_ptr<misc_metrics::PrivacyHubMetrics> privacy_hub_metrics_;
std::unique_ptr<misc_metrics::ProcessMiscMetrics> process_misc_metrics_;
std::unique_ptr<brave_ads::BraveStatsHelper> brave_stats_helper_;

SEQUENCE_CHECKER(sequence_checker_);
Expand Down
5 changes: 2 additions & 3 deletions browser/brave_local_state_prefs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#include "brave/browser/brave_stats/brave_stats_updater.h"
#include "brave/browser/metrics/buildflags/buildflags.h"
#include "brave/browser/metrics/metrics_reporting_util.h"
#include "brave/browser/misc_metrics/process_misc_metrics.h"
#include "brave/browser/ntp_background/ntp_p3a_helper_impl.h"
#include "brave/browser/playlist/playlist_service_factory.h"
#include "brave/browser/themes/brave_dark_mode_utils.h"
Expand All @@ -25,7 +26,6 @@
#include "brave/components/constants/pref_names.h"
#include "brave/components/decentralized_dns/core/utils.h"
#include "brave/components/misc_metrics/general_browser_usage.h"
#include "brave/components/misc_metrics/menu_metrics.h"
#include "brave/components/misc_metrics/page_metrics_service.h"
#include "brave/components/misc_metrics/privacy_hub_metrics.h"
#include "brave/components/ntp_background_images/browser/ntp_background_images_service.h"
Expand Down Expand Up @@ -136,11 +136,10 @@ void RegisterLocalStatePrefs(PrefRegistrySimple* registry) {

brave_wallet::RegisterLocalStatePrefs(registry);

misc_metrics::MenuMetrics::RegisterPrefs(registry);
misc_metrics::ProcessMiscMetrics::RegisterPrefs(registry);
misc_metrics::PageMetricsService::RegisterPrefs(registry);
brave_ads::BraveStatsHelper::RegisterLocalStatePrefs(registry);
misc_metrics::GeneralBrowserUsage::RegisterPrefs(registry);
misc_metrics::PrivacyHubMetrics::RegisterPrefs(registry);

playlist::PlaylistServiceFactory::RegisterLocalStatePrefs(registry);
}
Expand Down
5 changes: 4 additions & 1 deletion browser/misc_metrics/privacy_hub_metrics_factory_android.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,17 @@

#include "base/android/jni_android.h"
#include "brave/browser/brave_browser_process.h"
#include "brave/browser/misc_metrics/process_misc_metrics.h"
#include "brave/build/android/jni_headers/PrivacyHubMetricsFactory_jni.h"
#include "brave/components/misc_metrics/privacy_hub_metrics.h"

namespace chrome {
namespace android {
static jlong JNI_PrivacyHubMetricsFactory_GetInterfaceToPrivacyHubMetrics(
JNIEnv* env) {
auto pending = g_brave_browser_process->privacy_hub_metrics()->MakeRemote();
auto pending = g_brave_browser_process->process_misc_metrics()
->privacy_hub_metrics()
->MakeRemote();

return static_cast<jlong>(pending.PassPipe().release().value());
}
Expand Down
55 changes: 55 additions & 0 deletions browser/misc_metrics/process_misc_metrics.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/* Copyright (c) 2023 The Brave Authors. All rights reserved.
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at https://mozilla.org/MPL/2.0/. */

#include "brave/browser/misc_metrics/process_misc_metrics.h"

#include "components/prefs/pref_registry_simple.h"
#include "components/prefs/pref_service.h"

#if !BUILDFLAG(IS_ANDROID)
#include "brave/browser/misc_metrics/vertical_tab_metrics.h"
#include "brave/components/misc_metrics/menu_metrics.h"
#else
#include "brave/components/misc_metrics/privacy_hub_metrics.h"
#endif

namespace misc_metrics {

ProcessMiscMetrics::ProcessMiscMetrics(PrefService* local_state) {
#if !BUILDFLAG(IS_ANDROID)
menu_metrics_ = std::make_unique<MenuMetrics>(local_state);
vertical_tab_metrics_ = std::make_unique<VerticalTabMetrics>(local_state);
#else
privacy_hub_metrics_ =
std::make_unique<misc_metrics::PrivacyHubMetrics>(local_state);
#endif
}

ProcessMiscMetrics::~ProcessMiscMetrics() = default;

#if !BUILDFLAG(IS_ANDROID)
MenuMetrics* ProcessMiscMetrics::menu_metrics() {
return menu_metrics_.get();
}

VerticalTabMetrics* ProcessMiscMetrics::vertical_tab_metrics() {
return vertical_tab_metrics_.get();
}
#else
PrivacyHubMetrics* ProcessMiscMetrics::privacy_hub_metrics() {
return privacy_hub_metrics_.get();
}
#endif

void ProcessMiscMetrics::RegisterPrefs(PrefRegistrySimple* registry) {
#if !BUILDFLAG(IS_ANDROID)
MenuMetrics::RegisterPrefs(registry);
VerticalTabMetrics::RegisterPrefs(registry);
#else
PrivacyHubMetrics::RegisterPrefs(registry);
#endif
}

} // namespace misc_metrics
53 changes: 53 additions & 0 deletions browser/misc_metrics/process_misc_metrics.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/* Copyright (c) 2023 The Brave Authors. All rights reserved.
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at https://mozilla.org/MPL/2.0/. */

#ifndef BRAVE_BROWSER_MISC_METRICS_PROCESS_MISC_METRICS_H_
#define BRAVE_BROWSER_MISC_METRICS_PROCESS_MISC_METRICS_H_

#include <memory>

#include "build/build_config.h"

class PrefRegistrySimple;
class PrefService;

namespace misc_metrics {

#if !BUILDFLAG(IS_ANDROID)
class MenuMetrics;
class VerticalTabMetrics;
#else
class PrivacyHubMetrics;
#endif

class ProcessMiscMetrics {
public:
explicit ProcessMiscMetrics(PrefService* local_state);
~ProcessMiscMetrics();

ProcessMiscMetrics(const ProcessMiscMetrics&) = delete;
ProcessMiscMetrics& operator=(const ProcessMiscMetrics&) = delete;

static void RegisterPrefs(PrefRegistrySimple* registry);

#if !BUILDFLAG(IS_ANDROID)
MenuMetrics* menu_metrics();
VerticalTabMetrics* vertical_tab_metrics();
#else
PrivacyHubMetrics* privacy_hub_metrics();
#endif

private:
#if !BUILDFLAG(IS_ANDROID)
std::unique_ptr<MenuMetrics> menu_metrics_;
std::unique_ptr<VerticalTabMetrics> vertical_tab_metrics_;
#else
std::unique_ptr<PrivacyHubMetrics> privacy_hub_metrics_;
#endif
};

} // namespace misc_metrics

#endif // BRAVE_BROWSER_MISC_METRICS_PROCESS_MISC_METRICS_H_
9 changes: 9 additions & 0 deletions browser/misc_metrics/sources.gni
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,17 @@ brave_browser_misc_metrics_sources = [
"//brave/browser/misc_metrics/page_metrics_service_factory.h",
"//brave/browser/misc_metrics/page_metrics_tab_helper.cc",
"//brave/browser/misc_metrics/page_metrics_tab_helper.h",
"//brave/browser/misc_metrics/process_misc_metrics.cc",
"//brave/browser/misc_metrics/process_misc_metrics.h",
]

if (!is_android) {
brave_browser_misc_metrics_sources += [
"//brave/browser/misc_metrics/vertical_tab_metrics.cc",
"//brave/browser/misc_metrics/vertical_tab_metrics.h",
]
}

brave_browser_misc_metrics_deps = [
"//brave/browser:browser_process",
"//brave/browser/profiles:util",
Expand Down
Loading