mkabischev/collector

Metric collecting library

dev-master 2015-04-04 19:38 UTC

This package is not auto-updated.

Last update: 2020-01-10 15:30:28 UTC


README

Build Status Scrutinizer Code Quality Code Coverage

Installation

Install it with Composer:

{
    "require": {
        "mkabischev/collector": "dev-master"
    }
}

Sources

  • Database
  • Array
  • Pinba
  • AWS CloudWatch
  • RabbitMQ

Storages

  • File
  • Carbon (Graphite)
  • InfluxDB

Usage

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);