Changes

Jump to navigation Jump to search
m
no edit summary
Line 2: Line 2:     
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).
 
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).
 +
 +
== Counter types ==
 +
 +
[[#Statistics|Measured]] statistic values might be one of the following types:
 +
 +
* ''absolute''<br>value to use as-is, e.g., amount of free disk space;
 +
* ''uptime''<br>number of seconds since event start, e.g., how long window is active; if event is not active, value will be reset to zero;
 +
* ''gauge''<br>is for things like temperatures or number of people in a room, i.e., value can grow and fall in time;
 +
* ''counter''<br>a counter, number of times event was triggered during single time frame; value can be more or equal to zero.
    
== Statistics ==
 
== Statistics ==
Line 7: Line 16:  
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.uptime''' ''uptime''<br>How long Shell is running.
** {{Code|shell.active}}<br>Shell or activity window is active.
+
** '''shell.active''' ''uptime''<br>How long Shell window is on top.
** {{Code|shell.collab}}<br>Collaboration related stats in Shell.
+
** '''shell.friends''' ''absolute''<br>Number of buddies in the Groups view.
*** {{Code|shell.collab.buddies}}<br>Number of buddies in the Neighborhood view.
+
* '''''journal'''''<br>Journal related activity.
* {{Code|activity}}<br>Activities related stats; specified only for the particular activity.
+
** '''journal.uptime''' ''uptime''<br>How long Journal is running.
** {{Code|activity.run}}<br>Activity is run.
+
** '''journal.active''' ''uptime''<br>How long Journal window is on top.
** {{Code|activity.active}}<br>Activity window is active.
+
** '''journal.creates''' ''counter''<br>Number of create requests sent from the Journal window.
** {{Code|activity.collab}}<br>Collaboration related stats for activities.
+
** '''journal.updates''' ''counter''<br>Number of update requests sent from the Journal window.
*** {{Code|activity.collab.buddies}}<br>Number of buddies activity is interacting with.
+
** '''journal.deletes''' ''counter''<br>Number of delete requests sent from the Journal window.
* {{Code|system}}<br>System related stats.
+
* '''''activity'''''<br>Activities related stats; specified only for the particular activity.
** {{Code|system.uptime}}<br>System uptime value.
+
** '''activity.uptime''' ''uptime''<br>How long Activity is running.
 +
** '''activity.active''' ''uptime''<br>How long Activity window is on top.
 +
** '''activity.instances''' ''gauge''<br>How many instances launched.
 +
** '''activity.new''' ''counter''<br>How many running instances with new Journal entity.
 +
** '''activity.resumed''' ''counter''<br>How many running instances with resumed Journal entity.
 +
** '''activity.buddies''' ''gauge''<br>Number of buddies Activity is interacting with for all running instances.
 +
* '''''application'''''<br>Applications related stats in non-Sugar mode; specified only for the particular application.
 +
** '''application.uptime''' ''uptime''<br>How long application is running.
 +
** '''application.active''' ''uptime''<br>How long application window is on top.
 +
* '''''network'''''<br>Network related stats.
 +
** '''network.uptime''' ''uptime''<br>How long client is connected to the Internet.
 +
** '''network.school''' ''uptime''<br>How long client is connected to school network.
 +
* '''''system'''''<br>System related stats.
 +
** '''system.uptime''' ''uptime''<br>System uptime value.
 +
** '''system.diskfree''' ''absolute''<br>How many storage space is free, in kilobytes, for the home directory.
    
== Implementation ==
 
== Implementation ==
   −
=== Monitor ===
+
* [[Platform_Team/sugar-stats|sugar-stats]] library.
 
+
* [[Platform_Team/Server_Kit/sugar-client|sugar-client]] starting from 1.2 version, Sugar client complex solution that uses [[Sugar_Server_Kit/sugar-stats|sugar-stats]] library.
The usage statistics will be gathered by sniffing DBus and X11 messages in the [[Sugar_Server_Kit/sugar-client|sugar-client]] program launched with the {{Code|monitor}} command. The {{Code|sugar-client}} will stay in daemon mode, and send collected and filtered data to the [[Sugar_Server_Kit/sugar-server#collector|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 [http://wiki.paraguayeduca.org/index.php/Analisis_de_Uso_de_Actividades Paraguay], but is not being used right now.
  −
 
  −
=== Collector ===
  −
 
  −
=== 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://sugardextrose.org/issues/59 request] for statistics gathering.
18

edits

Navigation menu