PowerBoard exposes five sections for system diagnostics:
ID - Main characteristics of the device
Memory - Utilization of memory resources
Processes - Workload in terms of processes
Log - Read access to log file entries
Test - Performing basic system tests
ID
The ID section displays main information about the device and the currently installed software. It displays the BootTime and the Uptime.
The displayed IP address is the internal IP address of the device. While the IP address is only displayed with an active Internet connection, the MAC network interface address is displayed independently of an active Internet connection.
When tapping on the UDID field, a menu pops up to allow sharing of the UDID via copy-paste or email.
On the bottom of the ID view the accelerometer data is visualized.
On the iPhone the background image depicts the inner machinery of an iPhone 3G. On the iPad the picture displays the large battery and the chipset of the iPad (1st generation).
RAM memory amount is calculated based on system information.
Memory
The Memory section displays file storage memory and RAM memory. File storage memory information is delivered via NSFileManager's attributesOfFileSystemForPath by passing in the bundle path of the application. Total size equates to NSFileSystemSize while free size equates to NSFileSystemFreeSize.
The RAM memory is reported according to the vm_statistics of Mach's kernel host_statistics() call. To allow visual comparison of statistics over time historical data is plotted at the bottom of the view.
Processor Activity tracks the workload of the processor cores. High processor activity is one of the most prominent causes for battery drain.
Swap Space displays the currently used virtual memory. Paged-in memory can be as much as several GBs. The values do not change dramatically over short periods of time. Therefore a horizontal slider can be used to compare the values over time. Each second a value is sampled and stored with the historical records. A horizontal slider allows to go back in time in steps of seconds.
Processes
The Processes section displays the list of currently running processes. Each process is distinguished by its name (displayed in yellow color). The number in square brackets after the name is the id of the process (KERN_PROC_PID, pid_t).
Additionally the name of the user who owns the process is displayed together with the start time and the process id of the launching process.
The list of processes can be sorted by process name, start time or process owner. The sort orders provide different perspectives on the data for inspection of different aspects.
Log
Log data provides hints for running processes. The log data output is deliberately passed through by the developers of the programs. Because of the different origins and intents of the log strings, the meaning varies. A tentative hint for interpretation is the level of the log.
In sync with the processes view's formatting, the logging process name is displayed in yellow color with the process id following in square brackets. The time and date of the log entry is displayed and formatted in current local time format.
The log string messages are colored in green.
Log entries can be filtered in two ways: by a search string and by process name selection.
With a long-press on the view a menu appears to allow sharing of the log data via copy-paste or email.
Log strings are retrieved via Apple's asl interface (Apple System Log).
Test
The Test section performs performance tests on the device. The Hard Disk Access test performs writing and reading operations. Data throughput and access speed of the persistent store can be checked with these operations.
The CPU-Performance view runs a fixed set of CPU intensive operations.
The execution time can be used as a comparative measurement. Different devices can be compared against each others, or the performance of a single device can be compared over time and under specific conditions.
A screencast video of the app is available at http://powerboard.imagomat.de