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.ontop
      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.
  • journal
    Journal related activity.
    • journal.ontop
      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.
  • activity
    Activities related stats; specified only for the particular activity.
    • activity.uptime
      How long Activity is running.
    • activity.ontop
      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.
  • system
    System related stats.
    • system.uptime
      System uptime value.
    • system.diskfree
      How many storage space is free on the main disk.

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.

Collector

Analyzer

See also

  • Paraguayan Activity usage analysis basing on Journal records.
  • Australian request for statistics gathering.