Platform Team/Usage Statistics
Summary
Sugar usage statistics might be very useful from, e.g., an educational or research point of view. Statistics might be anonymous or personalized (by taking special efforts to keep information secure and local for use only by a particular deployment).
Statistics
All types of statistics are identified by IDs in a dot separated hierarchy. This makes it possible to refer to the particular type or level of data.
- shell
Shell related stats.- shell.session
Running activity.- shell.session.uptime
How long Shell is running. - shell.session.ontop
How long Shell window is on top. - shell.session.buddies
Number of buddies in the Neighborhood view. - shell.session.friends
Number of buddies in the Groups view.
- shell.session.uptime
- shell.session
- activity
Activities related stats; specified only for the particular activity.- activity.session
Running activity.- activity.session.uptime
How long Activity is running. - activity.session.ontop
How long Activity window is on top. - activity.session.instances
How many instances launched. - activity.session.new
How many running instances with new Journal entity. - activity.session.resumed
How many running instances with resumed Journal entity. - activity.session.buddies
Number of buddies Activity is interacting with for all running instances.
- activity.session.uptime
- activity.journal
Journal related Activity's activities.- activity.journal.total
Total number of Journal entries for the Activity. - activity.journal.shared
Number of Journal entries that where shared. - activity.journal.annotated
For how many Journal entities metadata was changed by user.
- activity.journal.total
- activity.session
- system
System related stats.- system.uptime
System uptime value.
- system.uptime
Implementation
Monitor
The usage statistics will be gathered by sniffing DBus and X11 messages in the sugar-client program launched with the monitor
command. The sugar-client
will stay in daemon mode, and send collected and filtered data to the sugar-server, or, will keep it for later collection in server-less environments.
Journal crawler
In addition to the realtime monitoring, it might be useful to collect some stats from the Journal. It should be possible to run this code on a client side, or, on school servers using Journal backups.
This feature was implemented in Paraguay, but is not being used right now.