Difference between revisions of "Stats Design"
From Dreamwidth Notes
(Wikifi format, expand statistics collection section) |
m (Fix typos) |
||
Line 5: | Line 5: | ||
[[Project_Teams#Site_statistics|Stats project team]] (we're recruiting) | [[Project_Teams#Site_statistics|Stats project team]] (we're recruiting) | ||
− | + | == Table definitions == | |
<source lang="sql">CREATE TABLE statkeylist ( | <source lang="sql">CREATE TABLE statkeylist ( | ||
Line 38: | Line 38: | ||
== Collecting statistics == | == Collecting statistics == | ||
− | # [http://hg.dwscoalition.org/dw-free/file/tip/etc/stats-collection.conf etc/stats-collection.conf] should contain something like:<source>## collect and store all stats under the accounts category | + | # [http://hg.dwscoalition.org/dw-free/file/tip/etc/stats-collection.conf etc/stats-collection.conf] should contain something like:<source lang="text">## collect and store all stats under the accounts category |
## hangs if you don't enclose the asterisk in quotes | ## hangs if you don't enclose the asterisk in quotes | ||
# accounts: "*" | # accounts: "*" | ||
Line 47: | Line 47: | ||
paid: "*"</source> | paid: "*"</source> | ||
# [http://hg.dwscoalition.org/dw-free/file/tip/bin/worker/stats-collection bin/worker/stats-collection] is the utility that handles stats collection. Run at least once per 24 hours, either from your crontab or by listing it in [http://hg.dwscoalition.org/dw-free/file/tip/etc/workers.conf etc/workers.conf]. | # [http://hg.dwscoalition.org/dw-free/file/tip/bin/worker/stats-collection bin/worker/stats-collection] is the utility that handles stats collection. Run at least once per 24 hours, either from your crontab or by listing it in [http://hg.dwscoalition.org/dw-free/file/tip/etc/workers.conf etc/workers.conf]. | ||
− | # (only needed if you chose to use [http://hg.dwscoalition.org/dw-free/file/tip/etc/workers.conf etc/workers.conf]): add a line to the "all" section reading:<source> stats-collection: 1</source>(note: this is for development only, as it assumes you only have one server - in production environments, you will usually list it in the section for a specific server) | + | # (only needed if you chose to use [http://hg.dwscoalition.org/dw-free/file/tip/etc/workers.conf etc/workers.conf]): add a line to the "all" section reading:<source lang="text"> stats-collection: 1</source>(note: this is for development only, as it assumes you only have one server - in production environments, you will usually list it in the section for a specific server) |
== Displaying statistics == | == Displaying statistics == |
Revision as of 17:50, 30 March 2010
This is a a loosely organized collection of notes and links for the Stats feature design. (Note: this is for the new stats system only - there's an existing legacy system too.)
Stats project team (we're recruiting)
Contents
Table definitions
CREATE TABLE statkeylist ( statkeyid INT UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(255) DEFAULT NULL, PRIMARY KEY (statkeyid), UNIQUE KEY (name) ) CREATE TABLE site_stats ( category_id INT UNSIGNED NOT NULL, key_id INT UNSIGNED NOT NULL, insert_time INT UNSIGNED NOT NULL, VALUE INT UNSIGNED NOT NULL, -- FIXME: This is good for retrieving data for a single category+key, but -- maybe not as good if we want all keys for the category, with a limit on -- time (ie, last 5 entries, or last 2 weeks). Do we need an extra index? INDEX (category_id, key_id, insert_time) )
Storing statistics
Statistics items
Collecting statistics
- etc/stats-collection.conf should contain something like:
## collect and store all stats under the accounts category
- hangs if you don't enclose the asterisk in quotes
- accounts: "*"
- collect and store only these stats under the accounts category
- accounts: [ identity, personal, redirect ]
accounts: "*" active: "*"
paid: "*"- bin/worker/stats-collection is the utility that handles stats collection. Run at least once per 24 hours, either from your crontab or by listing it in etc/workers.conf.
- (only needed if you chose to use etc/workers.conf): add a line to the "all" section reading:(note: this is for development only, as it assumes you only have one server - in production environments, you will usually list it in the section for a specific server)
stats-collection: 1
Displaying statistics
- htdocs/stats/* (public stats)
- htdocs/admin/stats.bml (restricted stats)
(note: as of March 28 there is an uncommitted patch on bug 124 [[Routing_and_Template_Toolkit|TTizing] the stats display to DW::Controller::SiteStats, views/admin/stats.tt, view/site/stats.tt)