first commit
This commit is contained in:
		
							
								
								
									
										204
									
								
								resources/views/livewire/cache/cache-functions.blade.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										204
									
								
								resources/views/livewire/cache/cache-functions.blade.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,204 @@
 | 
			
		||||
<div>
 | 
			
		||||
    <div id="cache-functions-card">
 | 
			
		||||
        <div class="card">
 | 
			
		||||
            <div class="card-body">
 | 
			
		||||
                <h5 class="card-title">Resumen de Caché y Funcionalidades</h5>
 | 
			
		||||
                <div class="table-responsive">
 | 
			
		||||
                    <table class="table table-bordered">
 | 
			
		||||
                        <thead>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <th>Tipo</th>
 | 
			
		||||
                                <th>Estado</th>
 | 
			
		||||
                                <th>Detalles</th>
 | 
			
		||||
                                <th>Acción</th>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                        </thead>
 | 
			
		||||
                        <tbody>
 | 
			
		||||
                            {{-- Caché General --}}
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Caché general</strong></td>
 | 
			
		||||
                                <td class="text-center">
 | 
			
		||||
                                    <span class="{{ is_numeric($cacheCounts['general']) && $cacheCounts['general'] > 0 ? 'text-success' : 'text-danger' }}">
 | 
			
		||||
                                        {{ is_numeric($cacheCounts['general']) ? $cacheCounts['general'] : 'Error' }}
 | 
			
		||||
                                    </span>
 | 
			
		||||
                                </td>
 | 
			
		||||
                                <td>Elementos almacenados</td>
 | 
			
		||||
                                <td>
 | 
			
		||||
                                    <button
 | 
			
		||||
                                        class="btn btn-primary btn-sm my-2 mr-2"
 | 
			
		||||
                                        wire:click="clearLaravelCache"
 | 
			
		||||
                                        {{ !is_numeric($cacheCounts['general']) || !$cacheCounts['general'] ? 'disabled' : '' }}
 | 
			
		||||
                                        data-loading-text="Eliminando caché...">
 | 
			
		||||
                                        Elimina caché de aplicación
 | 
			
		||||
                                    </button>
 | 
			
		||||
                                </td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
 | 
			
		||||
                            {{-- Configuración --}}
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Configuración</strong></td>
 | 
			
		||||
                                <td class="text-center">
 | 
			
		||||
                                    <span class="{{ $cacheCounts['config'] ? 'text-success' : 'text-danger' }}">
 | 
			
		||||
                                        {{ $cacheCounts['config'] ? 'Habilitada' : 'No habilitada' }}
 | 
			
		||||
                                    </span>
 | 
			
		||||
                                </td>
 | 
			
		||||
                                <td>{{ $cacheCounts['config'] ? 'Caché de configuración activa' : 'No se encontró caché de configuración' }}</td>
 | 
			
		||||
                                <td>
 | 
			
		||||
                                    <button
 | 
			
		||||
                                        class="btn btn-secondary btn-sm my-2 mr-2"
 | 
			
		||||
                                        wire:click="clearConfigCache"
 | 
			
		||||
                                        {{ !$cacheCounts['config'] ? 'disabled' : '' }}
 | 
			
		||||
                                        data-loading-text="Eliminando caché...">
 | 
			
		||||
                                        Eliminar caché de configuración
 | 
			
		||||
                                    </button>
 | 
			
		||||
                                    <button
 | 
			
		||||
                                        class="btn btn-success btn-config-cache btn-sm my-2 mr-2"
 | 
			
		||||
                                        data-loading-text="Generando caché...">
 | 
			
		||||
                                        Generar caché de configuración
 | 
			
		||||
                                    </button>
 | 
			
		||||
                                </td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
 | 
			
		||||
                            {{-- Rutas --}}
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Rutas</strong></td>
 | 
			
		||||
                                <td class="text-center">
 | 
			
		||||
                                    <span class="{{ $cacheCounts['routes'] ? 'text-success' : 'text-danger' }}">
 | 
			
		||||
                                        {{ $cacheCounts['routes'] ? 'Habilitada' : 'No habilitada' }}
 | 
			
		||||
                                    </span>
 | 
			
		||||
                                </td>
 | 
			
		||||
                                <td>{{ $cacheCounts['routes'] ? 'Caché de rutas activa' : 'No se encontró caché de rutas' }}</td>
 | 
			
		||||
                                <td>
 | 
			
		||||
                                    <button
 | 
			
		||||
                                        class="btn btn-secondary btn-sm my-2 mr-2"
 | 
			
		||||
                                        wire:click="clearRouteCache"
 | 
			
		||||
                                        {{ !$cacheCounts['routes'] ? 'disabled' : '' }}
 | 
			
		||||
                                        data-loading-text="Eliminando caché...">
 | 
			
		||||
                                        Eliminar caché de rutas
 | 
			
		||||
                                    </button>
 | 
			
		||||
                                    <button
 | 
			
		||||
                                        class="btn btn-success btn-cache-routes btn-sm my-2 mr-2"
 | 
			
		||||
                                        data-loading-text="Generando caché...">
 | 
			
		||||
                                        Generar caché de rutas
 | 
			
		||||
                                    </button>
 | 
			
		||||
                                </td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
 | 
			
		||||
                            {{-- Vistas --}}
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Vistas</strong></td>
 | 
			
		||||
                                <td class="text-center">
 | 
			
		||||
                                    <span class="{{ $cacheCounts['views'] > 0 ? 'text-success' : 'text-danger' }}">
 | 
			
		||||
                                        {{ $cacheCounts['views'] }}
 | 
			
		||||
                                    </span>
 | 
			
		||||
                                </td>
 | 
			
		||||
                                <td>Vistas compiladas en el sistema</td>
 | 
			
		||||
                                <td>
 | 
			
		||||
                                    <button
 | 
			
		||||
                                        class="btn btn-secondary btn-sm my-2 mr-2"
 | 
			
		||||
                                        wire:click="clearViewCache"
 | 
			
		||||
                                        {{ !$cacheCounts['views'] ? 'disabled' : '' }}
 | 
			
		||||
                                        data-loading-text="Eliminando caché...">
 | 
			
		||||
                                        Eliminar caché de vistas
 | 
			
		||||
                                    </button>
 | 
			
		||||
                                    <button
 | 
			
		||||
                                    class="btn btn-success btn-sm my-2 mr-2"
 | 
			
		||||
                                    wire:click="cacheViews"
 | 
			
		||||
                                        data-loading-text="Generando caché...">
 | 
			
		||||
                                        Generar caché de vistas
 | 
			
		||||
                                    </button>
 | 
			
		||||
                                </td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
 | 
			
		||||
                            {{-- Eventos --}}
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Eventos</strong></td>
 | 
			
		||||
                                <td class="text-center">
 | 
			
		||||
                                    <span class="{{ $cacheCounts['events'] > 0 ? 'text-success' : 'text-danger' }}">
 | 
			
		||||
                                        {{ $cacheCounts['events'] ? 'Habilitada' : 'No habilitada' }}
 | 
			
		||||
                                    </span>
 | 
			
		||||
                                </td>
 | 
			
		||||
 | 
			
		||||
                                <td>{{ $cacheCounts['events'] ? 'Caché de eventos activa' : 'No se encontró caché de eventos' }}</td>
 | 
			
		||||
                                <td>
 | 
			
		||||
                                    <button
 | 
			
		||||
                                        class="btn btn-secondary btn-sm my-2 mr-2"
 | 
			
		||||
                                        wire:click="clearEventCache"
 | 
			
		||||
                                        {{ !$cacheCounts['events'] ? 'disabled' : '' }}
 | 
			
		||||
                                        data-loading-text="Eliminando caché...">
 | 
			
		||||
                                        Eliminar caché de eventos
 | 
			
		||||
                                    </button>
 | 
			
		||||
                                    <button class="btn btn-success btn-sm my-2 mr-2"
 | 
			
		||||
                                        wire:click="cacheEvents"
 | 
			
		||||
                                        data-loading-text="Generando caché...">
 | 
			
		||||
                                        Generar caché de eventos
 | 
			
		||||
                                    </button>
 | 
			
		||||
                                </td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
 | 
			
		||||
                            {{-- Optimización --}}
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Optimización</strong></td>
 | 
			
		||||
                                <td class="text-center">N/A</td>
 | 
			
		||||
                                <td>Eliminación de cacde de archivos optimizados, eventos, compilados, configuración, rutas y vistas.</td>
 | 
			
		||||
                                <td>
 | 
			
		||||
                                    <button
 | 
			
		||||
                                        class="btn btn-secondary btn-sm my-2 mr-2"
 | 
			
		||||
                                        wire:click="optimizeClear"
 | 
			
		||||
                                        data-loading-text="Eliminando caché...">
 | 
			
		||||
                                        Elimina archivos optimizados
 | 
			
		||||
                                    </button>
 | 
			
		||||
                                </td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
 | 
			
		||||
                            {{-- Resets de Autenticación --}}
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Roles y permisos</strong></td>
 | 
			
		||||
                                <td class="text-center">N/A</td>
 | 
			
		||||
                                <td>Gestión de roles y permisos (Spatie Permission)</td>
 | 
			
		||||
                                <td>
 | 
			
		||||
                                    <button
 | 
			
		||||
                                        class="btn btn-secondary btn-sm my-2 mr-2"
 | 
			
		||||
                                        wire:click="resetPermissionCache"
 | 
			
		||||
                                        data-loading-text="Eliminando caché...">
 | 
			
		||||
                                        Eliminar caché de permisos
 | 
			
		||||
                                    </button>
 | 
			
		||||
                                </td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
 | 
			
		||||
                            {{-- Tokens de restablecimiento --}}
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Tokens de restablecimiento</strong></td>
 | 
			
		||||
                                <td class="text-center">N/A</td>
 | 
			
		||||
                                <td>Eliminación de tokens de restablecimiento</td>
 | 
			
		||||
                                <td>
 | 
			
		||||
                                    <button
 | 
			
		||||
                                        class="btn btn-secondary btn-sm my-2 mr-2"
 | 
			
		||||
                                        wire:click="clearResetTokens"
 | 
			
		||||
                                        data-loading-text="Eliminando caché...">
 | 
			
		||||
                                        Eliminar tokens de restablecimiento
 | 
			
		||||
                                    </button>
 | 
			
		||||
                                </td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                        </tbody>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div>
 | 
			
		||||
            {{-- Botones --}}
 | 
			
		||||
            <div class="row my-4">
 | 
			
		||||
                <div class="col-lg-12 text-end">
 | 
			
		||||
                    <button
 | 
			
		||||
                        class="btn btn-secondary btn-sm mt-2 mr-2 waves-effect waves-light"
 | 
			
		||||
                        wire:click="reloadCacheStats"
 | 
			
		||||
                        data-loading-text="Actualizando...">
 | 
			
		||||
                        Actualizar
 | 
			
		||||
                    </button>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
            {{-- Notifications --}}
 | 
			
		||||
            <div class="notification-container" wire:ignore></div>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
							
								
								
									
										105
									
								
								resources/views/livewire/cache/cache-stats.blade.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								resources/views/livewire/cache/cache-stats.blade.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,105 @@
 | 
			
		||||
