Skip to content
This repository has been archived by the owner on Jul 20, 2019. It is now read-only.

pwillcode/php-datadogstatsd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP DataDog StatsD Client

This is an extremely simple PHP datadogstatsd client

Installation

Composer

Add the following to your composer.json:

"datadog/php-datadogstatsd": "0.1.*"

Note: The first version shipped in composer is 0.0.3

Or manually

Clone repository at github.com/DataDog/php-datadogstatsd

Setup: require './libraries/datadogstatsd.php';

Usage

Increment

To increment things:

DataDogStatsD::increment('your.data.point');
DataDogStatsD::increment('your.data.point', .5);
DataDogStatsD::increment('your.data.point', 1, array('tagname' => 'value'));

Decrement

To decrement things:

DataDogStatsD::decrement('your.data.point');

Timing

To time things:

$start_time = microtime(true);
run_function();
DataDogStatsD::timing('your.data.point', microtime(true) - $start_time);

DataDogStatsD::timing('your.data.point', microtime(true) - $start_time, 1, array('tagname' => 'value'));

Submitting events

Requires PHP >= 5.3.0 with the PECL http version 1.7.6 extension

To submit events, you'll need to first configure the library with your Datadog credentials, since the event function submits directly to Datadog instead of sending to a local dogstatsd instance.

$apiKey = 'myApiKey';
$appKey = 'myAppKey';

DataDogStatsD::configure($apiKey, $appKey);
DataDogStatsD::event('A thing broke!', array(
	'alert_type'      => 'error',
	'aggregation_key' => 'test_aggr'
));
DataDogStatsD::event('Now it is fixed.', array(
	'alert_type'      => 'success',
	'aggregation_key' => 'test_aggr'
));

This is what you'd see your Datadog event stream:

screenshot

You can find your api and app keys in the API tab.

For more documentation on the optional values of events, see http://docs.datadoghq.com/api/#events/.

Note that while sending metrics with this library is fast since it's sending locally over UDP, sending events will be slow because it's sending data directly to Datadog over HTTP. We'd like to improve this in the near future.

Author

Alex Corley - anthroprose@gmail.com