[TODO] A Uptime statistics collector
|Reported by:||moo||Owned by:||moo|
Description (last modified by moo)
There should be a XCache uptime statistics collector, showing you how stable each XCache version is on each php version.
- collect informations/statistics from servers those using XCache
- it isn't enabled by default. the server admin have to configure it as an cron job
- the server admin choose what to be collected, while not leaking other information. e.g.: collect network traffic, php hits/s, loadavg, but don't leak its ip address, hide email address from normal user except XCache admin (for contact).
- normal user can see the statistics and choose what php/XCache version to use. or abandon XCache with ea/apc/etc..
- back compatibility. because newer collector client might have more info than the old one that submit to collector server, the server and display page should compatible with old clients
- keep it simple
- easy to setup on collector client side (not collector server, aka. XCache users' production server), don't pull out many package dependency. e.g.: use bash/sh or php for programming language
- high performance client: take as little resource (cpu/memory/diskio) as possible
- users' profile and servers' profile should be designed for easy assignment.
possible implemention of some details:
- data relation
- each real user has user_profile
- user_profile has many server_profile (server_profile belongs to user_profile)
- server_profile has many history_state (history_state belongs to server_profile)
- user profile data detail
- userid (auto_inc, generated by database, mysql)
- password (secret)
- showemail (true=public email to all users. false=show email to XCache admin only)
- server profile data detail
- serverid (auto_inc, generated by database, mysql)
- GUID (secret, generated by user)
- CPU class, frequence, count
- memory size
- xcache.size, xcache.count.
- xcache.var_size, xcache.var_count. % xcache.var_size used
- other xcache settings..
- history state
- bytes of xcace.size that used
- bytes of xcace.var_size that used
- profile registration
- cli tools and/or webpage for generating GUID
- it is suggested that the user should generate the GUID and let the collector always use the same GUID for the same server. but we can let the collector generate a GUID and save it in /var/tmp/xcache.server.guid or whereever for easy of use.
- most of the server info is created and updated by collector client automatically along with some performance/statistics data
- user can create user profile with password set.
- logined user and can assign any server profile that's not assigned yet AND if he knows the secret GUID, or delete the profile. or assign the server profile (which belongs to current logined user profile) to other user profile.
- any evil user can spam the collector server, there should be a easy way to delete spam data
- a page for full user/server profile list
- a page for displaying summary statistics
Change History (8)
comment:10 Changed 7 years ago by moo
- Milestone changed from 1.1 to 1.2
- Version changed from 1.0 to 1.2-dev
comment:13 Changed 6 years ago by moo
- Component changed from component1 to website
- pending set to 0
- SAPI set to Irrelevant