See project homepage at CIMON homepage.
The CIMON project is an effort to develop a user-programmable monitoring solution for mobile devices which can be used for contextual notifications to applications, or for detailed system logging and analysis. There are two primary goals for CIMON:
We have implemented a prototype for CIMON in Android. The CIMON monitoring service is implemented as a background service in Android, and there is a user-level administration app which allows users to see which metrics are actively being monitored, and to initiate a new monitor from within the administration app. Monitoring reports can be generated, which can be emailed per the users preferences.
Use the link above to access the complete JavaDoc documentation. The CimonInterface interface in the edu.nd.darts.cimon package is a good starting point for examining the JavaDoc. It describes the CIMON API used for registering monitors with the CIMON monitoring service, and provides pointers to other important classes.
CIMON is an Android service which runs in the background and allows other applications to register a variety of monitors. For ease of use, CIMON is also packaged with an administration app which allows users to utilize the monitoring service without developing their own app. For now, the administration app only allows the creation of a periodic monitor, but we plan to include the ability to register complex metric and event monitors within the administration app in the future. See screenshots for preview of app.
Within Android, he administration app can be opened from the application drawer, or by selecting the CIMON status bar in the drop-down notification window. There are 3 tabs in the administration app, representing the three categories of metrics: system activity/resources, sensors, and user activity. Each tab has a list of supported metrics. These are expandable lists which are grouped based on which data can be collected through the same system calls. Select a metric group to expand that group and see which individual metrics are available. Selecting it again will compact the subgroup. Select the information button (i inside a circle) to expand the metric group description. Selecting it again will close the expanded description. To activate a monitor, select the desired metric group to expand the group and show the list of supported metrics for this group. Press the record button to the left of the desired metric, this will open a new window allowing the user to specify the monitoring preferences. You may adjust the frequency of the monitor with the slide bar and set a duration for the monitor (or choose manual, in which case you will have to press the stop button to end the recording manually). You can place a checkmark next to email to request that a notification be generated when the monitor has completed and generated a report. Through this Android notification, the user may email the generated report. Users may also access the data by querying the CIMON content provider. See the JavaDoc for more details on the CIMON database and content provider.