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.
Want to implement batch collection and send of metrics via one or minimal UDP packets required based on connection time.
- 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.
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
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
If you don’t want to send HTTP metrics per page URL, you can disable this via SKIP_URL_METRICS
Contribute at GitHub.
Contributors & Developers
“StatsD WordPress Client” is open source software. The following people have contributed to this plugin.Contributors
Translate “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.
- Ability to disable per url metrics for HTTP calls via SKIP_URL_METRICS define – props @Sophie Haskins
- Initial Release