Description
For live environment no-latency massively-scalable application metric tracking and code profiling via Etsy’s StatsD + Graphite.
Tracks everything in WordPress and Multisite:
- Logins (success, fails, logout)
- Password resets (attempts/successes)
- User count (guage)
- Users (registrations, spam, ham)
- Posting (publish, trash, delete)
- Commenting (received, approved, trashed, spam, unspam)
- Attachments (Add, edit, delete)
- XML-RPC (every command individually, you can rollup)
- Multisite blog count (guage)
- Multiiste blog actions (new, spam, ham, archive, unarchive, delete, undelete)
- Page generation times
- Query count (type + time when SAVEQUERIES defined)
- Remote HTTP requests (count, time – by host)
- WP Cron calls
- WP Emails
- and more!
Requires StatsD on localhost or a server on your private network.
You can also call the $statsd global class in other plugin/theme code for instant tracking of any application metric. See API usage instructions: https://github.com/domnikl/statsd-php/blob/develop/README.md
Contribute at GitHub.
To Do
Want to implement batch collection and send of metrics via one or minimal UDP packets required based on connection time.
Screenshots
Installation
- Install StatsD on localhost or a server on your private network.
- If StatsD is not on localhost, define the local daemon IP in wp-config.php:
define( 'STATSD_IP', 'x.x.x.x' );
- Install the plugin
- Activate or Network Activate on multisite
- That’s it!
See the FAQ for more advanced configuration.
FAQ
By default the parent namespace used for stats is βyourdomain_yourpath.wordpress.β where yourdomain_yourpath would be βwww_domain_com_blogβ if your site is http://www.domain.com/blog/. You can override the parent namespace via the define('STATSD_NAMESPACE', 'mysite.myserver');
define in wp-config.php. This one is very important, controls how it shows up in Graphite stats.
This should be segmented, left to right general to specific. All β.β trigger segments. For example:
applicationname.server like βwpmudev.app1β or βedublogs.web4β. That allows for drilling down, but can still wrapup in graphs with βedublogs.β etc.
Can also be run as an mu-plugin by dropping statsd.php in /wp-content/mu-plugins/
.
If needed you can overide the default UDP port of 8125 via define('STATSD_PORT', xxxx);
define.
If you have a very high traffic site you can lower the default 0.5 sample rate for per-pageload calls via STATSD_SAMPLE_RATE
.
If you don’t want to send HTTP metrics per page URL, you can disable this via SKIP_URL_METRICS
Contribute at GitHub.
Reviews
Contributors & Developers
“StatsD WordPress Client” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “StatsD WordPress Client” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.2
- Ability to disable per url metrics for HTTP calls via SKIP_URL_METRICS define – props @Sophie Haskins
0.1
- Initial Release