turbo124 / beacon
Application level data collector package for laravel
Requires
- php: ^8
- guzzlehttp/guzzle: ^7
- illuminate/support: ^9.0|^10.0|^11
Requires (Dev)
- phpunit/phpunit: ^9.0
- dev-master
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.4
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.6
- v1.3.5
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.0
- 1.1.1
- 1.1.0
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- v1.0.1
- 1.0.0
- 0.83
- 0.9.0
- 0.8.3
- 0.8.2
- 0.8.1
- 0.8.0
- 0.7.2
- 0.7.1
- 0.7.0
- 0.6.1
- 0.6.0
- 0.5.3
- 0.5.2
- 0.5.1
- 0.5.0
- 0.4.0
- 0.3.2
- 0.3.1
- 0.3.0
- v0.2.0
- v0.1.10
- v0.1.9
- v0.1.8
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- 0.1.0
- v0.0.4
- v0.0.3
- v0.0.2
- v0.0.1
This package is auto-updated.
Last update: 2024-10-12 06:58:04 UTC
README
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.
Installation
You can install the package via composer:
composer require turbo124/beacon
Usage
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();
Testing
composer test
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email turbo124@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.