Melakukan teknik monitoring dan debuging adalah hal sangat penting saat kita mengembangkan sebuah aplikasi khususnya website. Dengan menerapkan 2 teknik tersebut, kita dapat melakukan improvisasi terhadap query yang berjalan, memperbaiki performance issue, serta dengan cepat dan mudah mengatasi error yang terjadi. Pada artikel ini, kita akan membahas salah satu tools remsi dari Laravel yaitu Laravel Telescope untuk mengatasi hal tersebut.
Apa itu Laravel Telescope?
Laravel Telescope adalah debug assistant yang dirancang untuk melakukan monitoring dan debugging pada framework Laravel. Tool ini menyediakan insight kedalam HTTP Request yang masuk ke aplikasi, termasuk exceptions, log entries, database queris, dan banyak lagi.
Keunggulan Menggunakan Laravel Telescope
- Real-Time Monitoring - monitor aktivitas pada aplikasi secara real-time.
- User Friendly Interface - tampilan dashboard yang mudah dipahami bagi semua pengguna.
- Logging - mencatat semua aktivitas aplikasi dengan detail.
- Performance Analysis - melakukan analisa terhadap performa query dan response time.
- Easy Integration - mudah diintegrasikan dengan project laravel yang sudah ada.
Fitur Utama Laravel Telescope
- HTTP Request Monitoring
Telescope mencatat semua HTTP Request yang masuk kedalam aplikasi kita, termasuk:
- URL dan Method HTTP.
- Response status dan time.
- Request headers dan parameternya.
- Session data.
- Database Query Analysis
Dengan adanya fitur ini, kita bisa mengoptimalkan performa database seperti:
- Slow Query - mendeteksi query yang lambat.
- Query Count - menghitung jumlah query per request.
- N+! Problme - mendeteksi query yang terindikasi sebagai N+1.
- Query Execution Time - mengukur waktu eksekusi query.
- Job Monitoring
Untuk aplikasi yang menggunakan queue system seperti:
- Job payload.
- Job Execution time.
- Retry attempts.
- Pesan error untuk failed jobs
- Mail Monitoring
Tracking semua email yang dikirimkan melalui aplikasi:
- Attachment details.
- Delivery status
- Cache operation
Monitoring cache.
Persiapan
Sebelum melakukan installasi Laravel Telescope, pastikan kalian memenuhi syarat berikut:
- PHP >= 7.2
- Laravel >= 5.7
- Database Config (MySQL, PostgreeSQL, dll.)
Installasi Laravel Telescope
Buka terminal, pastekan script bash dibawah ini ke terminal kalian masing-masing.
composer require laravel/telescope
Setalah itu, lakukan installasi Laravel Telescope ke dalam aplikasi kita dengan perintah dibawah ini.
php artisan telescope:install
Jalankan migrasi database
php artisan migrate
Buka file .env
, dan tambahkan konfigurasi dibawah ini.
TELESCOPE_ENABLED=true
Setelah itu, buka browser kalian masing-masing, dan akses url http://127.0.0.1:8000/telescope
.
Custom Konfigurasi Laravel Telescope
Mungkin kita perlu melakuakn konfigurasi setelah installasi Laravel Telescope, meskipun ini bersifat opsional
. Kalian perlu membuka file config/telescope.php
terlebih dahulu jika ingin melakuakn konfigurasi.
- Storage Configuration
Jika kalian menggunakan database selain MySQL
, kita perlu melakuakn konfigurasi seperti dibawah ini.
'storage' => [
'database' => [
'connection' => env('DB_CONNECTION', 'pgsql'), //assuming we use PostgreeSQL
'chunk' => 1000,
],
],
atau kita juga bisa menambahkan kode dibawah ini pada file .env
.
DB_CONNECTION=pgsql
- Custom Path
Default URL dari Laravel Telescope adalah /telescope
, kita bisa mengubahnya dengan konfigurasi dibawah ini.
'path' => env('TELESCOPE_PATH', 'monitoring'),
Sekarang untuk mengakses Laravel Telescope dengan URL /monitoring
.
Atau dengan menambahkan kode pada file .env
seperti ini.
TELESCOPE_PATH=monitoring
- Queue Configuration
Jika aplikasi sudah terinsal Redis untuk queue, kita perlu melakukan konfigurasi pada Laravel Telescope seperti dibawah ini.
'queue' => [
'connection' => env('TELESCOPE_QUEUE_CONNECTION', 'redis'),
'queue' => env('TELESCOPE_QUEUE', 'default'),
'delay' => env('TELESCOPE_QUEUE_DELAY', 10),
],
Atau dengan menambahkan kode pada file .env
seperti ini.
TELESCOPE_QUEUE_CONNECTION=redis
TELESCOPE_QUEUE=default
TELESCOPE_QUEUE_DELAY=10
FAQ
- Q: Apakah Laravel Telescope Gratis?
A: Ya, Laravel Telescope gratis dan bersiftat open-source untuk digunakan.
- Q: Bisakah Laravel Telescope Digunakan Pada ENV Production?
A: Bisa saja, tapi tidak direkomendasikan karena performance impact dan security issue
- Q: Apakah Laravel Telescope Kompatibel Dengan Semua Versi Laravel?
A: Laravel Telescope membutuhkan setidaknya versi Laravel 5.7 atau lebih tinggi.
- Q: Bagaimana Cara Backup Data Laravel Telescope?
A: Data pada Laravel Telescope disimpan kedalam database, jadi akan ikut ter-backup saat backup database reguler.
Kesimpulan
Laravel Telescope adalah tool yang sangat powerful untuk melakuakn monitoring, debugging, dan optimasi aplikasi Laravel. Dengan berbagai macam fitur yang lengkap, Telescope membantu para developer mengidentifikasi dan menyelesaikan suatu masalah dengan cepat.
Penggunaan yang tepat dari Laravel Telescope akan meningkatkan kualitas aplikasi secara signifikan, mengurangi bug di production, dan memberikan insight tentang bagaimana aplikasi berjalan di real-world skenario.
Terimakasih.