Application level data collector package for laravel
This package is auto-updated.
Last update: 2022-06-22 11:23:30 UTC
This collector implements a native Laravel solution for collecting application statistics. Currently to enable this kind of functionality you would need to install Node and StatsD to your host and then begin piping your data. You'd then need to install a third party application to ingest the data and then display.
This client is part of the LightLogs application framework which enables ingesting and displaying from a single Open Source application.
You can install the package via composer:
composer require turbo124/beacon
The default method to send metrics is to create a static property class (see /src/ExampleMetric/GenericCounter) and build a collect like this
LightLogs::create(new GenericCounter()) ->increment() ->batch();
This will batch the metric requests and an underlying Scheduler job will process all metric every 5 minutes (please note you will need to have the Laravel Scheduler running for these jobs to be dispatched).
Whilst not advised to do this in production due to the latency overhead, if your metric needs to be fired immediately you can do this syncronously using the following.
LightLogs::create(new GenericCounter()) ->increment() ->send();
A better way to handle jobs that need to be fired immediately without blocking would be to use the ->queue() method which will dispatch a Job onto the applications queue
LightLogs::create(new GenericCounter()) ->increment() ->queue();
Please see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email firstname.lastname@example.org instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.