So, it's come up a few times that it would be helpful to have some stats
generation on Laconica installations that get posted back to a central
place for sharing and analysis. The value? We'd know more about our
installed base; we'd get a better idea of the size and extent of the
network; and we'd know how upgrades are going. I know that SugarCRM does
this; I think there are other Web project that do it, too.
I'd like to outline how I think that could work.
1. We'd post data using a simple REST API to an URL on laconi.ca
(like laconi.ca/stats).
2. The data would be made available to anyone under a CC0 (~public
domain) license.
3. The API would also support reading and slicing the data.
4. You could download data dumps, too.
5. And we'd have a simple Web interface showing graphs and all that jazz.
6. The central stats-collecting code would also be Open Source, and
hopefully general enough for other projects to use or build from.
7. Stats collection would be optional, default /on/ -- unless the
site is marked "private", in which case it's default /off/.
8. Stats collection would happen at Web runtime. For each Web hit,
we'd randomly fire off one data item to the stats server. We'd try
to time it to give one full stats update per week.
9. There'd also be a script that could be run from a cron job, in
which case you'd probably want to turn the Web-time stats off.
10. We'd collect the following data items:
* Laconica version
* PHP version
* Database (PHP or MySQL)
* Names and versions of plugins (once we have plugins)
* Operating system
* Root URL (like "http://identi.ca/")
* Site name
* Total number of (local) users
* Total number of (local) notices
* Number of users who've posted at least one notice in the
last 24 hours
* Number of users who've posted at least one notice in the
last week
* Number of notices posted in the last 24 hours
* Number of notices posted in the last week
* Total number of subscriptions
Note that there are some hazards with this. If we have a serious
security flaw, a hacker could go through this list and find each site
that was at the version number that had the flaw, and exploit it. On the
positive side, when we identify a flaw, we could identify and contact
affected sites and notify them before making an announcement. So it's a
two-sided coin.
As to the reporting design: I think firing off one stat randomly at Web
time would be useful without being a real burden on any particular Web
user. All of these stats would be fairly quick to generate and report.
We'd know that it's very likely to be done, and a cron job would let
sites optimize that part while still helping out with stats.
Questions: what other stats should we collect? And is this a good idea?
And who wants to write it?
-Evan
_______________________________________________
Laconica-dev mailing list
[email protected]
http://mail.laconi.ca/mailman/listinfo/laconica-dev