Skip to content

Commit 0ede158

Browse files
committed
Cleaning up telemetry
1 parent 1662c2c commit 0ede158

File tree

4 files changed

+10
-246
lines changed

4 files changed

+10
-246
lines changed

firefox-ios/Client/Glean/probes/metrics.yaml

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1450,27 +1450,6 @@ firefox_home_page:
14501450
notification_emails:
14511451
14521452
expires: "2026-01-01"
1453-
recently_saved_bookmark_view:
1454-
type: event
1455-
description: |
1456-
Counts the number of bookmarked items appearing
1457-
in the Recently Saved section on the home page.
1458-
extra_keys:
1459-
bookmark_count:
1460-
type: string
1461-
description: |
1462-
The number of bookmarked items in the
1463-
Recently Saved section.
1464-
bugs:
1465-
- https://github.com/mozilla-mobile/firefox-ios/pull/8656
1466-
data_reviews:
1467-
- https://github.com/mozilla-mobile/firefox-ios/pull/8656
1468-
- https://github.com/mozilla-mobile/firefox-ios/pull/9673
1469-
- https://github.com/mozilla-mobile/firefox-ios/pull/12334
1470-
- https://github.com/mozilla-mobile/firefox-ios/pull/14102
1471-
notification_emails:
1472-
1473-
expires: "2026-01-01"
14741453
reading_list_view:
14751454
type: event
14761455
description: |
@@ -1751,24 +1730,6 @@ firefox_home_page:
17511730
notification_emails:
17521731
17531732
expires: "2026-01-01"
1754-
firefox_homepage_origin:
1755-
type: labeled_counter
1756-
description: |
1757-
The number of times a user sees the Firefox Homepage,
1758-
with a home page origin.
1759-
labels:
1760-
- zero-search
1761-
- origin-other
1762-
bugs:
1763-
- https://github.com/mozilla-mobile/firefox-ios/pull/9494
1764-
data_reviews:
1765-
- https://github.com/mozilla-mobile/firefox-ios/pull/9494
1766-
- https://github.com/mozilla-mobile/firefox-ios/pull/9673
1767-
- https://github.com/mozilla-mobile/firefox-ios/pull/12334
1768-
- https://github.com/mozilla-mobile/firefox-ios/pull/14102
1769-
notification_emails:
1770-
1771-
expires: "2026-01-01"
17721733
pocket_stories_visible:
17731734
type: boolean
17741735
description: |

firefox-ios/Client/Telemetry/HomepageTelemetry.swift

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ struct HomepageTelemetry {
3333
}
3434
}
3535

