From 277c4c2d3c89449343a3e84fc2851e0c72ef4efe Mon Sep 17 00:00:00 2001 From: lougeniac64 <5533446+lougeniaC64@users.noreply.github.com> Date: Tue, 15 Jul 2025 16:19:36 -0400 Subject: [PATCH] Added logins verification telemetry --- CHANGELOG.md | 5 +++++ automation/run_ios_tests.sh | 1 + components/logins/android/build.gradle | 1 + components/logins/{android => }/metrics.yaml | 0 .../Logins/LoginsStorage.swift | 10 +++++++++- taskcluster/scripts/build-and-test-swift.py | 1 + 6 files changed, 17 insertions(+), 1 deletion(-) rename components/logins/{android => }/metrics.yaml (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 35d1ffba95..350e1cd261 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # v143.0 (In progress) +## 🦊 What's Changed 🦊 + +### Logins +- Updated logins verification telemetry so it can be used in iOS([#6832](https://github.com/mozilla/application-services/pull/6832)) + [Full Changelog](In progress) # v142.0 (_2025-07-21_) diff --git a/automation/run_ios_tests.sh b/automation/run_ios_tests.sh index 7794d11605..cf1582930e 100755 --- a/automation/run_ios_tests.sh +++ b/automation/run_ios_tests.sh @@ -33,6 +33,7 @@ if [ "$SKIP_BUILDING" != true ]; then -g Glean \ -o ./megazords/ios-rust/Sources/MozillaRustComponentsWrapper/Generated/Glean \ "${SOURCE_ROOT}"/components/nimbus/metrics.yaml \ + "${SOURCE_ROOT}"/components/logins/metrics.yaml \ "${SOURCE_ROOT}"/components/sync_manager/metrics.yaml \ "${SOURCE_ROOT}"/components/sync_manager/pings.yaml diff --git a/components/logins/android/build.gradle b/components/logins/android/build.gradle index 0e4b657d0f..18746d89f1 100644 --- a/components/logins/android/build.gradle +++ b/components/logins/android/build.gradle @@ -9,6 +9,7 @@ apply from: "$appServicesRootDir/publish.gradle" // exposed by the plugin to be available for this project. ext { gleanNamespace = "mozilla.telemetry.glean" + gleanYamlFiles = ["${project.projectDir}/../metrics.yaml"] if (gradle.hasProperty("mozconfig")) { gleanPythonEnvDir = gradle.mozconfig.substs.GRADLE_GLEAN_PARSER_VENV } diff --git a/components/logins/android/metrics.yaml b/components/logins/metrics.yaml similarity index 100% rename from components/logins/android/metrics.yaml rename to components/logins/metrics.yaml diff --git a/megazords/ios-rust/Sources/MozillaRustComponentsWrapper/Logins/LoginsStorage.swift b/megazords/ios-rust/Sources/MozillaRustComponentsWrapper/Logins/LoginsStorage.swift index 1fcb219e0f..4c817c6f3f 100644 --- a/megazords/ios-rust/Sources/MozillaRustComponentsWrapper/Logins/LoginsStorage.swift +++ b/megazords/ios-rust/Sources/MozillaRustComponentsWrapper/Logins/LoginsStorage.swift @@ -38,7 +38,15 @@ open class LoginsStorage { /// use in the iOS logins verification process. open func deleteUndecryptableRecordsForRemoteReplacement() throws { return try queue.sync { - try self.store.deleteUndecryptableRecordsForRemoteReplacement() + let result = try self.store.deleteUndecryptableRecordsForRemoteReplacement() + + if result.localDeleted > 0 { + GleanMetrics.LoginsStore.localUndecryptableDeleted.add(Int32(result.localDeleted)) + } + + if result.mirrorDeleted > 0 { + GleanMetrics.LoginsStore.mirrorUndecryptableDeleted.add(Int32(result.mirrorDeleted)) + } } } diff --git a/taskcluster/scripts/build-and-test-swift.py b/taskcluster/scripts/build-and-test-swift.py index faf3ba8914..f5eab5fedf 100755 --- a/taskcluster/scripts/build-and-test-swift.py +++ b/taskcluster/scripts/build-and-test-swift.py @@ -135,6 +135,7 @@ def generate_glean_metrics(args): str, [ ROOT_DIR / "components/nimbus/metrics.yaml", + ROOT_DIR / "components/logins/metrics.yaml", ROOT_DIR / "components/sync_manager/metrics.yaml", ROOT_DIR / "components/sync_manager/pings.yaml", ],