adgoal/statsd-php-client
Lightweight PHP client for StatsD metrics. Send counters, gauges, timers and other events to a StatsD server with minimal setup, suitable for adding application monitoring and performance tracking to Laravel or any PHP project.
register() in AppServiceProvider)..env binding).StatsdClient required.spatie/laravel-monitoring (Laravel-native) or prometheus/client_php for Prometheus-native metrics.prometheus/client_php) suffice?laravel-statsd) needed?statsd_exporter to bridge StatsD → Prometheus.laravel-horizon) or cron jobs (laravel-schedule).Log::channel('statsd') hacks).composer require adgoal/statsd-php-client).StatsdClient in AppServiceProvider:
$this->app->singleton(StatsdClient::class, function ($app) {
return new StatsdClient([
'host' => config('statsd.host'),
'port' => config('statsd.port'),
'prefix' => config('app.name'),
]);
});
StatsdClient::increment(), StatsdClient::timing(), etc.php artisan make:facade Statsd) for cleaner syntax.StatsdMiddleware).prometheus/client_php.pcntl may help with async batching.statsd:metrics namespace).cart_abandoned, checkout_success).node-statsd)..env keys (e.g., STATSD_HOST).tcpdump).laravel-monitor or custom health checks.statsd:drops metric).statsd containers).| Failure | Impact | Mitigation |
|---|---|---|
| StatsD server down | Metrics loss | TCP fallback or local buffering |
| UDP packet loss | Incomplete data | Retry logic or switch to TCP |
| PHP 8.x incompatibility | Breaking changes | Fork or migrate to alternative |
| High cardinality metrics | StatsD server overload | Use consistent naming (e.g., app.*) |
Statsd::increment('user.signups')).How can I help you explore Laravel packages today?