Telemetry primitives + CandyWish session middleware
Counters, gauges, histograms with pluggable backends โ drop-in middleware for SSH session metrics. Counter / Gauge / Histogram + four backends: InMemory, JsonStream, StatsD, Prometheus textfile, plus a Multi fan-out.
composer require candycore/candy-metrics
use CandyCore\Metrics\Registry;
use CandyCore\Metrics\Backend\StatsdBackend;
$reg = new Registry(new StatsdBackend('127.0.0.1', 8125));
$reg->counter('http.requests', 1, ['route' => '/api/foo', 'status' => '200']);
$reg->gauge ('queue.depth', 42);
$stop = $reg->time('http.duration', ['route' => '/api/foo']);
handleRequest();
$stop();
// Pre-tag every emit:
$req = $reg->withTags(['request_id' => $rid, 'user' => $userId]);
$req->counter('events');
->withTags(['user' => $u]) returns a registry that pre-tags every emit.$stop = $reg->time('http.duration'); $stop() โ emit a histogram sample on close.