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.
  • 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.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.
  • system
    System related stats.
    • system.uptime
      System uptime value.

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.