ClockWorkを利用してLaravel APIをデバッグする

LaravelでAPIを作っています

現在趣味で作っているWebアプリはSPAとして作成しており、LaravelはAjax通信を処理するためのAPIを実装しています。
Laravelの場合、DebugBarやdd()などで簡単に変数の中身を確認できますが、APIとして作成している場合、どちらも値の確認には利用できませんでした。(自分が試した限りでは・・・)

そこで、ClockWorkの出番です

ClockWorkはブラウザの拡張機能と連携してプログラムのパフォーマンスや実行されたSQLクエリの確認、変数の確認などが簡単に行えるためのツールです。
以下のサイトを参考にさせていただきました。
参考サイト:
https://cpoint-lab.co.jp/article/201905/9566/

公式サイト:
https://github.com/itsgoingd/clockwork

Laravel5.5以上のバージョンであれば、以下のコマンドでインストール + ブラウザ拡張機能のインストールだけで利用できます。

$ composer require itsgoingd/clockwork

現在はLaravel6.0なので簡単に利用できますね。

特徴的な機能

ClockWorkの画面は3カラム構成となっており、左がリクエストの履歴、中央が各種情報、一番右がリクエスト情報となっているようです。
左側のリクエスト履歴を選択することで、その時のパラメータやログ、パフォーマンスを閲覧することができます。
以下の画像はパフォーマンスの情報で、それぞれの処理におおよそどの程度の処理時間がかかっているのか確認することができます。

次はログ画面で、PHPプログラム内の任意の位置にログ出力を挟むことで、変数の情報などを参照できます。
ログ出力も簡単で「clock()->info()」メソッドを任意の場所に記述するだけです。

次がクエリ情報で、Eloquentで実行されたSQL等が確認できます。どのようなSQLが発行されているのか確認することができるので、結構便利!

そしてキャッシュ。こちらは・・・まだ調べられていないのですが、Laravelに備わっているキャッシュの利用状況が出ていると思います(未確認)

ということで

LaravelでのAPI開発を強力にバックアップしてくれるClockWorkの紹介でした。
やはり、変数の中身やSQLを簡単に確認できると、開発効率も上がりますね。今後も活用していきたいと思います。