Ranetrace buffers errors, events, logs, page visits, and JavaScript errors in cache, then ships them to the API in batches. Two moving parts make that happen:
ranetrace:work — a scheduled command that reads each buffer and dispatches batch jobs to the queue.If either piece is missing, buffered data stays put.
ranetrace:workAdd it to routes/console.php:
use Illuminate\Support\Facades\Schedule;
Schedule::command('ranetrace:work')
->everyMinute()
->withoutOverlapping()
->runInBackground();
Make sure Laravel's scheduler itself is running — typically a cron entry:
* * * * * cd /path-to-your-app && php artisan schedule:run >> /dev/null 2>&1
From the command's signature:
ranetrace:work {--type= : Specific type to process (errors, events, logs, page_visits, javascript_errors)}
Without --type, the command processes every feature in turn.
Batch jobs are dispatched to the queue named by RANETRACE_BATCH_QUEUE_NAME (default: default). Any standard Laravel queue worker processes them:
php artisan queue:work --queue=default
If you change the queue name:
RANETRACE_BATCH_QUEUE_NAME=ranetrace
…match the worker:
php artisan queue:work --queue=ranetrace
php artisan ranetrace:status
Status accepts --json for machine-readable output. After installing, run the test command to send a synthetic payload through the buffer:
php artisan ranetrace:test --all
Per-feature variants exist:
| Command | Source |
|---|---|
ranetrace:test |
RanetraceTestCommand |
ranetrace:test-errors |
RanetraceErrorTestCommand |
ranetrace:test-events |
RanetraceEventTestCommand |
ranetrace:test-logging |
RanetraceLogTestCommand |
ranetrace:test-analytics |
RanetraceAnalyticsTestCommand |
ranetrace:test-javascript-errors |
RanetraceJavaScriptErrorTestCommand |
From config/ranetrace.php under batch:
| Env Var | Description | Default |
|---|---|---|
RANETRACE_BATCH_QUEUE_NAME |
Queue name for batch jobs | default |
RANETRACE_BATCH_CACHE_DRIVER |
Cache driver for the buffer | redis |
RANETRACE_BATCH_BUFFER_TTL |
Buffer TTL in seconds | 3600 |
RANETRACE_BATCH_MAX_BUFFER_SIZE |
Max items per feature buffer | 5000 |
The buffer needs a persistent cache driver — the array driver won't survive past a single request.
The package can pause a feature (or all features) — for example after API errors. Inspect and clear pauses with:
# Inspect — pauses show up in ranetrace:status output
php artisan ranetrace:status
# Clear the global pause
php artisan ranetrace:pause-clear --global
# Clear a specific feature
php artisan ranetrace:pause-clear --feature=errors
Valid --feature values, from the command's signature: errors, events, logs, page_visits, javascript_errors.