in swift-source/all/SyncManager/SyncManagerTelemetry.swift [28:76]
func processSyncTelemetry(syncTelemetry: RustSyncTelemetryPing,
submitGlobalPing: (NoReasonCodes?) -> Void = GleanMetrics.Pings.shared.sync.submit,
submitHistoryPing: (NoReasonCodes?) -> Void = GleanMetrics.Pings.shared.historySync.submit,
submitBookmarksPing: (NoReasonCodes?) -> Void
= GleanMetrics.Pings.shared.bookmarksSync.submit,
submitLoginsPing: (NoReasonCodes?) -> Void
= GleanMetrics.Pings.shared.loginsSync.submit,
submitCreditCardsPing: (NoReasonCodes?) -> Void
= GleanMetrics.Pings.shared.creditcardsSync.submit,
submitTabsPing: (NoReasonCodes?) -> Void = GleanMetrics.Pings.shared.tabsSync.submit) throws
{
for syncInfo in syncTelemetry.syncs {
_ = SyncMetrics.syncUuid.generateAndSet()
if let failureReason = syncInfo.failureReason {
recordFailureReason(reason: failureReason,
failureReasonMetric: SyncMetrics.failureReason)
}
for engineInfo in syncInfo.engines {
switch engineInfo.name {
case SupportedEngines.Bookmarks.rawValue:
try individualBookmarksSync(hashedFxaUid: syncTelemetry.uid,
engineInfo: engineInfo)
submitBookmarksPing(nil)
case SupportedEngines.History.rawValue:
try individualHistorySync(hashedFxaUid: syncTelemetry.uid,
engineInfo: engineInfo)
submitHistoryPing(nil)
case SupportedEngines.Logins.rawValue:
try individualLoginsSync(hashedFxaUid: syncTelemetry.uid,
engineInfo: engineInfo)
submitLoginsPing(nil)
case SupportedEngines.CreditCards.rawValue:
try individualCreditCardsSync(hashedFxaUid: syncTelemetry.uid,
engineInfo: engineInfo)
submitCreditCardsPing(nil)
case SupportedEngines.Tabs.rawValue:
try individualTabsSync(hashedFxaUid: syncTelemetry.uid,
engineInfo: engineInfo)
submitTabsPing(nil)
default:
let message = "Ignoring telemetry for engine \(engineInfo.name)"
throw TelemetryReportingError.UnsupportedEngine(message: message)
}
}
submitGlobalPing(nil)
}
}