Deze package maakt het mogelijk om gegevens over het project naar een endpoint naar keuze te sturen zodat je statistieken bij kan houden over bijvoorbeeld hoe groot de database is, hoeveel geheugen wordt er gebruikt en welke packages worden er gebruikt.
composer require marshmallow/server-project-usage
First publish the config or update your .env
file with the values below.
PROJECT_USAGE_API_ENDPOINT=XXXXX
PROJECT_USAGE_CUSTOMER_ID=XXXXXX
PROJECT_USAGE_PROJECT_ID=XXXXXX
Add the following command to your composer.json
so on every composer update we will update the information in your panel.
"scripts": {
"post-autoload-dump": [
// ...
"@php artisan marshmallow:publish-package-usage --ansi"
],
// ...
}
Add the command to your schedule in every project and handle the request on the endpoint in your config file to store the data that will be send.
protected function schedule(Schedule $schedule)
{
$schedule->command('marshmallow:publish-project-usage')->daily();
}
# This will show the data that will be send to the endpoint
php artisan marshmallow:show-project-usage
# This will do a post request to the endpoint in the config
php artisan marshmallow:publish-project-usage
# This will only post the package information to your endpoint
php artisan marshmallow:publish-package-usage
Below you will find the data that will be sent to the API endpoint.
{
"customer_id": "XXXXXX",
"project_id": "XXXXXX",
"data": {
"server": {
"php_version": "7.4.8"
},
"database": {
"size": 14155776, // bytes
"table_count": 31
},
"storage": {
"root": 284579340, // bytes
"storage": 53010322 // bytes
},
"packages": {
"composer": {
"marshmallow/package-novastyling": "v1.1.1",
"marshmallow/server-project-usage": "v1.0.4"
// ...
},
"dependencies": {
"doctrine/inflector": "2.0.3",
"laravel/ui": "v2.1.0"
// ...
}
}
}
}