Install it with Composer:
{
"require": {
"mkabischev/collector": "dev-master"
}
}
- Database
- Array
- Pinba
- AWS CloudWatch
- RabbitMQ
- File
- Carbon (Graphite)
- InfluxDB
use Kabischev\Collector\Source\Database;
use Kabischev\Collector\Storage\Stream as StreamStorage;
use Kabischev\Collector\Storage\Stream\Formatter\Carbon as CarbonFormatter;
use Streamer\NetworkStream;
$source = new Database($pdo, 'SELECT `key`, `value` FROM `table`', function(array $row) {
return new Metric($row['key'], $row['value']);
});
$storage = new StreamStorage(NetworkStream::create('tcp://graphite.host:2003'), new CarbonFormatter());
$storage->store($source);