renoki-co/octane-exporter
Prometheus exporter for Laravel Octane that surfaces worker and server metrics such as memory usage, request counts, and worker health, so you can monitor Octane-powered Laravel apps with your existing Prometheus and Grafana setup.
renoki-co/octane-exporter is a Laravel Octane metrics/exporter package: use it when you want Prometheus-style visibility into an Octane application’s HTTP traffic, worker behavior, and runtime health. Release 1.1.0 is primarily a compatibility release: it adds Laravel 9.x and OpenSwoole support. No breaking changes are stated, so existing Laravel 8/Swoole users should treat it as a low-risk upgrade and Laravel 9/OpenSwoole users should now be able to adopt it.
Minimal adoption path:
artisan serve:
php artisan octane:start --server=swooleWhere to look first:
config/octane-exporter.php or the package README’s configuration section for route, middleware, and enabled metrics.php artisan route:list to confirm the metrics endpoint is registered.php -m | grep -i openswoole when using OpenSwoole.First use case: expose request counts/latency and Octane worker health from a Laravel 9 + OpenSwoole service, then alert in Prometheus/Grafana on error rate, latency, and worker availability.
Treat the exporter as an observability sidecar for Octane, not as application business logic.
Common patterns:
1.1.0, deploy to a Laravel 9/OpenSwoole canary and curl the metrics endpoint before rolling out broadly. Confirm metric names and labels remain stable for dashboards.For Laravel 9/OpenSwoole specifically:
artisan octane:start has the OpenSwoole extension enabled.php artisan optimize:clear or the equivalent for your deployment.php artisan serve or PHP-FPM will not exercise the same worker lifecycle and may produce missing or misleading metrics.php -v, php -m, and the CLI binary used by your process manager.octane:reload or a deploy, expect counters to reset unless the package explicitly persists them.php artisan route:list, curl the endpoint locally from the server, check response Content-Type, inspect Octane logs, and confirm the package’s event listeners are registered. If metrics are empty, first prove Octane requests are flowing through the expected server mode.How can I help you explore Laravel packages today?