This commit is contained in:
2024-01-27 14:33:42 +05:00
parent db04811bd8
commit 2ee13d5434
8 changed files with 123 additions and 186 deletions

View File

@@ -8,8 +8,6 @@
"php": "^8.1", "php": "^8.1",
"denniseilander/pulse-about-application": "^0.1.1", "denniseilander/pulse-about-application": "^0.1.1",
"eolica/nova-locale-switcher": "dev-support-nova-4", "eolica/nova-locale-switcher": "dev-support-nova-4",
"outl1ne/nova-grid": "dev-revert-back",
"geowrgetudor/disk-metrics": "^1.2",
"guzzlehttp/guzzle": "^7.2", "guzzlehttp/guzzle": "^7.2",
"konsulting/nova-target": "^1.0", "konsulting/nova-target": "^1.0",
"laravel/framework": "^10.10", "laravel/framework": "^10.10",
@@ -17,16 +15,18 @@
"laravel/pulse": "^1.0@beta", "laravel/pulse": "^1.0@beta",
"laravel/sanctum": "^3.3", "laravel/sanctum": "^3.3",
"laravel/tinker": "^2.8", "laravel/tinker": "^2.8",
"maantje/pulse-database": "^0.1.0",
"morrislaptop/laravel-pulse-4xx": "^0.0.2", "morrislaptop/laravel-pulse-4xx": "^0.0.2",
"nurmuhammet/nova-custom-html": "^1.0",
"nurmuhammet/nova-inputmask": "^1.0", "nurmuhammet/nova-inputmask": "^1.0",
"outl1ne/nova-grid": "dev-revert-back",
"outl1ne/nova-translatable": "^2.2", "outl1ne/nova-translatable": "^2.2",
"spatie/laravel-backup": "^8.4", "spatie/laravel-backup": "^8.4",
"spatie/laravel-permission": "^6.1", "spatie/laravel-permission": "^6.1",
"spatie/laravel-translatable": "^6.5", "spatie/laravel-translatable": "^6.5",
"spatie/nova-backup-tool": "^5.0", "spatie/nova-backup-tool": "^5.0",
"stepanenko3/nova-logs-tool": "^2.1", "stepanenko3/nova-logs-tool": "^2.1",
"trin4ik/nova-switcher": "^0.4.0", "trin4ik/nova-switcher": "^0.4.0"
"nurmuhammet/nova-custom-html": "*"
}, },
"require-dev": { "require-dev": {
"fakerphp/faker": "^1.9.1", "fakerphp/faker": "^1.9.1",
@@ -86,10 +86,6 @@
"1": { "1": {
"type": "vcs", "type": "vcs",
"url": "https://github.com/nurmuhammet-ali/nova-grid" "url": "https://github.com/nurmuhammet-ali/nova-grid"
},
"2": {
"type": "path",
"url": "/Users/nurmuhammetallanov/code/package-development/laravel/nova/custom-html"
} }
}, },
"config": { "config": {

151
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "080f37bf6161786b9084d839177d7e34", "content-hash": "72940f1cdfb2570167bdb444d8b28b15",
"packages": [ "packages": [
{ {
"name": "brick/math", "name": "brick/math",
@@ -1148,74 +1148,6 @@
], ],
"time": "2023-10-12T05:21:21+00:00" "time": "2023-10-12T05:21:21+00:00"
}, },
{
"name": "geowrgetudor/disk-metrics",
"version": "1.2",
"source": {
"type": "git",
"url": "https://github.com/geowrgetudor/disk-metrics.git",
"reference": "a6323b0ceae580c95b91b9181449678bc92afd04"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/geowrgetudor/disk-metrics/zipball/a6323b0ceae580c95b91b9181449678bc92afd04",
"reference": "a6323b0ceae580c95b91b9181449678bc92afd04",
"shasum": ""
},
"require": {
"illuminate/contracts": "^10.0",
"laravel/pulse": "^1.0@beta",
"php": "^8.1",
"spatie/laravel-package-tools": "^1.14.0"
},
"require-dev": {
"laravel/pint": "^1.0",
"nunomaduro/collision": "^7.8",
"orchestra/testbench": "^8.8",
"pestphp/pest": "^2.20",
"pestphp/pest-plugin-arch": "^2.0",
"pestphp/pest-plugin-laravel": "^2.0"
},
"type": "library",
"extra": {
"laravel": {
"providers": [
"Geow\\DiskMetrics\\DiskMetricsServiceProvider"
],
"aliases": {
"DiskMetrics": "Geow\\DiskMetrics\\Facades\\DiskMetrics"
}
}
},
"autoload": {
"psr-4": {
"Geow\\DiskMetrics\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "George Tudor",
"email": "georgebitq@gmail.com",
"role": "Developer"
}
],
"description": "Monitor disk size, file & directory count for Laravel Pulse",
"homepage": "https://github.com/geowrgetudor/disk-metrics",
"keywords": [
"disk-metrics",
"laravel",
"pulse"
],
"support": {
"issues": "https://github.com/geowrgetudor/disk-metrics/issues",
"source": "https://github.com/geowrgetudor/disk-metrics/tree/1.2"
},
"time": "2023-12-06T10:46:42+00:00"
},
{ {
"name": "graham-campbell/result-type", "name": "graham-campbell/result-type",
"version": "v1.1.2", "version": "v1.1.2",
@@ -3133,6 +3065,60 @@
], ],
"time": "2024-01-26T14:25:51+00:00" "time": "2024-01-26T14:25:51+00:00"
}, },
{
"name": "maantje/pulse-database",
"version": "v0.1.0",
"source": {
"type": "git",
"url": "https://github.com/maantje/pulse-database.git",
"reference": "ec5408a4357923294412d3d12dd86951e19ec60f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/maantje/pulse-database/zipball/ec5408a4357923294412d3d12dd86951e19ec60f",
"reference": "ec5408a4357923294412d3d12dd86951e19ec60f",
"shasum": ""
},
"require": {
"illuminate/support": "*",
"laravel/pulse": "^1.0.0@beta",
"php": "^8.1"
},
"require-dev": {
"mockery/mockery": "^1.5.0",
"orchestra/testbench": "^8",
"phpunit/phpunit": "^10"
},
"type": "library",
"extra": {
"laravel": {
"providers": [
"Maantje\\Pulse\\Database\\DatabaseServiceProvider"
]
}
},
"autoload": {
"psr-4": {
"Maantje\\Pulse\\Database\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jamie Schouten",
"email": "j4mie@hey.com"
}
],
"description": "A Laravel Pulse card for database status",
"support": {
"issues": "https://github.com/maantje/pulse-database/issues",
"source": "https://github.com/maantje/pulse-database/tree/v0.1.0"
},
"time": "2023-12-10T21:55:46+00:00"
},
{ {
"name": "monolog/monolog", "name": "monolog/monolog",
"version": "3.5.0", "version": "3.5.0",
@@ -3760,11 +3746,17 @@
}, },
{ {
"name": "nurmuhammet/nova-custom-html", "name": "nurmuhammet/nova-custom-html",
"version": "dev-main", "version": "1.0.10",
"source": {
"type": "git",
"url": "https://github.com/nurmuhammet-ali/nova-custom-html.git",
"reference": "d8d424b54d254f93ff838cb15772c443dfbac8fd"
},
"dist": { "dist": {
"type": "path", "type": "zip",
"url": "/Users/nurmuhammetallanov/code/package-development/laravel/nova/custom-html", "url": "https://api.github.com/repos/nurmuhammet-ali/nova-custom-html/zipball/d8d424b54d254f93ff838cb15772c443dfbac8fd",
"reference": "d48cce3deb162a0ef18f279dd92083c8588e74e1" "reference": "d8d424b54d254f93ff838cb15772c443dfbac8fd",
"shasum": ""
}, },
"require": { "require": {
"php": "^7.3|^8.0" "php": "^7.3|^8.0"
@@ -3782,6 +3774,7 @@
"Nurmuhammet\\NovaCustomHtml\\": "src/" "Nurmuhammet\\NovaCustomHtml\\": "src/"
} }
}, },
"notification-url": "https://packagist.org/downloads/",
"license": [ "license": [
"MIT" "MIT"
], ],
@@ -3790,9 +3783,11 @@
"laravel", "laravel",
"nova" "nova"
], ],
"transport-options": { "support": {
"relative": false "issues": "https://github.com/nurmuhammet-ali/nova-custom-html/issues",
} "source": "https://github.com/nurmuhammet-ali/nova-custom-html/tree/1.0.10"
},
"time": "2024-01-26T20:59:45+00:00"
}, },
{ {
"name": "nurmuhammet/nova-inputmask", "name": "nurmuhammet/nova-inputmask",
@@ -12225,8 +12220,8 @@
"minimum-stability": "dev", "minimum-stability": "dev",
"stability-flags": { "stability-flags": {
"eolica/nova-locale-switcher": 20, "eolica/nova-locale-switcher": 20,
"outl1ne/nova-grid": 20, "laravel/pulse": 10,
"laravel/pulse": 10 "outl1ne/nova-grid": 20
}, },
"prefer-stable": true, "prefer-stable": true,
"prefer-lowest": false, "prefer-lowest": false,

View File

@@ -1,24 +0,0 @@
<?php
return [
/**
* Track disks defined in filesystems.php config file.
* Support only 'local' or 's3' driver.
*
* You can pass an array ['directories', 'files'] ONLY to a local disk
* which will determine what to be counted. To count both,
* you can pass an empty array.
*/
'disks' => [
'local' => [],
// 'public' => [],
// 's3' => []
],
/**
* How often (in minutes) should the Laravel Pulse capture data?
* The value should be greated than 1!
* Default: 10
*/
'record_interval' => 1
];

View File

@@ -12,6 +12,6 @@ return [
// 'environment', // 'environment',
// 'cache', // 'cache',
// 'drivers', // 'drivers',
// 'livewire', 'livewire',
], ],
]; ];

