Potenziare il debug di Laravel con Telescope

Il monitoraggio e il debugging sono fondamentali per mantenere solide le applicazioni Laravel, sia che si tratti di costruire un’applicazione web dinamica o di gestire sistemi backend complessi. Laravel Telescope, un elegante strumento di osservabilità, offre approfondimenti su richieste, query, eccezioni e altro ancora, aiutando gli sviluppatori a ottimizzare le prestazioni con facilità. Se ospitato sui server VPS o dedicati ad alte prestazioni di ava.hosting, Telescope diventa un potente alleato per garantire che la vostra applicazione funzioni senza problemi. Ad esempio, se la vostra applicazione di e-commerce presenta query lente, Telescope può individuare le chiamate al database inefficienti in pochi secondi. Questa guida spiega come installare, configurare e utilizzare Telescope per migliorare le prestazioni della vostra applicazione Laravel.

Prerequisiti

Prima di immergervi, assicuratevi di avere:

  • Un’applicazione Laravel (si consiglia la versione 6.x o superiore).

  • PHP 7.3 o successivo.

  • Composer installato sul server ava.hosting o sulla macchina locale.

Passo 1: Installazione di Laravel Telescope

Per installare Laravel Telescope, eseguire il seguente comando tramite Composer:

composer require laravel/telescope

Una volta completata l’installazione, pubblicare il provider di servizi Telescope e le risorse utilizzando:

php artisan telescope:install

Infine, migrare le tabelle del database necessarie:

php artisan migrate

Passo 2: Configurazione di Telescope

Dopo l’installazione, Telescope fornisce un file di configurazione situato in config/telescope.php. È possibile personalizzare le impostazioni secondo le proprie necessità.

Autorizzazione

Per impostazione predefinita, Telescope è accessibile solo nell’ambiente local. Se si vuole consentire l’accesso in altri ambienti, modificare il metodo gate in App\Providers\TelescopeServiceProvider:

use Laravel\Telescope\Telescope;
use Laravel\Telescope\TelescopeApplicationServiceProvider;

class TelescopeServiceProvider extends TelescopeApplicationServiceProvider
{
protected function gate()
{
Gate::define('viewTelescope', function ($user) {
return in_array($user->email, [
'admin@example.com',
]);
});
}
}

Conservazione dei dati

Per impostazione predefinita, Telescope conserva i registri per 24 ore. Si può regolare nel file config/telescope.php:

'retain_hours' => 48,

Configurazione del percorso

Il cruscotto di Telescope è accessibile tramite /telescope. Se si desidera personalizzare questo percorso, aggiornare il file config/telescope.php:

'path' => 'monitoring',

Ora Telescope sarà disponibile a /monitoring invece di /telescope.

Passo 3: Utilizzo del telescopio

Una volta configurata, avviare l’applicazione Laravel e visitare yourdomain.com/telescope (o il percorso personalizzato). Si vedrà:

  • Richieste: Monitora le richieste in arrivo e i relativi tempi di risposta.
  • Eccezioni: Elenca tutti gli errori e le tracce dello stack.
  • Query: Visualizza le query SQL eseguite.
  • Lavori: Monitora i lavori in coda e il loro stato.
  • Eventi: Registra gli eventi di Laravel.

Passo 4: Distribuzione di Telescope in produzione

Sebbene Telescope sia utile per lo sviluppo, non è raccomandato per la produzione a causa del sovraccarico di prestazioni. Tuttavia, se è necessario distribuirlo in produzione, si può usare la variabile d’ambiente TELESCOPE_ENABLED:

TELESCOPE_ENABLED=true

Inoltre, programmare un comando per cancellare periodicamente i log per evitare una crescita eccessiva del database:

php artisan telescope:prune --hours=24

È possibile automatizzare questa operazione aggiungendo un’attività pianificata in app/Console/Kernel.php:

$schedule->command('telescope:prune --hours=24')->daily();

Conclusione

Laravel Telescope trasforma il debug e il monitoraggio, fornendo una visibilità senza precedenti sulle prestazioni delle applicazioni sui solidi server VPS o dedicati di ava.hosting. Dall’individuazione delle query lente in un’applicazione web al monitoraggio dei fallimenti di un lavoro in un sistema di code, Telescope consente agli sviluppatori di ottimizzare in modo efficiente. Ad esempio, si può utilizzare Telescope per eseguire il debug di un processo di checkout lento sul proprio sito di e-commerce o per monitorare le richieste API di una piattaforma SaaS. Seguendo questi passaggi e sfruttando l’infrastruttura affidabile di ava.hosting, è possibile sfruttare le informazioni di Telescope per creare applicazioni Laravel più veloci e affidabili con facilità.