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 8: Line 17:     
* '''''shell'''''<br>Shell related stats.
 
* '''''shell'''''<br>Shell related stats.
** '''shell.uptime'''<br>How long Shell is running.
+
** '''shell.uptime''' ''uptime''<br>How long Shell is running.
** '''shell.active'''<br>How long Shell window is on top.
+
** '''shell.active''' ''uptime''<br>How long Shell window is on top.
** '''shell.buddies'''<br>Number of buddies in the Neighborhood view.
+
** '''shell.friends''' ''absolute''<br>Number of buddies in the Groups view.
** '''shell.friends'''<br>Number of buddies in the Groups view.
   
* '''''journal'''''<br>Journal related activity.
 
* '''''journal'''''<br>Journal related activity.
** '''journal.uptime'''<br>How long Journal is running.
+
** '''journal.uptime''' ''uptime''<br>How long Journal is running.
** '''journal.active'''<br>How long Journal window is on top.
+
** '''journal.active''' ''uptime''<br>How long Journal window is on top.
** '''journal.updates'''<br>Number of update requests from the Journal window.
+
** '''journal.creates''' ''counter''<br>Number of create requests sent from the Journal window.
** '''journal.deletes'''<br>Number of delete requests from the Journal window.
+
** '''journal.updates''' ''counter''<br>Number of update requests sent from the Journal window.
 +
** '''journal.deletes''' ''counter''<br>Number of delete requests sent 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.uptime'''<br>How long Activity is running.
+
** '''activity.uptime''' ''uptime''<br>How long Activity is running.
** '''activity.active'''<br>How long Activity window is on top.
+
** '''activity.active''' ''uptime''<br>How long Activity window is on top.
** '''activity.instances'''<br>How many instances launched.
+
** '''activity.instances''' ''gauge''<br>How many instances launched.
** '''activity.new'''<br>How many running instances with new Journal entity.
+
** '''activity.new''' ''counter''<br>How many running instances with new Journal entity.
** '''activity.resumed'''<br>How many running instances with resumed Journal entity.
+
** '''activity.resumed''' ''counter''<br>How many running instances with resumed Journal entity.
** '''activity.buddies'''<br>Number of buddies Activity is interacting with for all running instances.
+
** '''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'''''<br>System related stats.
** '''system.uptime'''<br>System uptime value.
+
** '''system.uptime''' ''uptime''<br>System uptime value.
** '''system.diskfree'''<br>How many storage space is free on the main disk.
+
** '''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 ===
      
== See also ==
 
== See also ==
    
* Paraguayan Activity usage [http://wiki.paraguayeduca.org/index.php/Analisis_de_Uso_de_Actividades analysis] basing on Journal records.
 
* 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.
+
* Australian [https://sugardextrose.org/issues/59 request] for statistics gathering.
18

edits

Navigation menu