Difference between revisions of "Platform Team/Usage Statistics"

From Sugar Labs
Jump to navigation Jump to search
Line 8: Line 8:
  
 
* '''''shell'''''<br>Shell related stats.
 
* '''''shell'''''<br>Shell related stats.
** '''''shell.session'''''<br>Running activity.
+
** '''shell.uptime'''<br>How long Shell is running.
*** '''shell.session.uptime'''<br>How long Shell is running.
+
** '''shell.ontop'''<br>How long Shell window is on top.
*** '''shell.session.ontop'''<br>How long Shell window is on top.
+
** '''shell.buddies'''<br>Number of buddies in the Neighborhood view.
*** '''shell.session.buddies'''<br>Number of buddies in the Neighborhood view.
+
** '''shell.friends'''<br>Number of buddies in the Groups view.
*** '''shell.session.friends'''<br>Number of buddies in the Groups view.
+
* '''''journal'''''<br>Journal related activity.
 +
** '''journal.ontop'''<br>How long Journal window is on top.
 +
** '''journal.updates'''<br>Number of update requests from the Journal window.
 +
** '''journal.deletes'''<br>Number of delete requests from the Journal window.
 
* '''''activity'''''<br>Activities related stats; specified only for the particular activity.
 
* '''''activity'''''<br>Activities related stats; specified only for the particular activity.
** '''''activity.session'''''<br>Running activity.
+
** '''activity.uptime'''<br>How long Activity is running.
*** '''activity.session.uptime'''<br>How long Activity is running.
+
** '''activity.ontop'''<br>How long Activity window is on top.
*** '''activity.session.ontop'''<br>How long Activity window is on top.
+
** '''activity.instances'''<br>How many instances launched.
*** '''activity.session.instances'''<br>How many instances launched.
+
** '''activity.new'''<br>How many running instances with new Journal entity.
*** '''activity.session.new'''<br>How many running instances with new Journal entity.
+
** '''activity.resumed'''<br>How many running instances with resumed Journal entity.
*** '''activity.session.resumed'''<br>How many running instances with resumed Journal entity.
+
** '''activity.buddies'''<br>Number of buddies Activity is interacting with for all running instances.
*** '''activity.session.buddies'''<br>Number of buddies Activity is interacting with for all running instances.
 
** '''''activity.journal'''''<br>Journal related Activity's activities.
 
*** '''activity.journal.total'''<br>Total number of Journal entries for the Activity.
 
*** '''activity.journal.shared'''<br>Number of Journal entries that where shared.
 
*** '''activity.journal.annotated'''<br>For how many Journal entities metadata was changed by user.
 
 
* '''''system'''''<br>System related stats.
 
* '''''system'''''<br>System related stats.
 
** '''system.uptime'''<br>System uptime value.
 
** '''system.uptime'''<br>System uptime value.
 +
** '''system.diskfree'''<br>How many storage space is free on the main disk.
  
 
== Implementation ==
 
== Implementation ==

Revision as of 16:30, 10 January 2012

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.