<div>
 | 
			
		||||
    <div class="form-custom-listener" id="cache-stats-card">
 | 
			
		||||
        {{-- Form Card --}}
 | 
			
		||||
        <div class="card">
 | 
			
		||||
            <div class="card-body">
 | 
			
		||||
                <h5 class="card-title">Gestión de Caché</h5>
 | 
			
		||||
                <div class="table-responsive">
 | 
			
		||||
                    <table class="table table-bordered table-sm">
 | 
			
		||||
                        <tbody>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Driver</strong></td>
 | 
			
		||||
                                <td>{{ $cacheConfig['cache']['default'] }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            @if(in_array($cacheConfig['cache']['default'], ['database', 'memcached', 'redis']))
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Versión</strong></td>
 | 
			
		||||
                                    <td>
 | 
			
		||||
                                        @if($cacheConfig['cache']['default'] == 'database')
 | 
			
		||||
                                            {{ $cacheConfig['driver'][$cacheConfig['database']['default']]['version'] }}
 | 
			
		||||
                                        @else
 | 
			
		||||
                                            {{ $cacheConfig['driver'][$cacheConfig['cache']['default']]['version'] }}
 | 
			
		||||
                                        @endif
 | 
			
		||||
                                    </td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Servidor</strong></td>
 | 
			
		||||
                                    <td>{{ $cacheConfig['cache']['host'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                            @endif
 | 
			
		||||
 | 
			
		||||
                            @if(in_array($cacheConfig['cache']['default'], ['database', 'redis']))
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Base de datos</strong></td>
 | 
			
		||||
                                    <td>
 | 
			
		||||
                                        @if ($cacheConfig['cache']['default'] == 'database')
 | 
			
		||||
                                            {{ $cacheConfig['database']['connections'][$cacheConfig['database']['default']]['database'] }}
 | 
			
		||||
                                        @else
 | 
			
		||||
                                            {{ $cacheConfig['database']['redis']['cache']['database'] }}
 | 
			
		||||
                                        @endif
 | 
			
		||||
                                    </td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                            @endif
 | 
			
		||||
 | 
			
		||||
                            @if(in_array($cacheConfig['cache']['default'], ['database', 'memcached', 'redis']))
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Prefijo</strong></td>
 | 
			
		||||
                                    <td>{{ $cacheConfig['cache']['prefix'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                            @endif
 | 
			
		||||
 | 
			
		||||
                            @if($cacheConfig['cache']['default'] == 'file')
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Ubicación de la Caché</strong></td>
 | 
			
		||||
                                    <td>{{ $cacheConfig['cache']['stores']['file']['path'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                            @endif
 | 
			
		||||
 | 
			
		||||
                            @if($cacheConfig['cache']['default'] == 'database')
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Tabla de Caché</strong></td>
 | 
			
		||||
                                    <td>{{ $cacheConfig['cache']['stores']['database']['table'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                            @endif
 | 
			
		||||
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Cantidad de Elementos</strong></td>
 | 
			
		||||
                                <td>{{ $cacheStats['item_count'] }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Espacio Utilizado</strong></td>
 | 
			
		||||
                                <td>{{ $cacheStats['memory_usage'] }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
 | 
			
		||||
                        </tbody>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div>
 | 
			
		||||
            {{-- Botones --}}
 | 
			
		||||
            <div class="row my-4">
 | 
			
		||||
                <div class="col-lg-12 text-end">
 | 
			
		||||
                    @if($cacheConfig['cache']['default'] != 'memcached')
 | 
			
		||||
                        <button
 | 
			
		||||
                            type="button"
 | 
			
		||||
                            wire:click="clearCache"
 | 
			
		||||
                            class="btn btn-danger btn-clear-cache btn-sm mt-2 mr-2 waves-effect waves-light"
 | 
			
		||||
                            data-loading-text="Eliminando Caché...">
 | 
			
		||||
                            Eliminar Caché
 | 
			
		||||
                        </button>
 | 
			
		||||
                    @endif
 | 
			
		||||
                    <button
 | 
			
		||||
                        type="button"
 | 
			
		||||
                        wire:click="reloadCacheStats"
 | 
			
		||||
                        class="btn btn-secondary btn-reload-cache-stats btn-sm mt-2 mr-2 waves-effect waves-light"
 | 
			
		||||
                        data-loading-text="Actualizando...">
 | 
			
		||||
                        Actualizar
 | 
			
		||||
                    </button>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
            {{-- Notifications --}}
 | 
			
		||||
            <div class="notification-container" wire:ignore></div>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
							
								
								
									
										121
									
								
								resources/views/livewire/cache/memcached-stats.blade.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										121
									
								
								resources/views/livewire/cache/memcached-stats.blade.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,121 @@
 | 
			
		||||
<div>
 | 
			
		||||
    <div class="form-custom-listener" id="memcached-stats-card">
 | 
			
		||||
        <div class="card">
 | 
			
		||||
            <div class="card-body">
 | 
			
		||||
                <h5 class="card-title">Estadísticas de Memcached</h5>
 | 
			
		||||
                @foreach ($memcachedStats as $stat)
 | 
			
		||||
                    <table class="table table-bordered table-sm mb-2">
 | 
			
		||||
                        <tbody>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Versión de Memcached</strong></td>
 | 
			
		||||
                                <td>{{ $stat['version'] }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Libevent</strong></td>
 | 
			
		||||
                                <td>{{ $stat['libevent'] }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Servidor</strong></td>
 | 
			
		||||
                                <td>{{ $stat['server'] }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Puerto TCP</strong></td>
 | 
			
		||||
                                <td>{{ $stat['tcp_port'] }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Conexiones máximas</strong></td>
 | 
			
		||||
                                <td>{{ $stat['max_connections'] }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Conexiones totales</strong></td>
 | 
			
		||||
                                <td>{{ $stat['total_connections'] }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Conexiones rechazadas</strong></td>
 | 
			
		||||
                                <td>{{ $stat['rejected_connections'] }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Memoria máxima</strong></td>
 | 
			
		||||
                                <td>{{ number_format($stat['limit_maxbytes'] / 1024 / 1024, 2) }} MB</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Comandos GET ejecutados</strong></td>
 | 
			
		||||
                                <td>{{ $stat['cmd_get'] }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Comandos SET ejecutados</strong></td>
 | 
			
		||||
                                <td>{{ $stat['cmd_set'] }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>GET exitosos</strong></td>
 | 
			
		||||
                                <td>{{ $stat['get_hits'] }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>GET fallidos</strong></td>
 | 
			
		||||
                                <td>{{ $stat['get_misses'] }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Claves expulsadas</strong></td>
 | 
			
		||||
                                <td>{{ $stat['evictions'] }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Megabytes leídos</strong></td>
 | 
			
		||||
                                <td>{{ number_format($stat['bytes_read'] / 1024 / 1024, 2) }} MB</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Megabytes escritos</strong></td>
 | 
			
		||||
                                <td>{{ number_format($stat['bytes_written'] / 1024 / 1024, 2) }} MB</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Total de objetos</strong></td>
 | 
			
		||||
                                <td>{{ $stat['total_items'] }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                        </tbody>
 | 
			
		||||
                    </table>
 | 
			
		||||
                    <table class="table table-bordered table-sm">
 | 
			
		||||
                        <tbody>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Claves almacenadas</strong></td>
 | 
			
		||||
                                <td>{{ $stat['curr_items'] }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Memoria usada</strong></td>
 | 
			
		||||
                                <td>
 | 
			
		||||
                                    <span class="{{ ($stat['bytes'] / $stat['limit_maxbytes']) > 0.8 ? 'text-danger' : 'text-success' }}">
 | 
			
		||||
                                        {{ number_format($stat['bytes'] / 1024 / 1024, 2) }} MB
 | 
			
		||||
                                    </span>
 | 
			
		||||
                                </td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td><strong>Tiempo de actividad</strong></td>
 | 
			
		||||
                                <td>{{ gmdate('H\h i\m s\s', $stat['uptime']) }}</td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                        </tbody>
 | 
			
		||||
                    </table>
 | 
			
		||||
                @endforeach
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div>
 | 
			
		||||
            {{-- Botones --}}
 | 
			
		||||
            <div class="row my-4">
 | 
			
		||||
                <div class="col-lg-12 text-end">
 | 
			
		||||
                    <button
 | 
			
		||||
                        class="btn btn-danger btn-clear-cache btn-sm mt-2 mr-2 waves-effect waves-light"
 | 
			
		||||
                        wire:click="clearCache"
 | 
			
		||||
                        data-loading-text="Eliminando Caché de Memcached..."
 | 
			
		||||
                        {{ $stat['curr_items']? '': 'disabled' }}>
 | 
			
		||||
                        Eliminar Caché de Memcached
 | 
			
		||||
                    </button>
 | 
			
		||||
                    <button
 | 
			
		||||
                        class="btn btn-secondary btn-reload-cache-stats btn-sm mt-2 mr-2 waves-effect waves-light"
 | 
			
		||||
                        wire:click="reloadCacheStats"
 | 
			
		||||
                        data-loading-text="Actualizando...">
 | 
			
		||||
                        Actualizar
 | 
			
		||||
                    </button>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
            {{-- Notifications --}}
 | 
			
		||||
            <div class="notification-container" wire:ignore></div>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
							
								
								
									
										144
									
								
								resources/views/livewire/cache/redis-stats.blade.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										144
									
								
								resources/views/livewire/cache/redis-stats.blade.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,144 @@
 | 
			
		||||
<div>
 | 
			
		||||
    <div class="form-custom-listener" id="redis-stats-card">
 | 
			
		||||
        <div class="card">
 | 
			
		||||
            <div class="card-body">
 | 
			
		||||
                <h5 class="card-title">Estadísticas de Redis</h5>
 | 
			
		||||
                <div class="">
 | 
			
		||||
                    <div class="table-responsive">
 | 
			
		||||
                        <table class="table table-bordered table-sm mb-2">
 | 
			
		||||
                            <tbody>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Versión de Redis</strong></td>
 | 
			
		||||
                                    <td>{{ $redisStats['redis_version'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Servidor</strong></td>
 | 
			
		||||
                                    <td>{{ $redisStats['server'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Puerto TCP</strong></td>
 | 
			
		||||
                                    <td>{{ $redisStats['tcp_port'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Clientes conectados</strong></td>
 | 
			
		||||
                                    <td>{{ $redisStats['connected_clients'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Clientes bloqueados</strong></td>
 | 
			
		||||
                                    <td>{{ $redisStats['blocked_clients'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Pico máximo de memoria utilizada</strong></td>
 | 
			
		||||
                                    <td>
 | 
			
		||||
                                        @if ($redisStats['maxmemory'] > 0)
 | 
			
		||||
                                            {{-- Usar maxmemory si está configurado --}}
 | 
			
		||||
                                            <span class="{{ ($redisStats['used_memory_peak'] / $redisStats['maxmemory']) > 0.8 ? 'text-warning' : 'text-success' }}">
 | 
			
		||||
                                                {{ $redisStats['used_memory_peak_human'] }}
 | 
			
		||||
                                            </span>
 | 
			
		||||
                                        @else
 | 
			
		||||
                                            {{-- Usar total_system_memory si maxmemory no está configurado --}}
 | 
			
		||||
                                            <span class="{{ ($redisStats['used_memory_peak'] / $redisStats['total_system_memory']) > 0.8 ? 'text-warning' : 'text-success' }}">
 | 
			
		||||
                                                {{ $redisStats['used_memory_peak_human'] }}
 | 
			
		||||
                                            </span>
 | 
			
		||||
                                        @endif
 | 
			
		||||
                                    </td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Memoria total del sistema</strong></td>
 | 
			
		||||
                                    <td>{{ $redisStats['total_system_memory_human'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Límite máximo de memoria</strong></td>
 | 
			
		||||
                                    <td>
 | 
			
		||||
                                        @if ($redisStats['maxmemory'] > 0)
 | 
			
		||||
                                            {{ $redisStats['maxmemory_human'] }}
 | 
			
		||||
                                        @else
 | 
			
		||||
                                            <span class="text-info">Sin límite configurado</span>
 | 
			
		||||
                                        @endif
 | 
			
		||||
                                    </td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Total de conexiones recibidas</strong></td>
 | 
			
		||||
                                    <td>{{ $redisStats['total_connections_received'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Total de comandos procesados</strong></td>
 | 
			
		||||
                                    <td>{{ $redisStats['total_commands_processed'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Política de uso de memoria</strong></td>
 | 
			
		||||
                                    <td>{{ $redisStats['maxmemory_policy'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Rol del servidor</strong></td>
 | 
			
		||||
                                    <td>{{ $redisStats['role'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                            </tbody>
 | 
			
		||||
                        </table>
 | 
			
		||||
                        <table class="table table-bordered table-sm">
 | 
			
		||||
                            <tbody>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Claves almacenadas</strong></td>
 | 
			
		||||
                                    <td>{{ $redisStats['keys'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                @isset ($redisStats['databases']['default']['database'])
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Base de datos general de Redis</strong></td>
 | 
			
		||||
                                    <td>{{ $redisStats['databases']['default']['database'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                @endisset
 | 
			
		||||
                                @isset ($redisStats['databases']['cache']['database'])
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Base de datos de caché</strong></td>
 | 
			
		||||
                                    <td>{{ $redisStats['databases']['cache']['database'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                @endisset
 | 
			
		||||
                                @isset ($redisStats['databases']['sessions']['database'])
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Base de datos de sesiones</strong></td>
 | 
			
		||||
                                    <td>{{ $redisStats['databases']['sessions']['database'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                @endisset
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Memoria usada</strong></td>
 | 
			
		||||
                                    <td>
 | 
			
		||||
                                        @if ($redisStats['maxmemory'] > 0)
 | 
			
		||||
                                            {{-- Usar maxmemory si está configurado --}}
 | 
			
		||||
                                            <span class="{{ ($redisStats['used_memory'] / $redisStats['maxmemory']) > 0.8 ? 'text-danger' : 'text-success' }}">
 | 
			
		||||
                                                {{ $redisStats['used_memory_human'] }}
 | 
			
		||||
                                            </span>
 | 
			
		||||
                                        @else
 | 
			
		||||
                                            {{-- Usar total_system_memory si maxmemory no está configurado --}}
 | 
			
		||||
                                            <span class="{{ ($redisStats['used_memory'] / $redisStats['total_system_memory']) > 0.8 ? 'text-danger' : 'text-success' }}">
 | 
			
		||||
                                                {{ $redisStats['used_memory_human'] }}
 | 
			
		||||
                                            </span>
 | 
			
		||||
                                        @endif
 | 
			
		||||
                                    </td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Tiempo de actividad</strong></td>
 | 
			
		||||
                                    <td>{{ $redisStats['uptime'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                            </tbody>
 | 
			
		||||
                        </table>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div>
 | 
			
		||||
            {{-- Botones --}}
 | 
			
		||||
            <div class="row my-4">
 | 
			
		||||
                <div class="col-lg-12 text-end">
 | 
			
		||||
                    <button
 | 
			
		||||
                        class="btn btn-secondary btn-clear-cache btn-sm mt-2 mr-2 waves-effect waves-light"
 | 
			
		||||
                        wire:click="reloadCacheStats"
 | 
			
		||||
                        data-loading-text="Actualizando...">
 | 
			
		||||
                        Actualizar
 | 
			
		||||
                    </button>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
            {{-- Notifications --}}
 | 
			
		||||
            <div class="notification-container" wire:ignore></div>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
							
								
								
									
										121
									
								
								resources/views/livewire/cache/session-stats.blade.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										121
									
								
								resources/views/livewire/cache/session-stats.blade.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,121 @@
 | 
			
		||||
<div>
 | 
			
		||||
    <div class="form-custom-listener" id="session-stats-card">
 | 
			
		||||
        <div class="card">
 | 
			
		||||
            <div class="card-body">
 | 
			
		||||
                <h5 class="card-title">Configuraciones de Sesiones</h5>
 | 
			
		||||
                <div class="">
 | 
			
		||||
                    <div class="table-responsive">
 | 
			
		||||
                        <table class="table table-bordered table-sm">
 | 
			
		||||
                            <tbody>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Driver</strong></td>
 | 
			
		||||
                                    <td>{{ $cacheConfig['session']['driver'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                @if(in_array($cacheConfig['session']['driver'], ['database', 'memcached', 'redis']))
 | 
			
		||||
                                    <tr>
 | 
			
		||||
                                        <td><strong>Versión</strong></td>
 | 
			
		||||
                                        <td>
 | 
			
		||||
                                            @if($cacheConfig['session']['driver'] == 'database')
 | 
			
		||||
                                                {{ $cacheConfig['driver'][$cacheConfig['database']['default']]['version'] }}
 | 
			
		||||
                                            @else
 | 
			
		||||
                                                {{ $cacheConfig['driver'][$cacheConfig['session']['driver']]['version'] }}
 | 
			
		||||
                                            @endif
 | 
			
		||||
                                        </td>
 | 
			
		||||
                                    </tr>
 | 
			
		||||
                                    <tr>
 | 
			
		||||
                                        <td><strong>Servidor</strong></td>
 | 
			
		||||
                                        <td>{{ $cacheConfig['session']['host'] }}</td>
 | 
			
		||||
                                    </tr>
 | 
			
		||||
                                @endif
 | 
			
		||||
 | 
			
		||||
                                @if(in_array($cacheConfig['session']['driver'], ['database', 'redis']))
 | 
			
		||||
                                    <tr>
 | 
			
		||||
                                        <td><strong>Base de datos</strong></td>
 | 
			
		||||
                                        <td>{{ $cacheConfig['session']['database'] }}</td>
 | 
			
		||||
                                    </tr>
 | 
			
		||||
                                @endif
 | 
			
		||||
                                @if($cacheConfig['session']['driver'] == 'database')
 | 
			
		||||
                                    <tr>
 | 
			
		||||
                                        <td><strong>Tabla de sessiones</strong></td>
 | 
			
		||||
                                        <td>{{ $cacheConfig['session']['table'] }}</td>
 | 
			
		||||
                                    </tr>
 | 
			
		||||
                                @endif
 | 
			
		||||
                                @if ($cacheConfig['session']['driver'] === 'file')
 | 
			
		||||
                                    <tr>
 | 
			
		||||
                                        <td><strong>Ubicación de las sesiones</strong></td>
 | 
			
		||||
                                        <td>{{ $cacheConfig['session']['files'] }}</td>
 | 
			
		||||
                                    </tr>
 | 
			
		||||
                                @endif
 | 
			
		||||
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Tiempo de vida (Minutos)</strong></td>
 | 
			
		||||
                                    <td>{{ $cacheConfig['session']['lifetime'] }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
                                <tr>
 | 
			
		||||
                                    <td><strong>Encriptación habilitada</strong></td>
 | 
			
		||||
                                    <td>{{ $cacheConfig['session']['encrypt'] ? 'Sí' : 'No' }}</td>
 | 
			
		||||
                                </tr>
 | 
			
		||||
 | 
			
		||||
                                {{-- Mostrar solo si el driver utiliza cookies --}}
 | 
			
		||||
                                @if (in_array($cacheConfig['session']['driver'], ['cookie', 'database', 'redis']))
 | 
			
		||||
                                    <tr>
 | 
			
		||||
                                        <td><strong>Nombre de la cookie</strong></td>
 | 
			
		||||
                                        <td>{{ $cacheConfig['session']['cookie'] ?? 'No especificado' }}</td>
 | 
			
		||||
                                    </tr>
 | 
			
		||||
                                    <tr>
 | 
			
		||||
                                        <td><strong>Path de la Cookie</strong></td>
 | 
			
		||||
                                        <td>{{ $cacheConfig['session']['path'] }}</td>
 | 
			
		||||
                                    </tr>
 | 
			
		||||
                                    <tr>
 | 
			
		||||
                                        <td><strong>Dominio de las sesiones</strong></td>
 | 
			
		||||
                                        <td>{{ $cacheConfig['session']['domain'] ?? 'No especificado' }}</td>
 | 
			
		||||
                                    </tr>
 | 
			
		||||
                                    <tr>
 | 
			
		||||
                                        <td><strong>Cookies seguras</strong></td>
 | 
			
		||||
                                        <td>{{ $cacheConfig['session']['secure'] ? 'Sí' : 'No' }}</td>
 | 
			
		||||
                                    </tr>
 | 
			
		||||
                                    <tr>
 | 
			
		||||
                                        <td><strong>Cookies solo HTTPS</strong></td>
 | 
			
		||||
                                        <td>{{ $cacheConfig['session']['http_only'] ? 'Sí' : 'No' }}</td>
 | 
			
		||||
                                    </tr>
 | 
			
		||||
                                @endif
 | 
			
		||||
                                @if($cacheConfig['session']['driver'] != 'memcached')
 | 
			
		||||
                                    <tr>
 | 
			
		||||
                                        <td><strong>Sesiones</strong></td>
 | 
			
		||||
                                        <td>{{ $sessionStats['session_count'] }}</td>
 | 
			
		||||
                                    </tr>
 | 
			
		||||
                                @endif
 | 
			
		||||
                            </tbody>
 | 
			
		||||
                        </table>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        @if($cacheConfig['session']['driver'] != 'memcached')
 | 
			
		||||
            <div>
 | 
			
		||||
                {{-- Botones --}}
 | 
			
		||||
                <div class="row my-4">
 | 
			
		||||
                    <div class="col-lg-12 text-end">
 | 
			
		||||
                        @if($cacheConfig['cache']['default'] != 'memcached')
 | 
			
		||||
                            <button
 | 
			
		||||
                                class="btn btn-danger btn-clear-cache btn-sm mt-2 mr-2 waves-effect waves-light"
 | 
			
		||||
                                wire:click="clearSessions"
 | 
			
		||||
                                {{ $sessionStats['session_count']? '': 'disabled' }}
 | 
			
		||||
                                data-loading-text="Eliminando Sesiones...">
 | 
			
		||||
                                Eliminar Sesiones
 | 
			
		||||
                            </button>
 | 
			
		||||
                        @endif
 | 
			
		||||
                        <button
 | 
			
		||||
                            class="btn btn-secondary btn-reload-cache-stats btn-sm mt-2 mr-2 waves-effect waves-light"
 | 
			
		||||
                            wire:click="reloadSessionStats"
 | 
			
		||||
                            data-loading-text="Actualizando...">
 | 
			
		||||
                            Actualizar
 | 
			
		||||
                        </button>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                {{-- Notifications --}}
 | 
			
		||||
                <div class="notification-container" wire:ignore></div>
 | 
			
		||||
            </div>
 | 
			
		||||
        @endif
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
		Reference in New Issue
	
	Block a user