Difference between revisions of "Platform Team/sugar-stats"

From Sugar Labs
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{Template:Harmonic Distribution Cycle Linkbar}}
+
{{Note/note|This is page is about development version.|If you are looking for information about stable release, follow to [[Platform_Team/sugar-stats/0.1|separate page]].}}
  
 
== Summary ==
 
== Summary ==
Line 10: Line 10:
  
 
More (0.86+) Sugar versions might be added on demand.
 
More (0.86+) Sugar versions might be added on demand.
 
== Stats server ==
 
 
This project also contains a server, which is based on [[Platform_Team/Active_Document|active-document]] and [[Platform_Team/RESTful_Document|restful-document]], and is designed to be a part of the [[Platform_Team/Sugar_Network|Sugar Network]] and [[Platform_Team/Server_Kit/sugar-server|sugar-server]] implementations.
 
 
A standalone server might be launched using the {{Code|sugar-stats-server}} command from project sources. The easiest way is using the binary package [http://download.sugarlabs.org/packages/SweetsDistribution:/Factory/ sugar-stats-server] from [[Sweets Distribution]]. The package contains these components:
 
 
* {{Code|sugar-stats-server}} command,
 
* {{Code|/etc/init.d/sugar-stats-server}} daemon.
 
 
For stats transferring from clients, it is useful to use secure, SSL connections. The server configuration needs to be tweaked (and the [[Sugar_Server_Kit/sugar-client#Usage statistics|client]] should use the same certificate):
 
 
* {{Code|keyfile}}, path to server's private key,
 
* {{Code|certificate}}, path to server's certificate file.
 
 
Server will authenticate clients using SSH keys generated on the client side by Sugar Shell. To let the server check client signatures, OpenSSH-5.6+ should be installed on the server side. For versions lower than 5.6, authentication needs to be disabled using the {{Code|trust-users}} parameter.
 
 
=== Configuration ===
 
 
Run the following command to get the current configuration with comments:
 
 
sugar-stats-server config
 
 
To tweak current configuration, change/create {{Code|/etc/sugar-stats-server.conf}} configuration file.
 
 
The following important parameters need to be set before using the server. (When sugar-stats-server is installed from packages, they are initialized to meaningful values.):
 
 
* {{Code|stats/stats-root <nowiki>=</nowiki> /var/lib/sugar-network/rrd}}<br>Path to the root directory for placing stats;
 
* {{Code|active-document/data-root <nowiki>=</nowiki> /var/lib/sugar-network/users}}<br>Path to the root directory for placing users' metadata;
 
 
== Implementation notes ==
 
 
* Calculating ''network.school'' stat.
 
: Detecting if client host is in school network or not is based on resolving {{Code|am.i.at.school}} hostname.
 
  
 
== Getting the code ==
 
== Getting the code ==
Line 54: Line 20:
 
See the [http://git.sugarlabs.org/desktop/stats/trees/master/examples examples/] subdirectory in the sources tree for usage examples.
 
See the [http://git.sugarlabs.org/desktop/stats/trees/master/examples examples/] subdirectory in the sources tree for usage examples.
  
===Library requirements===
+
=== Library requirements ===
  
 
* RRDtool [http://oss.oetiker.ch/rrdtool/prog/rrdpython.en.html python binding].
 
* RRDtool [http://oss.oetiker.ch/rrdtool/prog/rrdpython.en.html python binding].

Latest revision as of 16:05, 8 October 2012

35px-Activity-write.png
This is page is about development version.
If you are looking for information about stable release, follow to separate page.

Summary

Library to gather Sugar usage statistics. The gathering method is based on sniffing DBus and X11 events.

Supported Sugars

  • 0.94

More (0.86+) Sugar versions might be added on demand.

Getting the code

In use, the library does not require any building routines, just provide the full path to the active_document/ subdirectory via the PYTHONPATH environment variable.

See the examples/ subdirectory in the sources tree for usage examples.

Library requirements

See also

Getting involved

  • Report on bugs.
  • Read the HACKING file to know how to contribute with code.