[Laravel] Laravel Telescopeが発表されました
Laracon AU 2018にて、Mohamed SaidとTaylor Otwellによる新しいデバッグ・監視ツールであるLaravel Telescope
が発表されました。
Laravel Telescope
はオープンソースとして近日中に公開される予定で、Composer
によるインストールが可能です。
今までLaravelのデバッグツールではLaravel DebugbarやClockworkやLaravelが有名でしたが、これらに取って代わるアプリケーションです。
Laravel Telescope
はHTTPリクエスト、コマンドライン、スケジューラ、キューなど、アプリケーションに送られるすべてのリクエストを監視する一連のウォッチャーで構成されています。
これらのウォッチャーは、データベースクエリやその実行時間、キャッシュのヒットとミス、発生したイベント、送信されたメールなど、これらの要求とその関連データに関するあらゆる種類の情報を取得します。
- Requests
- Commands
- Schedule
- Jobs
- Exceptions
- Logs
- Dumps
- Queries
- Models
- Events
- Notifications
- Cache
- Redis
詳しい内容については、こちらの動画で確認できます。
また、具体的な実装については以下のような応答がありました。
データはどこに保存されていますか?
StorageRepositoryインターフェースを継承する形で実装されています。デフォルトではデータベースとRedisを使用します。
オリジナルのデータストアの構築もインタフェース上のメソッドを6-7個の実装だけです。
どのくらいのデータを格納していますか?
プロダクション環境では多くのデータが破棄されます。
デフォルトでは一度に100件のデータが保有されます。
これらは全てオリジナルの設定が可能です。
スラックに通知することはできますか?
現在実装中で公開予定です。
現在使用中の監視ツールは必要無くなりますか?
必要かもしれない。Telescopeは簡単で扱いすいアプリケーションを目指しているので、あなたの監視ツールのように完璧では無いかもしれない。
タイムスタンプでフィルタリングできますか?
このアプリケーションはオープンソースなので十分に可能性はあります。
システムにどのような影響がありますか?
毎回1つのクエリしか実行されません。
本番環境では、何も挿入しないことがよくあります。
また、必要のないウォッチャーを無効にすることもできます。
1つのTelescopeで複数のアプリケーションを検査できますか?
はい。
それらの情報を同じデータベースに記録し、区別できるようにタグ/フィルタリングを付与するだけです。
システムの監視には外部ツールなどが必要でしたが、Laravel Telescope
があれば全てシステム上で行えるようになるのでしょうか。
リリースに期待しましょう!