Download the PHP package codebros-nl/monitoring-client without Composer
On this page you can find all versions of the php package codebros-nl/monitoring-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download codebros-nl/monitoring-client
More information about codebros-nl/monitoring-client
Files in codebros-nl/monitoring-client
Package monitoring-client
Short Description Ships Laravel application telemetry (requests, exceptions, queries, jobs, cache, scheduled tasks, outgoing requests) to the CodeBros portal's monitoring ingest endpoint, reusing Laravel Pulse's recorders for data capture.
License proprietary
Informations about the package monitoring-client
codebros-nl/monitoring-client
Ships Laravel application telemetry — requests, exceptions, slow queries, jobs, cache hit/miss, scheduled task runs, and outgoing HTTP calls — to the CodeBros portal's monitoring dashboard.
It reuses Laravel Pulse as
infrastructure only: Pulse's Ingest buffering contract and the
pulse:work flush loop. It does not use Pulse's dashboard or most of
its built-in recorders — those are optimized for lightweight sampled
aggregates, not the full per-event detail (HTTP status codes, job
success/failed/retried, scheduled task health) the portal needs. Instead,
custom recorders capture that detail and buffer it the same way Pulse
does, and a custom Ingest implementation batches it to the portal over
HTTP instead of writing to a local database.
Installation
Publish the config file:
Configuration
Set these in the client app's .env — the token comes from the portal's
project Monitoring tab ("Monitoring-app toevoegen"):
Telemetry is buffered in the application's default cache store between
requests/jobs. The cache store must be one that persists across
processes (file, database, redis, memcached) — array will
silently drop everything, since it never leaves the current process. Set
MONITORING_CACHE_STORE to point at a specific store if the app's default
cache driver isn't suitable.
Running the flush loop
Buffered telemetry is only sent to the portal when something calls
Pulse::digest(). Run Laravel Pulse's own pulse:work command as a
supervised background process — this package doesn't ship its own
command, it rides on Pulse's:
Under Supervisor (or an equivalent process manager), matching how you'd
run pulse:work for stock Pulse:
Restart it after deploys the same way you would pulse:work:
What gets sent
| Table (portal side) | Source |
|---|---|
monitoring_requests |
Custom recorder — every request, with status code |
monitoring_exceptions |
Custom recorder — class, message, context, trace |
monitoring_queries |
Pulse's SlowQueries recorder, threshold: 0 |
monitoring_jobs |
Custom recorder — success/failed/retried, queue |
monitoring_cache |
Pulse's CacheInteractions recorder |
monitoring_scheduled_tasks |
Custom recorder — Pulse ships none for this |
monitoring_outgoing_requests |
Custom recorder — every HTTP client call, with status |
Not captured, by design: full request/response payloads, and any user-level tracking (matches the portal's own privacy scope).
Development
Uses Orchestra Testbench to boot a minimal Laravel app for tests; no external services required.