Closed Bug 1335917 Opened 7 years ago Closed 7 years ago

Enable pingsender support for Telemetry on Fennec

Categories

(Firefox for Android Graveyard :: Metrics, defect)

ARM
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: gsvelto, Unassigned)

References

(Blocks 1 open bug)

Details

+++ This bug was initially created as a clone of Bug #1310703 +++

In bug 1310703 we're adding support for sending telemetry pings using the pingsender executable. Due to the significant differences in how Fennec runs compared to desktop Firefox we didn't add support for it in that bug. This one is to explicitly track enabling the pingsender on Fennec.
The more important question is whether we need this on Fennec, as Fennec Telemetry works a bit different.
E.g. it already gets low-latency user data through the "core" ping.

I'll move it for triaging into the Android Metrics component, feel free to move this back if that makes more sense.
Component: Telemetry → Metrics
Product: Toolkit → Firefox for Android
(In reply to Georg Fritzsche [:gfritzsche] from comment #1)
> The more important question is whether we need this on Fennec, as Fennec
> Telemetry works a bit different.
> E.g. it already gets low-latency user data through the "core" ping.

Does this apply to crashes too? The original reason for the pingsender was to be able to send the ping from the crashreporter (which works differently in Fennec) rather than having to wait for Firefox to restart.
Flags: needinfo?(gfritzsche)
(In reply to Gabriele Svelto [:gsvelto] from comment #2)
> (In reply to Georg Fritzsche [:gfritzsche] from comment #1)
> > The more important question is whether we need this on Fennec, as Fennec
> > Telemetry works a bit different.
> > E.g. it already gets low-latency user data through the "core" ping.
> 
> Does this apply to crashes too? The original reason for the pingsender was
> to be able to send the ping from the crashreporter (which works differently
> in Fennec) rather than having to wait for Firefox to restart.

This does not apply to crashes.

It's probably best to look specifically at how to send crash data from Fennec here.
I assume the goal is to get crash Telemetry data from Fennec.
Is this aimed at Gecko crash data specifically?
Or looking at Fennec crash data holistically (java + gecko)?

For sending Telemetry:
There a Java ping uploader implemented that should probably be used here. [0] [1]
Enabling the pingsender is another option (i wonder if that actually works well on Android though).

:snorp or :sebastian should be looped in here for planning.

Another thing to keep in mind:
Data usage on mobile is usually more limited and can be subject to pay-per-use etc.
What data usage is ok should be something for the mobile team to decide.

0: https://dxr.mozilla.org/mozilla-central/source/mobile/android/base/java/org/mozilla/gecko/telemetry
1: https://dxr.mozilla.org/mozilla-central/source/mobile/android/base/java/org/mozilla/gecko/telemetry/TelemetryUploadService.java
2: https://dxr.mozilla.org/mozilla-central/source/mobile/android/geckoview/src/main/java/org/mozilla/gecko/CrashHandler.java
Flags: needinfo?(gfritzsche) → needinfo?(ddurst)
Flags: needinfo?(ddurst) → needinfo?(gsvelto)
(In reply to Georg Fritzsche [:gfritzsche] from comment #3)
> I assume the goal is to get crash Telemetry data from Fennec.
> Is this aimed at Gecko crash data specifically?
> Or looking at Fennec crash data holistically (java + gecko)?

I'd say both but I don't know how Java crashes are handled, I've seen the Java-based activity that's used as the crashreporter in action only for gecko crashes, not Java ones though I assume it handles both.

> For sending Telemetry:
> There a Java ping uploader implemented that should probably be used here.
> [0] [1]

Excellent, that's all we need. pingsender was designed specifically to send pings outside of Gecko but in Fennec we already have a piece of code running outside of gecko (the crashreporter activity) so we don't need it.

> Another thing to keep in mind:
> Data usage on mobile is usually more limited and can be subject to
> pay-per-use etc.
> What data usage is ok should be something for the mobile team to decide.

Indeed. We've discussed trimming the stack traces we send in the crash ping during the all-hands so we're likely to do that too to reduce data usage.
Flags: needinfo?(gsvelto)
Hi Gabriele
May I know the action item for this bug?
I'm kind of lost here
Flags: needinfo?(gsvelto)
I'm still investigating how this bug should be addressed so I've got nothing actionable yet.
Flags: needinfo?(gsvelto)
Depends on: 1405490
After discussing this with :mcomella I've come to the conclusion that Fennec doesn't need pingsender support, since Fennec-specific telemetry already provides everything needed to send low-latency pings. I'll open a separate bug to add crash pings to Fennec because those aren't supported yet though.
Status: NEW → RESOLVED
Closed: 7 years ago
No longer depends on: 1405490
Resolution: --- → INVALID
Blocks: 1416078
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.