什麼是 Laravel Telescope
Laravel Telescope 是可視化 Laravel 應用內部狀態的官方除錯工具。 可詳細記錄請求、例外、查詢、job、log、mail、通知、快取操作、排程執行等。 它是本機開發環境專用的除錯工具。正式環境的監控請使用 Laravel Pulse 或 Laravel Nightwatch。監控對象層
安裝
1
安裝 Telescope
2
發布 asset 與 migration
3
執行 migration
/telescope 存取儀表板。
本機專用安裝(建議)
若主要目的是本機除錯,建議以
--dev 安裝,並僅在 local 環境手動登記 service provider 的組態。telescope:install 執行後,請從 bootstrap/providers.php 移除 TelescopeServiceProvider 的登記。
然後於 App\Providers\AppServiceProvider 的 register 方法手動登記。
composer.json 停用 auto-discovery。
可用的 Watcher
Watcher 會蒐集請求或指令執行時的遙測資料。 於config/telescope.php 管理啟用與設定。
Request Watcher
Request Watcher
記錄請求、header、session、回應。
可用
可用
size_limit 限制回應記錄大小。Query Watcher(特別重要)
Query Watcher(特別重要)
記錄 SQL、bindings、執行時間。
預設超過 100ms 的查詢會被以
預設超過 100ms 的查詢會被以
slow 標籤記錄,對偵測效能瓶頸非常有效。Job Watcher
Job Watcher
記錄 queue job 的送出與執行結果。
Exception Watcher
Exception Watcher
記錄可回報的例外與 stack trace。
Log Watcher
Log Watcher
記錄應用程式的 log。
預設為
預設為
error 以上,可透過設定降至 debug。Command Watcher
Command Watcher
記錄 Artisan 指令的引數、選項、輸出、結束碼。
Event Watcher
Event Watcher
記錄 dispatch 的事件 payload 與 listener 資訊(排除 Laravel 內部事件)。
Cache Watcher
Cache Watcher
記錄快取的命中、未命中、更新、刪除。
Redis Watcher
Redis Watcher
記錄應用執行的 Redis 指令。
Model Watcher
Model Watcher
記錄 Eloquent model 事件,並可視情況蒐集 hydration 筆數。
Notification Watcher
Notification Watcher
記錄送出的通知。
Mail Watcher
Mail Watcher
可在瀏覽器預覽送出的信件,並下載為
.eml。HTTP Client Watcher
HTTP Client Watcher
記錄對外的 HTTP client 請求。
Gate Watcher
Gate Watcher
記錄 Gate / Policy 的授權檢查結果。
Schedule Watcher
Schedule Watcher
記錄排程執行的指令與輸出。
View Watcher
View Watcher
記錄已渲染的 view 名稱、路徑、資料、composer。
Batch Watcher
Batch Watcher
記錄 queue batch 資訊(job 或連線資訊)。
Dump Watcher
Dump Watcher
當 Telescope 的 Dump 分頁開啟期間,記錄
dump 輸出。總結
後續步驟
Laravel Pulse
導入正式環境的效能集計儀表板。
Laravel Nightwatch
以 Nightwatch 進行正式環境即時監控。