Difference between revisions of "Platform Team/Usage Statistics"

From Sugar Labs
Jump to navigation Jump to search
Line 7: Line 7:
 
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.
 
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.
  
* {{Code|shell}}<br>Shell related stats.
+
* '''''shell'''''<br>Shell related stats.
** {{Code|shell.run}}<br>Shell process is run.
+
** '''''shell.session'''''<br>Running activity.
** {{Code|shell.active}}<br>Shell or activity window is active.
+
*** '''shell.session.uptime'''<br>How long Shell is running.
** {{Code|shell.collab}}<br>Collaboration related stats in Shell.
+
*** '''shell.session.ontop'''<br>How long Shell window is on top.
*** {{Code|shell.collab.buddies}}<br>Number of buddies in the Neighborhood view.
+
** '''''shell.collab'''''<br>Collaboration related stats in Shell.
* {{Code|activity}}<br>Activities related stats; specified only for the particular activity.
+
*** '''shell.collab.buddies'''<br>Number of buddies in the Neighborhood view.
** {{Code|activity.session}}<br>Running Activities related stats.
+
*** '''shell.collab.friends'''<br>Number of buddies in the Groups view.
*** {{Code|activity.session.run}}<br>How many instances active right now.
+
* '''''activity'''''<br>Activities related stats; specified only for the particular activity.
*** {{Code|activity.session.new}}<br>How many running instances with new Journal entity.
+
** '''''activity.session'''''<br>Running activity.
*** {{Code|activity.session.resumed}}<br>How many running instances with resumed Journal entity.
+
*** '''activity.session.uptime'''<br>How long Activity is running.
*** {{Code|activity.session.active}}<br>Is Activity window active.
+
*** '''activity.session.ontop'''<br>How long Activity window is on top.
*** {{Code|activity.session.buddies}}<br>Number of buddies activity is interacting with right now.
+
*** '''activity.session.instances'''<br>How many instances launched.
** {{Code|activity.journal}}<br>Journal related Activity's activities.
+
*** '''activity.session.new'''<br>How many running instances with new Journal entity.
*** {{Code|activity.journal.total}}<br>Total number of Journal entries for the Activity.
+
*** '''activity.session.resumed'''<br>How many running instances with resumed Journal entity.
*** {{Code|activity.journal.shared}}<br>Total number of Journal entries shared with buddies.
+
*** '''activity.session.buddies'''<br>Number of buddies Activity is interacting with for all running instances.
* {{Code|system}}<br>System related stats.
+
** '''''activity.journal'''''<br>Journal related Activity's activities.
** {{Code|system.uptime}}<br>System uptime value.
+
*** '''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.uptime'''<br>System uptime value.
  
 
== Implementation ==
 
== Implementation ==
Line 41: Line 45:
 
=== Analyzer ===
 
=== Analyzer ===
  
== Resources ==
+
== See also ==
  
* [https://dev.laptop.org.au/issues/59 Australian request].
+
* Paraguayan Activity usage [http://wiki.paraguayeduca.org/index.php/Analisis_de_Uso_de_Actividades analysis] basing on Journal records.
 +
* Australian [https://dev.laptop.org.au/issues/59 request] for statistics gathering.

Revision as of 15:20, 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.session
      Running activity.
      • shell.session.uptime
        How long Shell is running.
      • shell.session.ontop
        How long Shell window is on top.
    • shell.collab
      Collaboration related stats in Shell.
      • shell.collab.buddies
        Number of buddies in the Neighborhood view.
      • shell.collab.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.