[fenix] Bug28280 - Add telemetry for form data failures

pull/600/head
Cathy Lu 2 years ago committed by mergify[bot]
parent 0301d42c3e
commit d531054151

@ -540,6 +540,22 @@ events:
metadata:
tags:
- Sharing
form_data_failure:
type: event
description: |
Form data retrieval from a tab failed.
bugs:
- https://github.com/mozilla-mobile/fenix/issues/28280
data_reviews:
- https://github.com/mozilla-mobile/fenix/issues/28280#issuecomment-1376040252
notification_emails:
- android-probes@mozilla.com
data_sensitivity:
- technical
expires: 121
metadata:
tags:
- Sharing
onboarding:
syn_cfr_shown:

@ -19,6 +19,7 @@ import mozilla.components.lib.state.Middleware
import mozilla.components.lib.state.MiddlewareContext
import mozilla.components.support.base.android.Clock
import mozilla.components.support.base.log.logger.Logger
import mozilla.telemetry.glean.private.NoExtras
import org.mozilla.fenix.GleanMetrics.Events
import org.mozilla.fenix.GleanMetrics.Metrics
import org.mozilla.fenix.components.metrics.MetricController
@ -59,6 +60,9 @@ class TelemetryMiddleware(
val tab = context.state.findTabOrCustomTab(action.tabId)
onEngineSessionKilled(context.state, tab)
}
is ContentAction.CheckForFormDataExceptionAction -> {
Events.formDataFailure.record(NoExtras())
}
else -> {
// no-op
}

@ -350,6 +350,17 @@ class TelemetryMiddlewareTest {
assertNull(EngineMetrics.killForegroundAge.testGetValue())
assertEquals(600_000_000, EngineMetrics.killBackgroundAge.testGetValue()!!.sum)
}
@Test
fun `GIVEN the request to check for form data WHEN it fails THEN telemetry is sent`() {
assertNull(Events.formDataFailure.testGetValue())
store.dispatch(
ContentAction.CheckForFormDataExceptionAction("1", RuntimeException("session form data request failed")),
).joinBlocking()
assertNotNull(Events.formDataFailure.testGetValue())
}
}
internal class FakeClock : Clock.Delegate {

Loading…
Cancel
Save