Mobile/Fennec/Android/Java telemetry: Difference between revisions

From MozillaWiki
< Mobile‎ | Fennec‎ | Android
Jump to navigation Jump to search
(Created page with "== Local development == This is currently how I (mcomella) test local telemetry. It could be improved. === Start a local gzip server === * Get a server: <pre>git clone https:...")
 
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
For more information about the "core" ping, check out the [https://gecko.readthedocs.io/en/latest/toolkit/components/telemetry/telemetry/data/core-ping.html in-tree documentation]. At the time of writing (9/7/2016), this is the only ping that is uploaded via Java telemetry.
== Local development ==
== Local development ==
This is currently how I (mcomella) test local telemetry. It could be improved.
This is currently how I (mcomella) test local telemetry. It could be improved.
Line 5: Line 7:
* Get a server: <pre>git clone https://github.com/vdjeric/gzipServer.git</pre>
* Get a server: <pre>git clone https://github.com/vdjeric/gzipServer.git</pre>
* You'll need to edit the .py file to remove the windows bindings (assuming you don't use windows)
* You'll need to edit the .py file to remove the windows bindings (assuming you don't use windows)
* 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 put in in the script.
** Replace the first line with
* Run the server locally: <pre>python gzipServer.py -p <port></pre>
#!/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):
<pre>python gzipServer.py -p <port></pre>


=== Enable telemetry on local builds ===
=== Enable telemetry on local builds ===
* Go to TelemetryConstants, set UPLOAD_ENABLED to true, and change the DEFAULT_SERVER_URL to the ip address you set, i.e. `http://127.0.0.1:8080`. Be sure to get http vs. https correct!
* Go to TelemetryConstants, set UPLOAD_ENABLED to true.
* Build!
* 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 ===
=== 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.
* 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
* The gzip server output should say which file the ping was saved in
* `cat <that-file>` to ensure your ping looks correct.
* `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.

Latest revision as of 17:58, 7 September 2016

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.