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
Interested in development?
- Ability to disable per url metrics for HTTP calls via SKIP_URL_METRICS define – props @Sophie Haskins
- Initial Release