36+
private enum EventValue: String {
37+
case fxHomepageOriginZeroSearch = "zero-search"
38+
case fxHomepageOriginOther = "origin-other"
39+
}
40+
3641
private let gleanWrapper: GleanWrapper
3742
init(gleanWrapper: GleanWrapper = DefaultGleanWrapper()) {
3843
self.gleanWrapper = gleanWrapper
@@ -69,7 +74,7 @@ struct HomepageTelemetry {
6974
}
7075

7176
func sendTopSitesPressedEvent(position: Int, tileType: String, isZeroSearch: Bool) {
72-
let originExtra: TelemetryWrapper.EventValue = isZeroSearch ? .fxHomepageOriginZeroSearch : .fxHomepageOriginOther
77+
let originExtra: EventValue = isZeroSearch ? .fxHomepageOriginZeroSearch : .fxHomepageOriginOther
7378
gleanWrapper.incrementLabeledCounter(
7479
for: GleanMetrics.TopSites.pressedTileOrigin,
7580
label: originExtra.rawValue
@@ -82,7 +87,7 @@ struct HomepageTelemetry {
8287

8388
// MARK: - Pocket
8489
func sendTapOnPocketStoryCounter(position: Int, isZeroSearch: Bool) {
85-
let originExtra: TelemetryWrapper.EventValue = isZeroSearch ? .fxHomepageOriginZeroSearch : .fxHomepageOriginOther
90+
let originExtra: EventValue = isZeroSearch ? .fxHomepageOriginZeroSearch : .fxHomepageOriginOther
8691
gleanWrapper.incrementLabeledCounter(for: GleanMetrics.Pocket.openStoryOrigin, label: originExtra.rawValue)
8792
gleanWrapper.incrementLabeledCounter(for: GleanMetrics.Pocket.openStoryPosition, label: "position-\(position)")
8893
}

firefox-ios/Client/Telemetry/TelemetryWrapper.swift

Lines changed: 2 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -489,13 +489,9 @@ extension TelemetryWrapper {
489489
case mediumQuickActionCopiedLink = "medium-quick-action-copied-link"
490490
case mediumQuickActionClosePrivate = "medium-quick-action-close-private"
491491
case mediumTopSitesWidget = "medium-top-sites-widget"
492-
case topSiteTile = "top-site-tile"
493-
case topSiteContextualMenu = "top-site-contextual-menu"
494-
case pocketStory = "pocket-story"
495-
case pocketSectionImpression = "pocket-section-impression"
496492
// MARK: - App menu
497-
case homePageMenu = "homepage-menu"
498-
case siteMenu = "site-menu"
493+
case homePageMenu = "homepage-menu" // Legacy photon menu
494+
case siteMenu = "site-menu" // Legacy photon menu
499495
case home = "home-page"
500496
case blockImagesEnabled = "block-images-enabled"
501497
case blockImagesDisabled = "block-images-disabled"
@@ -533,12 +529,8 @@ extension TelemetryWrapper {
533529
case requestMobileSite = "request-mobile-site"
534530
case pinToTopSites = "pin-to-top-sites"
535531
case removePinnedSite = "remove-pinned-site"
536-
case firefoxHomepage = "firefox-homepage"
537532
case wallpaperSettings = "wallpaper-settings"
538533
case contextualHint = "contextual-hint"
539-
case jumpBackInTileImpressions = "jump-back-in-tile-impressions"
540-
case syncedTabTileImpressions = "synced-tab-tile-impressions"
541-
case bookmarkImpressions = "bookmark-impressions"
542534
case reload = "reload"
543535
case reloadFromUrlBar = "reload-from-url-bar"
544536
case fxaLoginWebpage = "fxa-login-webpage"
@@ -562,9 +554,6 @@ extension TelemetryWrapper {
562554
case activityStream = "activity-stream"
563555
case appIcon = "app-icon"
564556
case appMenu = "app-menu"
565-
case bookmarkItemAction = "bookmark-item-action"
566-
case bookmarkSectionShowAll = "bookmark-section-show-all"
567-
case bookmarkItemView = "bookmark-item-view"
568557
case browser = "browser"
569558
case contextMenu = "context-menu"
570559
case downloadCompleteToast = "download-complete-toast"
@@ -598,23 +587,12 @@ extension TelemetryWrapper {
598587
case downloadsPanel = "downloads-panel"
599588
case syncPanel = "sync-panel"
600589
case yourLibrarySection = "your-library-section"
601-
case jumpBackInSectionShowAll = "jump-back-in-section-show-all"
602590
case jumpBackInSectionTabOpened = "jump-back-in-section-tab-opened"
603-
case jumpBackInSectionGroupOpened = "jump-back-in-section-group-opened"
604-
case jumpBackInSectionSyncedTabShowAll = "jump-back-in-section-synced-tab-show-all"
605-
case jumpBackInSectionSyncedTabOpened = "jump-back-in-section-synced-tab-opened"
606-
case topSite = "top-site"
607-
case pocketSite = "pocket-site"
608-
case customizeHomepageButton = "customize-homepage-button"
609591
case wallpaperSelected = "wallpaper-selected"
610592
case dismissCFRFromButton = "dismiss-cfr-from-button"
611593
case dismissCFRFromOutsideTap = "dismiss-cfr-from-outside-tap"
612594
case pressCFRActionButton = "press-cfr-action-button"
613-
case fxHomepageOrigin = "firefox-homepage-origin"
614-
case fxHomepageOriginZeroSearch = "zero-search"
615-
case fxHomepageOriginOther = "origin-other"
616595
case addBookmarkToast = "add-bookmark-toast"
617-
case openHomeFromAwesomebar = "open-home-from-awesomebar"
618596
case openHomeFromPhotonMenuButton = "open-home-from-photon-menu-button"
619597
case openRecentlyClosedTab = "openRecentlyClosedTab"
620598
case closeGroupedTab = "recordCloseGroupedTab"
@@ -644,11 +622,6 @@ extension TelemetryWrapper {
644622
case isDefaultBrowser = "is-default-browser"
645623
case didComeFromBrowserChoiceScreen = "did-come-from-browser-choice-screen"
646624

647-
case topSitePosition = "tilePosition"
648-
case topSiteTileType = "tileType"
649-
case contextualMenuType = "contextualMenuType"
650-
case pocketTilePosition = "pocketTilePosition"
651-
case fxHomepageOrigin = "fxHomepageOrigin"
652625
case tabsQuantity = "tabsQuantity"
653626
case recordSearchLocation = "recordSearchLocation"
654627
case recordSearchEngineID = "recordSearchEngineID"
@@ -793,26 +766,6 @@ extension TelemetryWrapper {
793766
case(.action, .swipe, .historySingleItemRemoved, _, _):
794767
GleanMetrics.History.removed.record()
795768

796-
// MARK: Top Site
797-
case (.action, .tap, .topSiteTile, _, let extras):
798-
if let homePageOrigin = extras?[EventExtraKey.fxHomepageOrigin.rawValue] as? String {
799-
GleanMetrics.TopSites.pressedTileOrigin[homePageOrigin].add()
800-
}
801-
802-
if let position = extras?[EventExtraKey.topSitePosition.rawValue] as? String, let tileType = extras?[EventExtraKey.topSiteTileType.rawValue] as? String {
803-
GleanMetrics.TopSites.tilePressed.record(GleanMetrics.TopSites.TilePressedExtra(position: position, tileType: tileType))
804-
} else {
805-
recordUninstrumentedMetrics(category: category, method: method, object: object, value: value, extras: extras)
806-
}
807-
808-
case (.action, .view, .topSiteContextualMenu, _, let extras):
809-
if let type = extras?[EventExtraKey.contextualMenuType.rawValue] as? String {
810-
GleanMetrics.TopSites.contextualMenu.record(GleanMetrics.TopSites.ContextualMenuExtra(type: type))
811-
} else {
812-
recordUninstrumentedMetrics(category: category, method: method, object: object, value: value, extras: extras)
813-
}
814-
case (.action, .tap, .newPrivateTab, .topSite, _):
815-
GleanMetrics.TopSites.openInPrivateTab.record()
816769
// MARK: Preferences
817770
case (.action, .change, .setting, _, _):
818771
assertionFailure("Please record telemetry for settings using the SettingsTelemetry().changedSetting() method")
@@ -1266,22 +1219,6 @@ extension TelemetryWrapper {
12661219
case (.action, .open, .mediumTopSitesWidget, _, _):
12671220
GleanMetrics.Widget.mTopSitesWidget.add()
12681221

1269-
// MARK: Pocket
1270-
case (.action, .tap, .pocketStory, _, let extras):
1271-
if let homePageOrigin = extras?[EventExtraKey.fxHomepageOrigin.rawValue] as? String {
1272-
GleanMetrics.Pocket.openStoryOrigin[homePageOrigin].add()
1273-
}
1274-
1275-
if let position = extras?[EventExtraKey.pocketTilePosition.rawValue] as? String {
1276-
GleanMetrics.Pocket.openStoryPosition["position-"+position].add()
1277-
} else {
1278-
recordUninstrumentedMetrics(category: category, method: method, object: object, value: value, extras: extras)
1279-
}
1280-
case (.action, .view, .pocketSectionImpression, _, _):
1281-
GleanMetrics.Pocket.sectionImpressions.add()
1282-
case (.action, .tap, .newPrivateTab, .pocketSite, _):
1283-
GleanMetrics.Pocket.openInPrivateTab.record()
1284-
12851222
// History Panel related
12861223
case (.action, .tap, .selectedHistoryItem, let type?, _):
12871224
GleanMetrics.History.selectedItem[type.rawValue].add()
@@ -1481,62 +1418,7 @@ extension TelemetryWrapper {
14811418
}
14821419
case (.action, .tap, .newPrivateTab, .tabTray, _):
14831420
GleanMetrics.TabsTray.newPrivateTabTapped.record()
1484-
// MARK: Firefox Homepage
1485-
case (.action, .view, .firefoxHomepage, .fxHomepageOrigin, let extras):
1486-
if let homePageOrigin = extras?[EventExtraKey.fxHomepageOrigin.rawValue] as? String {
1487-
GleanMetrics.FirefoxHomePage.firefoxHomepageOrigin[homePageOrigin].add()
1488-
}
1489-
case (.action, .open, .firefoxHomepage, .openHomeFromAwesomebar, _):
1490-
GleanMetrics.FirefoxHomePage.openFromAwesomebar.add()
1491-
case (.action, .open, .firefoxHomepage, .openHomeFromPhotonMenuButton, _):
1492-
GleanMetrics.FirefoxHomePage.openFromMenuHomeButton.add()
1493-
1494-
case (.action, .view, .firefoxHomepage, .bookmarkItemView, let extras):
1495-
if let bookmarksCount = extras?[EventObject.bookmarkImpressions.rawValue] as? String {
1496-
GleanMetrics.FirefoxHomePage.recentlySavedBookmarkView.record(GleanMetrics.FirefoxHomePage.RecentlySavedBookmarkViewExtra(bookmarkCount: bookmarksCount))
1497-
}
1498-
case (.action, .tap, .firefoxHomepage, .bookmarkSectionShowAll, let extras):
1499-
GleanMetrics.FirefoxHomePage.recentlySavedShowAll.add()
1500-
if let homePageOrigin = extras?[EventExtraKey.fxHomepageOrigin.rawValue] as? String {
1501-
GleanMetrics.FirefoxHomePage.recentlySavedShowAllOrigin[homePageOrigin].add()
1502-
}
1503-
case (.action, .tap, .firefoxHomepage, .bookmarkItemAction, let extras):
1504-
GleanMetrics.FirefoxHomePage.recentlySavedBookmarkItem.add()
1505-
if let homePageOrigin = extras?[EventExtraKey.fxHomepageOrigin.rawValue] as? String {
1506-
GleanMetrics.FirefoxHomePage.recentlySavedBookmarkOrigin[homePageOrigin].add()
1507-
}
1508-
case (.action, .tap, .firefoxHomepage, .jumpBackInSectionShowAll, let extras):
1509-
GleanMetrics.FirefoxHomePage.jumpBackInShowAll.add()
1510-
if let homePageOrigin = extras?[EventExtraKey.fxHomepageOrigin.rawValue] as? String {
1511-
GleanMetrics.FirefoxHomePage.jumpBackInShowAllOrigin[homePageOrigin].add()
1512-
}
1513-
case (.action, .view, .jumpBackInTileImpressions, _, _):
1514-
GleanMetrics.FirefoxHomePage.jumpBackInTileView.add()
1515-
case (.action, .tap, .firefoxHomepage, .jumpBackInSectionTabOpened, let extras):
1516-
GleanMetrics.FirefoxHomePage.jumpBackInTabOpened.add()
1517-
if let homePageOrigin = extras?[EventExtraKey.fxHomepageOrigin.rawValue] as? String {
1518-
GleanMetrics.FirefoxHomePage.jumpBackInTabOpenedOrigin[homePageOrigin].add()
1519-
}
1520-
case (.action, .tap, .firefoxHomepage, .jumpBackInSectionGroupOpened, let extras):
1521-
GleanMetrics.FirefoxHomePage.jumpBackInGroupOpened.add()
1522-
if let homePageOrigin = extras?[EventExtraKey.fxHomepageOrigin.rawValue] as? String {
1523-
GleanMetrics.FirefoxHomePage.jumpBackInGroupOpenOrigin[homePageOrigin].add()
1524-
}
1525-
case (.action, .tap, .firefoxHomepage, .jumpBackInSectionSyncedTabShowAll, let extras):
1526-
GleanMetrics.FirefoxHomePage.syncedTabShowAll.add()
1527-
if let homePageOrigin = extras?[EventExtraKey.fxHomepageOrigin.rawValue] as? String {
1528-
GleanMetrics.FirefoxHomePage.syncedTabShowAllOrigin[homePageOrigin].add()
1529-
}
1530-
case (.action, .tap, .firefoxHomepage, .jumpBackInSectionSyncedTabOpened, let extras):
1531-
GleanMetrics.FirefoxHomePage.syncedTabOpened.add()
1532-
if let homePageOrigin = extras?[EventExtraKey.fxHomepageOrigin.rawValue] as? String {
1533-
GleanMetrics.FirefoxHomePage.syncedTabOpenedOrigin[homePageOrigin].add()
1534-
}
1535-
case (.action, .view, .syncedTabTileImpressions, _, _):
1536-
GleanMetrics.FirefoxHomePage.syncedTabTileView.add()
15371421

1538-
case (.action, .tap, .firefoxHomepage, .customizeHomepageButton, _):
1539-
GleanMetrics.FirefoxHomePage.customizeHomepageButton.add()
15401422
// MARK: - Wallpaper related
15411423
case (.action, .tap, .wallpaperSettings, .wallpaperSelected, let extras):
15421424
if let name = extras?[EventExtraKey.wallpaperName.rawValue] as? String,
@@ -1727,14 +1609,4 @@ extension TelemetryWrapper {
17271609
description: "\(category), \(method), \(object), \(String(describing: value)), \(String(describing: extras))")
17281610
}
17291611
}
1730-
1731-
// MARK: - Firefox Home Page
1732-
extension TelemetryWrapper {
1733-
/// Bundle the extras dictionary for the home page origin
1734-
static func getOriginExtras(isZeroSearch: Bool) -> [String: String] {
1735-
let origin = isZeroSearch ? TelemetryWrapper.EventValue.fxHomepageOriginZeroSearch : TelemetryWrapper.EventValue.fxHomepageOriginOther
1736-
return [TelemetryWrapper.EventExtraKey.fxHomepageOrigin.rawValue: origin.rawValue]
1737-
}
1738-
}
1739-
17401612
// swiftlint:enable line_length

firefox-ios/firefox-ios-tests/Tests/ClientTests/TelemetryWrapperTests.swift

Lines changed: 1 addition & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -68,43 +68,7 @@ class TelemetryWrapperTests: XCTestCase {
6868
failureMessage: "Incorrect mobile bookmarks quantity returned.")
6969
}
7070

71-
// MARK: - Top Site
72-
73-
func test_topSiteTileWithExtras_GleanIsCalled() throws {
74-
let topSitePositionKey = TelemetryWrapper.EventExtraKey.topSitePosition.rawValue
75-
let topSiteTileTypeKey = TelemetryWrapper.EventExtraKey.topSiteTileType.rawValue
76-
let extras = [topSitePositionKey: "\(1)", topSiteTileTypeKey: "history-based"]
77-
TelemetryWrapper.recordEvent(
78-
category: .action,
79-
method: .tap,
80-
object: .topSiteTile,
81-
value: nil,
82-
extras: extras
83-
)
84-
85-
try testEventMetricRecordingSuccess(metric: GleanMetrics.TopSites.tilePressed)
86-
}
87-
88-
func test_topSiteTileWithoutExtras_GleanIsNotCalled() {
89-
TelemetryWrapper.recordEvent(
90-
category: .action,
91-
method: .tap,
92-
object: .topSiteTile,
93-
value: nil
94-
)
95-
XCTAssertNil(GleanMetrics.TopSites.tilePressed.testGetValue())
96-
}
97-
98-
func test_topSiteContextualMenuWithoutExtra_GleanIsNotCalled() {
99-
TelemetryWrapper.recordEvent(
100-
category: .action,
101-
method: .view,
102-
object: .topSiteContextualMenu,
103-
value: nil,
104-
extras: nil
105-
)
106-
XCTAssertNil(GleanMetrics.TopSites.contextualMenu.testGetValue())
107-
}
71+
// MARK: - Sponsored shortcuts
10872

10973
func test_sponsoredShortcuts_GleanIsCalled() {
11074
TelemetryWrapper.recordEvent(
@@ -119,44 +83,6 @@ class TelemetryWrapperTests: XCTestCase {
11983
failureMessage: "Sponsored shortcut value not tracked")
12084
}
12185

122-
// MARK: - Firefox Home Page
123-
124-
func test_recentlySavedBookmarkViewWithExtras_GleanIsCalled() throws {
125-
let extras: [String: Any] = [TelemetryWrapper.EventObject.bookmarkImpressions.rawValue: "\([String]().count)"]
126-
TelemetryWrapper.recordEvent(
127-
category: .action,
128-
method: .view,
129-
object: .firefoxHomepage,
130-
value: .bookmarkItemView,
131-
extras: extras
132-
)
133-
134-
try testEventMetricRecordingSuccess(metric: GleanMetrics.FirefoxHomePage.recentlySavedBookmarkView)
135-
}
136-
137-
func test_recentlySavedBookmarkViewWithoutExtras_GleanIsNotCalled() {
138-
TelemetryWrapper.recordEvent(
139-
category: .action,
140-
method: .view,
141-
object: .firefoxHomepage,
142-
value: .bookmarkItemView
143-
)
144-
XCTAssertNil(GleanMetrics.FirefoxHomePage.recentlySavedBookmarkView.testGetValue())
145-
}
146-
147-
func test_firefoxHomePageAddView_GleanIsCalled() {
148-
let extras = [ExtraKey.fxHomepageOrigin.rawValue: ValueKey.fxHomepageOriginZeroSearch.rawValue]
149-
TelemetryWrapper.recordEvent(
150-
category: .action,
151-
method: .view,
152-
object: .firefoxHomepage,
153-
value: .fxHomepageOrigin,
154-
extras: extras
155-
)
156-
157-
testLabeledMetricSuccess(metric: GleanMetrics.FirefoxHomePage.firefoxHomepageOrigin)
158-
}
159-
16086
// MARK: - CFR Analytics
16187

16288
func test_contextualHintDismissButtonWithoutExtras_GleanIsNotCalled() {

0 commit comments

Comments
 (0)