View File

@@ -224,14 +224,41 @@ return [
], ],
], ],
\Geow\DiskMetrics\Recorders\DiskRecorder::class => [
'enabled' => env('GEOW_DISK_METRICS', true),
],
\Morrislaptop\LaravelPulse4xx\FourXxRecorder::class => [ \Morrislaptop\LaravelPulse4xx\FourXxRecorder::class => [
'enabled' => env('PULSE_4XX_ENABLED', true), 'enabled' => env('PULSE_4XX_ENABLED', true),
'sample_rate' => env('PULSE_4XX_SAMPLE_RATE', 1), 'sample_rate' => env('PULSE_4XX_SAMPLE_RATE', 1),
'ignore' => [], 'ignore' => [],
], ],
\Maantje\Pulse\Database\Recorders\DatabaseRecorder::class => [
'connections' => [
'pgsql' => [
'values' => [
'Connections',
'Threads_connected',
'Threads_running',
'Innodb_buffer_pool_reads',
'Innodb_buffer_pool_read_requests',
'Innodb_buffer_pool_pages_total',
'Max_used_connections'
],
'aggregates' => [
'avg' => [
'Threads_connected',
'Threads_running',
'Innodb_buffer_pool_reads',
'Innodb_buffer_pool_read_requests',
'Innodb_buffer_pool_pages_total',
],
'max' => [
//
],
'count' => [
//
],
],
]
]
],
], ],
]; ];

