- CPU Usage: Determine where BrightScript code execution is happening
- Wall-Clock time: Determine where the most time (execution and waiting) is being spent in a channel
- Function call counts
- Memory usage, including memory leak detection – Available starting since firmware version 9
Each of the above metrics can be used to diagnose problems and provide guidance to the channel developer to improve channel performance.
Data Destination: Network
Available starting since firmware version 9
In order to stream a channel's profiling data to the network while the channel is running, add
bsprof_data_dest=network to the channel's manifest. Streaming data over the network is especially useful when profiling a channel's memory usage because all memory operations are included in the profiling data, and the amount of space necessary to store the data can be very large. By streaming the data to the network, the data size is limited primarily by the host computer receiving the data, and not by the available memory on the device itself. Even while streaming the profiling data to the network, there are still additional demands placed on the device's resource while profiling compared to running a channel without profiling. However, the use of resources on the device is significantly reduced.