Mobile/Fennec/Android/Java telemetry
From MozillaWiki
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.
Contents
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.