Developer Tools Menu (Fire TV)
The Developer Tools Menu provides a number of options that provide real-time metrics and other information about your app. This information can assist you in troubleshooting, development, and testing.
- Invoke the Developer Tools Menu
- System X-Ray
- Advanced Options
- Snapshot
- Record & Share
- Safezone
- Developer Options
- Network Proxy
- Clear Credential Storage
- Launch Network Advisor
- See Also
Invoke the Developer Tools Menu
You can invoke the Developer Tools menu in several ways:
- Remote Control: On the directional pad, press and hold the Center button for a second; then (still holding down Center), press the Down button too. Hold both buttons for about 3-4 seconds. Then release both buttons and press the remote's Menu button. (If this doesn't work, try holding Center and Down simultaneously instead of staggered.)
- Amazon Game Controller: Press and hold A and Y buttons together (simultaneously) for 5 seconds; then release the buttons and press the controller's menu button.
-
Android Debug Bridge: If adb is enabled on the Fire TV and a computer is connected, you can run the following command to invoke the dialog box:
adb shell am start com.amazon.ssm/com.amazon.ssm.ControlPanel
To use the adb command, you'll need to enable adb debugging in the Fire TV Settings, have Android Studio installed, and know your Fire TV's IP address (go to Settings> My Fire TV (or Device & Software) > About > Network). Open a terminal window on your computer and connect through ADB with this command:
adb connect 123.456.7.89:5555
, replacing123.456.7.89
with your own IP address. Leave5555
as the port. Read more details here: Connect to Fire TV Through ADB.
The following screenshot shows the options on the Developer Tools menu:
The various panels are explained below:
- System X-Ray
- Advanced Options
- Snapshot
- Record & Share
- Safezone
- Developer Options
- Network Proxy
- Clear Credential Storage
- Launch Network Advisor
System X-Ray
System X-Ray gathers instantaneous system metrics and displays on top of the screen as an overlay. When toggled on, the overlay will always be visible on the screen.
The System X-Ray overlay contains details about the following:
- Display
- CPU
- Memory
- Network
For deep-dive into System X-Ray, see System X-Ray.
Advanced Options
Advanced Options enables multimedia information to appear when Android MediaCodec APIs are in use. When you switch this option on and then play media, an additional display (titled "MUL" for Multimedia (audio and video) and "AUD" for Audio Focus) appears on the right.
Information displayed in the Multimedia panel is divided into three sections: Audio, Video, and Audio Focus.
AUDIO
Property | Description |
---|---|
Codec | Audio codec format |
Hardware Accelerated | If audio playback is hardware accelerated |
Input Bitrate | Audio input bitrate |
Secure | If secure or not |
VIDEO
Property | Description |
---|---|
Codec | Video Codec Format |
Hardware Accelerated | If video playback is hardware accelerated |
Input Bitrate | Video Input Bitrate |
Secure | If video secure or not |
Frames Dropped | Frame drop count |
Resolution | Playback resolution |
Frame Rate | Playback frame rate |
Color Standard |
AUDIO FOCUS
Property | Description |
---|---|
Package | Package name of the audio playback |
Gain | Audio focus gain implication |
Loss | Audio focus loss implication |
F/U/C | Flag / Usage / Content
|
Audio Focus values are shortened as following:
AUDIOFOCUS_NONE
: noneAUDIOFOCUS_GAIN
: gainAUDIOFOCUS_GAIN_TRANSIENT
: g_trAUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
: gtmdAUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE
: gtreAUDIOFOCUS_LOSS
: lossAUDIOFOCUS_LOSS_TRANSIENT
: l_trLOSS_TRANSIENT_CAN_DUCK
: ltcdUNKNOWN
: unkn
Snapshot
Snapshot provides a way for users to gather instantaneous all metrics information through adb
command. Whenever you input the following command, metric information will display in the command line.
adb shell dumpsys activity service com.amazon.ssm/.OverlayService
System X-Ray must be running for this command to function.
Here's a sample output:
SERVICE com.amazon.ssm/.OverlayService 3dde6680 pid=10820
Client:
[com.amazon.ssm.timestamp]: [2017-02-07 15:11:53]
[com.amazon.ssm.display.resolution]: [1080]
[com.amazon.ssm.display.refreshrate]: [60]
[com.amazon.ssm.display.hdcpversion]: [1.0]
[com.amazon.ssm.cpu.core0]: [30]
[com.amazon.ssm.cpu.core1]: [29]
[com.amazon.ssm.cpu.core2]: [0]
[com.amazon.ssm.cpu.core3]: [0]
[com.amazon.ssm.memory.appname]: [tv.twitch.android.viewer]
[com.amazon.ssm.memory.appmemory]: [56.8 MB]
[com.amazon.ssm.memory.activememory]: [1.3 GB]
[com.amazon.ssm.memory.availablememory]: [231.3 MB]
[com.amazon.ssm.network.rssi]: [-56]
[com.amazon.ssm.network.systemdownloadspeed]: [2.2 Mbps]
[com.amazon.ssm.network.appdownloadspeed]: [2.1 Mbps]
Record & Share
Record & Share stores instantaneous metrics about CPU, memory, network, and multimedia into a database as historical data. Although the same information is displayed graphically in real-time through the System X-Ray overlay, Record & Share takes this information and stores it into a history that you can dump to the command line.
To use Record & Share, first toggle the Record & Share setting in the Developer Tools Menu to On. You're then prompted to select the Record Settings:
These properties control the following:
- Interval: The time between two recordings: 2 seconds, 4 seconds, 8 seconds, 16 seconds, or 32 seconds.
- Duration: How long the data gets stored in the database: 1 hour, 2 hours, 4 hours, 8 hours, or 16 hours.
The default (2s interval, 1 hr duration) means that every 2 seconds, statistics will be recorded and stored in the database. The recording will be stored in the database for a total of 1 hour.
After playing media to gather some recorded information, you can dump all historical metrics to the command line using the following::
adb shell dumpsys activity service com.amazon.ssm/.OverlayService -all
The response includes the following information:
CPU:
- Timestamp
- cpu0
- cpu1
- cpu2
- cpu3
Memory:
- Timestamp
- Total_Memory
- Available_Memory
- Active_Memory
- Foreground_App_Memory
- Foreground_App_PackageName
Network:
- Timestamp
- RSSI
- Download_Speed
- Foreground_App_Download_Speed
- Foreground_App_PackageName
Multimedia:
- Timestamp
- AudioCodec
- AudioInputBitrate
- AudioAccelerated
- AudioSecure
- VideoCodec
- VideoInputBitrate
- VideoAccelerated
- VideoSecure
- VideoResolution
- VideoFramerate
- VideoFramedropped
Here's an example of the display on the command line:
CPU
Timestamp cpu0 cpu1 cpu2 cpu3
2016-10-31 11:40:22 19 16 13 18
MEMORY
Timestamp Total_Memory Available_Memory Active_Memory Foreground_App_Memory Foreground_App_PackageName
2016-10-31 11:40:23 919.3 MB 156.3 MB 731.8 MB 31.3 MB com.amazon.ssm
NETWORK
Timestamp RSSI Download_Speed Foreground_App_Download_Speed Foreground_App_PackageName
2016-10-31 11:40:21 -41 14.4 kbps 0 bps com.amazon.ssm
2016-10-31 11:40:23 -41 14.0 kbps 0 bps com.amazon.ssm
If you're interested in only part of the metrics, you can add different options in the command. For example, to dump memory and network historical metrics to command line:
adb shell dumpsys activity service com.amazon.ssm/.OverlayService -memory -network
The following table shows all available options:
Option | Description |
---|---|
blank (no option passed) |
dump snapshot information |
-snapshot |
dump snapshot information |
-all |
dump all information from database |
-memory |
dump memory information from database |
-cpu |
dump CPU information from database |
-network |
dump network information from database |
-multimedia |
dump multimedia information from database |
To check available options, pass the -help
parameter:
adb shell dumpsys activity service com.amazon.ssm/.OverlayService -help
You can clear the recorded metrics stored in the database (before the duration time automatically clears the data). From the Developer Options Tools menu, select Record & Share, and then click the menu button on your remote.
Safezone
Some TVs use overscan with their display. Overscan means the TV displays some information off the edges of the visible screen (to accommodate discrepancies in monitors). You should not display important information in the overscan areas.
To make the overscan areas visible, you can turn the SafeZone switch to On. This will make the overscan areas apparent so you can avoid displaying any information in these areas.
Note that Fire TV Stick (2nd Gen) does not include screen size calibration. If the screen display doesn't fit correctly on the TV screen, the overscan area may not show accurately.
Developer Options
Currently, some third-party apps, such as Netflix and HBO Go, display recommendations on the Amazon Fire TV home screen in specific rows. For more information on recommendations, see Recommendations Overview.
Developer Options allows you to turn on a row called "Recommended By Your Apps" (displayed below the Netlix and HBO Go rows). This "Recommended By Your Apps" row will show recommendations sent from third-party apps.
Turning on this row shows recommendations from all third-party apps the user has installed (excluding some apps such as Netflix and HBO Go, which display recommendations on their own rows).
Network Proxy
If your app communicates with remote services or websites, it's often useful to inspect the HTTP or HTTPS traffic it generates. This includes requests initiated by your app and the responses it receives, as well as HTTP headers containing (among other things) cookies and caching information. See Network Proxy for more details.
Clear Credential Storage
This clears any credentials that have been set for apps on Fire TV.
Launch Network Advisor
Launches a network analysis window that checks your network connection strength, channel, and other details. If there are problems, the Network Advisor provides recommendations to fix the issues.
See Also
For more details, see the following:
Last updated: Oct 29, 2020