View File

@@ -1,65 +0,0 @@
<x-pulse::card :cols="$cols" :rows="$rows" :class="$class">
<x-pulse::card-header name="{{ __('Disk Metrics') }}">
<x-slot:icon>
<x-dynamic-component :component="'pulse::icons.sparkles'" />
</x-slot:icon>
</x-pulse::card-header>
<x-pulse::scroll :expand="$expand" wire:poll.5s="">
@if (empty($data))
<x-pulse::no-results />
@else
<x-pulse::table>
<colgroup>
<col width="100%" />
<col width="0%" />
<col width="0%" />
</colgroup>
<x-pulse::thead>
<tr>
<x-pulse::th>{{ __('Disk') }}</x-pulse::th>
<x-pulse::th class="text-right">{{ __('Directories') }}</x-pulse::th>
<x-pulse::th class="text-right">{{ __('Files') }}</x-pulse::th>
<x-pulse::th class="text-right">{{ __('Size') }}</x-pulse::th>
</tr>
</x-pulse::thead>
<tbody>
@foreach ($data as $diskName => $details)
<tr class="h-2 first:h-0"></tr>
<tr wire:key="{{ $diskName }}">
<x-pulse::td class="max-w-[1px]">
<code class="block text-xs text-gray-900 dark:text-gray-100 truncate"
title="{{ $diskName }}">
{{ ucfirst($diskName) }}
</code>
<p class="mt-1 text-xs text-gray-500 dark:text-gray-400 truncate" title="">
@if ($details['disk_data']['root'])
{{ $details['disk_data']['root'] }}
@endif
@if ($details['disk_data']['bucket'])
{{ $details['disk_data']['bucket'] }}
@endif
</p>
</x-pulse::td>
<x-pulse::td numeric class="text-gray-700 dark:text-gray-300 font-bold">
@if (isset($details['metrics']['directory_count']))
{{ $details['metrics']['directory_count']->value }}
@endif
</x-pulse::td>
<x-pulse::td numeric class="text-gray-700 dark:text-gray-300 font-bold">
@if (isset($details['metrics']['file_count']))
{{ $details['metrics']['file_count']->value }}
@endif
</x-pulse::td>
<x-pulse::td numeric class="text-gray-700 dark:text-gray-300 font-bold">
@if (isset($details['metrics']['total_size']))
{{ $details['metrics']['total_size']->value }}
@endif
</x-pulse::td>
</tr>
@endforeach
</tbody>
</x-pulse::table>
@endif
</x-pulse::scroll>
</x-pulse::card>

