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 only for 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.run
      Shell process is run.
    • shell.active
      Shell or activity window is active.
    • shell.collab
      Collaboration related stats in Shell.
      • shell.collab.buddies
        Number of buddies in the Neighborhood view.
  • activity
    Activities related stats; specified only for the particular activity.
    • activity.run
      Activity is run.
    • activity.active
      Activity window is active.
    • activity.collab
      Collaboration related stats for activities.
      • activity.collab.buddies
        Number of buddies activity is interacting with.
  • system
    System related stats.
    • system.uptime
      System uptime value.

Implementation

Monitor

The usage statistics will be gathered by sniffing DBus 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.

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 Journals backups.

This feature was implemented in Paraguay, but is not being used right now.

Collector

Analyzer