Modify ethereum provider P3A metric for native wallets that are not set up

This commit is contained in:
Darnell Andries
2022-12-05 15:14:52 -08:00
parent d7b0512d44
commit fcd465615a
4 changed files with 33 additions and 7 deletions
@@ -197,4 +197,24 @@ TEST_F(BraveWalletP3AUnitTest, ActiveAccounts) {
histogram_tester_->ExpectBucketCount(kSolActiveAccountHistogramName, 2, 1);
}
TEST_F(BraveWalletP3AUnitTest, EthProvider) {
histogram_tester_->ExpectTotalCount(kEthProviderHistogramName, 0);
wallet_p3a_->ReportEthereumProvider(mojom::EthereumProviderType::Native);
histogram_tester_->ExpectUniqueSample(kEthProviderHistogramName, 0, 1);
keyring_service_->CreateWallet("testing123", base::DoNothing());
WaitForResponse();
wallet_p3a_->ReportEthereumProvider(mojom::EthereumProviderType::Native);
histogram_tester_->ExpectBucketCount(kEthProviderHistogramName, 2, 1);
keyring_service_->Reset();
wallet_p3a_->ReportEthereumProvider(mojom::EthereumProviderType::Native);
histogram_tester_->ExpectBucketCount(kEthProviderHistogramName, 0, 2);
wallet_p3a_->ReportEthereumProvider(mojom::EthereumProviderType::ThirdParty);
histogram_tester_->ExpectBucketCount(kEthProviderHistogramName, 1, 1);
}
} // namespace brave_wallet
@@ -27,7 +27,7 @@ const char kDefaultSolanaWalletHistogramName[] =
const char kKeyringCreatedHistogramName[] = "Brave.Wallet.KeyringCreated";
const char kOnboardingConversionHistogramName[] =
"Brave.Wallet.OnboardingConversion.2";
const char kEthProviderHistogramName[] = "Brave.Wallet.EthProvider";
const char kEthProviderHistogramName[] = "Brave.Wallet.EthProvider.2";
const char kEthTransactionSentHistogramName[] =
"Brave.Wallet.EthTransactionSent";
const char kSolTransactionSentHistogramName[] =
@@ -111,7 +111,15 @@ void BraveWalletP3A::Update() {
void BraveWalletP3A::ReportEthereumProvider(
mojom::EthereumProviderType provider_type) {
UMA_HISTOGRAM_ENUMERATION(kEthProviderHistogramName, provider_type);
mojom::EthereumProviderType answer = provider_type;
if (provider_type == mojom::EthereumProviderType::Native &&
!keyring_service_->IsKeyringCreated(mojom::kDefaultKeyringId)) {
// If native wallet is the current provider, but the wallet is not setup,
// report "none".
answer = mojom::EthereumProviderType::None;
}
UMA_HISTOGRAM_ENUMERATION(kEthProviderHistogramName, answer);
}
void BraveWalletP3A::ReportOnboardingAction(
+1 -1
View File
@@ -84,7 +84,7 @@ constexpr inline auto kCollectedTypicalHistograms =
"Brave.Wallet.ActiveEthAccounts",
"Brave.Wallet.ActiveFilAccounts",
"Brave.Wallet.ActiveSolAccounts",
"Brave.Wallet.EthProvider",
"Brave.Wallet.EthProvider.2",
"Brave.Wallet.EthTransactionSent",
"Brave.Wallet.FilTransactionSent",
"Brave.Wallet.DefaultSolanaWalletSetting",
@@ -128,14 +128,14 @@ IN_PROC_BROWSER_TEST_F(JSEthereumProviderBrowserTest, AttachOnReload) {
std::string::npos);
EXPECT_EQ(browser()->tab_strip_model()->GetTabCount(), 1);
histogram_tester_->ExpectBucketCount("Brave.Wallet.EthProvider", 0, 1);
histogram_tester_->ExpectBucketCount("Brave.Wallet.EthProvider.2", 0, 1);
brave_wallet::SetDefaultEthereumWallet(
browser()->profile()->GetPrefs(),
brave_wallet::mojom::DefaultWallet::BraveWallet);
ReloadAndWaitForLoadStop();
histogram_tester_->ExpectBucketCount("Brave.Wallet.EthProvider", 2, 1);
histogram_tester_->ExpectBucketCount("Brave.Wallet.EthProvider.2", 0, 2);
auto result = content::EvalJs(primary_main_frame(), command);
EXPECT_EQ(result.error, "");
@@ -152,8 +152,6 @@ IN_PROC_BROWSER_TEST_F(JSEthereumProviderBrowserTest, AttachOnReload) {
// overwrite successfully
EXPECT_EQ(content::EvalJs(primary_main_frame(), overwrite).ExtractString(),
"test");
histogram_tester_->ExpectBucketCount("Brave.Wallet.EthProvider", 2, 2);
}
IN_PROC_BROWSER_TEST_F(JSEthereumProviderBrowserTest,