Skip to content

Profiler

Charles Greene edited this page Jul 11, 2017 · 3 revisions

Profiler

Commands

Profile

Requires Device

This command will run different profiling tasks on the device to provide profiling information about the currently sideloaded channel. Can run the following tasks:

stats

Runs the sgnodes all command on the device and prints out counts of each type of node.

$ roku --profile stats

all

Runs the sgnodes all command on the device and prints out all of the response

$ roku --profile all

roots

Runs the sgnodes roots command on the device and prints out all of the response

$ roku --profile roots

node id

Runs the sgnodes <node id> command on the device and prints out all of the response

$ roku --profile <node id>

images

Runs the r2d2_bitmaps command on the device and prints out all of the response. The list of images for each RoGraphics instance will be sorted by size.

$ roku --profile images

textures

Runs the loaded_textures command on the device and prints out all of the response

$ roku --profile textures

memmory

Maintains a constant report of the graphical memmory usage. Ctrl-C to stop.

$ roku --profile memmory

sgperf

Requires Device

This command allows you to run a profile of your scene graph app. It uses the sgperf debugging command found in the roku documentation. Running the command will start a new profiling session. The command will continually report the statistics to the console. It will only log revilivent lines, filtering our any lines that have no data. To print all threads that the device reports pass the verbose option. Pressing Ctrl-C will end the profiling session.

$ roku --sgperf

or

$ roku --sgperf --verbose

devlog

Requires Device

This command will turn on enhanced logging for any possible log type the device allows. Currently this is only the rendezvous section. The command is used as follows:

$ roku --devlog <function> [<type>]

Function is either 'on' or 'off' and is required. The type is optional. It will default to 'rendezvous'. In the future when more types are added then you can choose the type by supplying it there.

$ roku --devlog on