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.uptime
How long Shell is running. - shell.active
How long Shell window is on top. - shell.buddies
Number of buddies in the Neighborhood view. - shell.friends
Number of buddies in the Groups view.
- shell.uptime
- journal
Journal related activity.- journal.uptime
How long Journal is running. - journal.active
How long Journal window is on top. - journal.updates
Number of update requests from the Journal window. - journal.deletes
Number of delete requests from the Journal window.
- journal.uptime
- activity
Activities related stats; specified only for the particular activity.- activity.uptime
How long Activity is running. - activity.active
How long Activity window is on top. - activity.instances
How many instances launched. - activity.new
How many running instances with new Journal entity. - activity.resumed
How many running instances with resumed Journal entity. - activity.buddies
Number of buddies Activity is interacting with for all running instances.
- activity.uptime
- system
System related stats.- system.uptime
System uptime value. - system.diskfree
How many storage space is free on the main disk.
- 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.