eleme / statsd
A simple library for working with StatsD in PHP. Base on league/statsd
Requires (Dev)
- phpunit/phpunit: ~4.0
- silex/silex: ~1.0
This package is not auto-updated.
Last update: 2024-11-09 20:22:58 UTC
README
A library for working with StatsD in PHP.
Install
Via Composer
{ "require": { "league/statsd": "1.4.*" } }
To use the Statsd Service Provider, you must register the provider when bootstrapping your Laravel application.
Find the providers
key in your app/config/app.php
and register the Statsd Service Provider.
'providers' => array( // ... 'League\StatsD\Laravel\Provider\StatsdServiceProvider', )
Find the aliases
key in your app/config/app.php
and add the Statsd Facade Alias.
'aliases' => array( // ... 'Statsd' => 'League\StatsD\Laravel\Facade\StatsdFacade', )
For Laravel 5:
Find the providers
key in your config/app.php
and register the Statsd Service Provider.
'providers' => [ // ... League\StatsD\Laravel5\Provider\StatsdServiceProvider::class, ]
Find the aliases
key in your app/config/app.php
and add the Statsd Facade Alias.
'aliases' => [ // ... 'Statsd' => League\StatsD\Laravel5\Facade\StatsdFacade::class, ]
Usage
Configuring
$statsd = new League\StatsD\Client(); $statsd->configure(array( 'host' => '127.0.0.1', 'port' => 8125, 'namespace' => 'example' ));
OR
$statsd1 = StatsD\Client::instance('server1')->configure(array(...)); $statsd2 = StatsD\Client::instance('server2')->configure(array(...));
The StatsD client wait for ini_get('default_socket_timeout')
seconds when opening the socket by default. To reduce
this timeout, add 'timeout' => <float>
to your config.
The StatsD client will throw a ConnectionException
if it is unable to send data to the StatsD server. You may choose
to disable these exceptions and log a PHP warning instead if you wish. To do so, include the following in your config:
'throwConnectionExceptions' => false
If omitted, this option defaults to true
.
Counters
$statsd->increment('web.pageview'); $statsd->decrement('storage.remaining'); $statsd->increment(array( 'first.metric', 'second.metric' ), 2); $statsd->increment('web.clicks', 1, 0.5);
Gauges
$statsd->gauge('api.logged_in_users', 123456);
Sets
$userID = 23; $statsd->set('api.unique_logins', $userID);
Timers
$statsd->timing('api.response_time', 256);
Timing Blocks
$statsd->time('api.dbcall', function () { // this code execution will be timed and recorded in ms });
Testing
phpunit
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.