View File

@@ -1,18 +1,26 @@
<x-pulse> <x-pulse>
<livewire:pulse.about-application cols="4" rows="2" />
<livewire:disk-metrics cols="4" rows="2" />
<livewire:4xx cols="4" rows="2" />
<livewire:pulse.servers cols="full" /> <livewire:pulse.servers cols="full" />
<livewire:pulse.usage cols="4" rows="2" /> <livewire:pulse.usage cols="4" rows="2" />
<livewire:4xx cols="8" rows="2" />
<livewire:pulse.about-application cols="4" rows="2" />
<livewire:pulse.queues cols="4" /> <livewire:pulse.queues cols="4" />
<livewire:pulse.cache cols="4" /> <livewire:pulse.cache cols="4" />
<livewire:database cols="full" title="Active threads" :values="['Threads_connected', 'Threads_running']" :graphs="[
'avg' => ['Threads_connected' => '#ffffff', 'Threads_running' => '#3c5dff'],
]" />
<livewire:database cols="full" title="Connections" :values="['Connections', 'Max_used_connections']" />
<livewire:database cols="full" title="Innodb" :values="['Innodb_buffer_pool_reads', 'Innodb_buffer_pool_read_requests', 'Innodb_buffer_pool_pages_total']" :graphs="[
'avg' => ['Innodb_buffer_pool_reads' => '#ffffff', 'Innodb_buffer_pool_read_requests' => '#3c5dff'],
]" />
<livewire:pulse.slow-queries cols="8" /> <livewire:pulse.slow-queries cols="8" />
<livewire:pulse.exceptions cols="6" /> <livewire:pulse.exceptions cols="6" />