Frequently asked questions
First, please refer to the blog post here for a more visual description of how to get started.
Here are some details:
- Start the 'littleeye' executable from under 'little eye' directory in the directory where you have installed the product.
- Connect your Android device to your computer through a USB cable.
- Little Eye will connect to the device, bring up the Applications view, and show you the device details as well as all the installed apps. If this does not work, ensure that you have followed the steps mentioned in the "prerequisites" section below.
- Double click on the icon of your app (or your competitor's app, if you like :-)).
- Little Eye will open the Details view and bring up the power consumption graph by default.
- Start using your app on your device, similar to how a user would. You should try to cover all the ways (activities, menus etc) your app is expected to be used.
- When you're done using the app, click the Stop button on Little Eye desktop tool or select the 'little eye' notification icon on the device and click 'Stop'.
- Little Eye will bring up the screen capture of the app on the right pane, and the graph of power consumption in the main pane. The bottom pane is a Time Line view which you can use to zoom in or out of the graph in the main view.
- Repeat steps 5 to 9 multiple times, to cover all your app's use cases.
- It is better to have multiple runs of each feature to improve the accuracy of measurement.
- Click on the "Generate Report" icon . This will open the "App Report" view and show you the power consumption details of your app, and a breakdown of power consumed by your app by components. Selecting the Data Report radio button on the left pane will show you a report of your app's wireless data consumption broken down by state. Selecting the Memory Report radio button will show you a report of your app's memory consumption and garbage collection details.
- Note that its recommended that the Power Report is used with tests where screen capture is turned off, as the screen capture could have a non-negligible impact on the results of the app. The screen recording is most useful when performing analysis-type activities.
- You need the Android SDK to use Little Eye. If you don't have it already, you can download it from here. We have tested Little Eye with revision 20, so it would be best if you have the same or higher versions.
- If you are using a version which does not ship with a JRE, you need to have JRE 6 or later preinstalled on your PC or Mac.
- Ensure that your test phone is set to allow USB debugging.
- On Android versions lesser than 4.x, you can do this by going to "Settings > Applications > Development".
- On Android 4.0.x & 4.1.x, this setting is usually found in "Settings > Developer options".
- On devices running Android 4.2, developer options are hidden by default. You can reveal the developer options by tapping 7 times on "Settings > About phone > Build number" on any compatible Android device. (Yes, we know - we're scratching our heads about the "7 times" thing too!)
- To ensure that USB debugging is correctly enabled, connect your phone to the USB port of your compouter and ensure that Android detects and shows a notification icon with the message "USB debugging enabled/connected". If you are using Windows, you may need to ensure that you are connecting as a "Camera (PTP)" rather than as a "Media Device (MTP)".
- If the above steps do not enable "USB debugging" on your phone, and especially on Windows systems, you may need to install additional drivers depending the mobile device you’re using. Please check out https://developer.android.com/tools/extras/oem-usb.html for details regarding where and how to download/install the drivers for your respective devices.
- This release of Little Eye was tested with JRE 6
- On Mac OS X, Little Eye does not show screen recording with Java 7. Please use Java 6 instead. For instructions to set up Little Eye to use Java 6, please refer this support page
- On some devices, if the app changes the brightness, Little Eye may not capture the brightness correctly and use the value from the device settings.
- If there is not enough free space on the device, Little Eye’s native component may not be installed correctly. This will cause the screen recording to be disabled, and also a few other features will not work.
- Android 4.3 Jelly Bean is not currently supported. You will not be able to get the screenshots or the logs at the moment.
- While calculating the wireless data transfer, Little Eye does not currently track UDP packets. You may get incorrect values if your App is using UDP.
- While your app is running in foreground (or perceptible) and any other app uses Android Mediaserver, the Mediaserver consumption will be (wrongly) attributed to your app.
- Occasionally, you may see the Device Total being lower than the App Total at a particular time. This is caused by Android system may be updating the values wrt System and App related data at slightly different times. If this happens, typically, the next second will have the correction for it in the Device Total.
- Currently the power computation takes into account only five subsystems CPU, Wifi,Display, 3G and GPS. The app’s power consumption is a factor of the hardware components it uses, and Little Eye currently tracks consumption caused by these subsystems only. Support for other components will be added in future releases.
- The synchronization between the screen-captured video playback on the left and the performance graph on the right may be off by one or two seconds occasionally. However, if you ever observe large deviations (more than 4 seconds), kindly report it.
- Little Eye supports devices running Android version 2.2 and above.
- If for any reason the monitoring component on the phone dies, it will get autorestarted. But the video after that point might not get captured. Currently the point of failure is not obvious.
- The Little Eye power score of an app may be affected by the screen capture activity. Hence the score may be different, depending on whether screen capture is enabled or disabled. It is recommended that the tests run with screen capture turned off be used for the power score computation. Screen capture can be disabled from Preferences.
- In case of GUI Little Eye, if more than one devices are connected to the PC, only the “first” device will be detected and used. The “first” device is as detected by ADB and so we don’t have control over which is the “first” device.
- Little Eye currently doesn't work with a few Alcatel devices (like the Alcatel OT-991/One Touch).
Little Eye connects to your device via USB, so first check if the USB port is connected and the device's "USB debugging" setting is enabled (This can usually be found under developer options on your phone's settings page).
Little Eye uses ADB to talk to your phone. If you are on Windows, you will need to install the device's drivers to allow ADB to talk to your device. The drivers can usually be found on your phone manufacturer's website. More information is available here.
If you are using Windows, you may need to ensure that you are connecting as a "Camera (PTP)" rather than as a "Media Device (MTP)".
Troubleshooting & Help
Sometimes you may want to have more than one heap dump, so that you can compare and find out the memory that is growing. In this case, you could get multiple heap dumps generated at a specified interval.
Once you get this heap dumps, you can open and analyze them in tools like Eclipse Memory Analyzer Tool (MAT).
To make system apps show up in your Applications view, open Preferences > Little Eye and enable "Show System Apps" by clicking the check box.
- PSS (propotionate set size) is a statistics that Android uses to determine if its time to kill your process (esp when its running in the background). 'PSS' is memory that is owned by your app exclusively (size of private memory blocks that is not shared) + (memory that is shared with other processes)/(# of processes that is sharing it). Basically it gives a more truer sense of the memory that a given process owns. If your app is killed in the background, the PSS is what it would have used to determine if it should be killed.
- App Native is the native memory that your app is using. This includes the memory that the dalvik vm allocates for its functioning.
- App Dalvik is the amount of dalvik memory that dalvik vm allocates for your app to run.
- App Total is the sum of dalvik and native memory. This is represented by the shaded area in the graph.
- Threshold (or Dalvik Limit) is the maximum dalvik memory that the vm will allocate for your app. This indicated by the straight, horizontal, dotted line on your graph. If your app uses more memory than this, your app is likely to get an OOME (Out of Memory Error).
Little Eye helps you to easily capture an heap dump. It also converts into a format which can be used by popular tools like MAT (Eclipse Memory Analyzer).
While you are monitoring your app, if you see that there is lot of growth in memory and you want to understand the reasons behind it, you could just take an heap dump from the 'Dump Heap' menu item. You could also configure to dump the heaps automatically whenever the memory reaches a threshold using 'Configure Repeating Heap Dumps'. If you have multiple heap dumps, you can load both the heap dumps in MAT and find out the objects and alive at two points of your application.
Log.i("LEStartEvent", "Page load started"); ... process... Log.i("LEEndEvent", "Page load finished");These two events will then appear on the events view while you are monitoring your app using Little Eye. You can customize the tag names in the preferences setting of Little Eye (Window -> Preferences)
Note that we support what is called as "Limited untethered mode" in our product, where you can start the monitoring activity from the desktop (with the USB connected) and then disconnect the USB for about 10-20 minutes and roam around.
Another alternative is to connect to ADB via Wifi. Refer to this blog for being able to use the Wifi instead of USB for using Little Eye.
Hope this helps. If not and if you still need an app, one alternative is "PowerTutor"
Little Eye was built to enable mobile app developers & testers build apps that are not just fast, but also reliable, dependable, resource-light and well behaved among other things. Here is an SD times article on the need for broader performance metrics for mobile apps.
Here are some blog posts that should help you get more out of your full-featured Little Eye trial: Simple Tests
We also have other features such as source code/IDE integration in our product roadmap and you can expect to see these in our future releases.
The accuracy of the absolute power measurements (like mA, % battery drain etc.) would tend to be low (60-70%) depending on how different the hardware is from the one of the Nexus One or Galaxy Nexus. However, the relative power consumption trends or power scores of your app across multiple runs / devices would still very reliable and this should help you identify, debug & fix power issues in your app on any device.
- Email address associated with this charge
- What does the charge appear as in your card statement eg: Walmart
- What is the date & amount of the charge?
- Have you raised a dispute on the charge with your credit card company? If so, please provide a reference number for this dispute with the name and contact number for your credit card company.
JVM terminated. Exit code=13 /usr/bin/java -jar /home/layman/.littleeye-dist//plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar -os linux -ws gtk -arch x86 -showsplash -launcher /home/layman/.littleeye-dist/littleeye -name Littleeye --launcher.library /home/layman/.littleeye-dist//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.200.v20120522-1813/eclipse_1502.so -startup /home/layman/.littleeye-dist//plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar --launcher.overrideVmargs -exitdata 13000e -vm /usr/bin/java -vmargs -jar /home/layman/.littleeye-dist//plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jarThe most likely cause of this error is that JVM architecture and Little Eye architecture different ie., you are using a 32-bit JVM with 64-bit Little Eye or vice versa. You can fix this by adding the path of appropriate JVM to littleeye.ini file in the installation directory (typically the directory .littleeye-dist in your home directory).
LIBDBUSMENU-GTK-CRITICAL **: watch_submenu: assertion `GTK_IS_MENU_SHELL(menu)' failedThis is caused by an issue in running Eclipse / SWT applications on Ubuntu. This error is harmless and you can ignore it. If you would like to workaround, you can set the environment variable UBUNTU_MENUPROXY to 0 to disable this error.
- Your computer is connected to the internet.
- If you use a proxy to connect to the internet, please enter its details in Preferences > Little Eye > Internet Proxy and enter the details.
- Ensure that Java 6 is installed on your machine: Runing the following command in the terminal shows the list of JRE's installed on your machine. %/usr/libexec/java_home -V If Java 6 is not installed, you could install it from here
- Open the file littleeye.ini located in
/littleeye.app/Contents/MacOS. Add the following two lines in the beginning of the line -vm /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java
Here, you can set the proxy parameters:
- Proxy Protocol is http or https
- Proxy Host is the server name or IP address
- Proxy Port is the port on which the proxy server is running
- You can also optionally configure your username and password, if your proxy needs authentication.