Mobile/Fennec/Android/Java telemetry

From MozillaWiki
< Mobile‎ | Fennec‎ | Android
Jump to: navigation, search

For more information about the "core" ping, check out the in-tree documentation. At the time of writing (9/7/2016), this is the only ping that is uploaded via Java telemetry.

Local development

This is currently how I (mcomella) test local telemetry. It could be improved.

Start a local gzip server

  • Get a server:
    git clone https://github.com/vdjeric/gzipServer.git
  • You'll need to edit the .py file to remove the windows bindings (assuming you don't use windows)
    • Replace the first line with
#!/usr/bin/env python
  • You'll need to tell the script listen on your ip address. On OS X, run `ifconfig`, look under en0, get the "inet" address, and set HOST_NAME in the script to the first address (not the broadcast).
  • Run the server locally, using a port greater than 1024 (unless you want to run the script as privileged code with sudo):
python gzipServer.py -p <port>

Enable telemetry on local builds

  • Go to TelemetryConstants, set UPLOAD_ENABLED to true.
  • Build!
  • Go to about:config and change the "toolkit.telemetry.server" preference to the ip address you set, i.e. `http://127.0.0.1:8080`. Be sure to get http vs. https correct!

Check the results

  • If you're using a local IP, make sure your computer & your device are on the same network
  • e.g. for the core ping should be sent every time the application is opened so close and open fennec to be sure a ping is sent.
  • The gzip server output should say which file the ping was saved in
  • `cat <that-file>` to ensure your ping looks correct.

Testing production builds

  • (as of FF50) You can change the target telemetry server via the "toolkit.telemetry.server" preference.
  • You can use the gzip server specified above as an endpoint for testing.