背景
Laravel

[Laravel5] API開発時のプロファイルはClockworkで

こんにちは、ナカエです。

HTMLを利用するWebサイトのパフォーマンスチューニングをする際にはDebugbarにお世話になっていますが、API開発をする場合はClockworkが手軽で便利です。 デバッグのための情報がHTMLに挿入されるのではなく、Chromeのデベロッパーツールで確認できるようになります。

1. Chrome拡張の導入

Chromeウェブストアからインストールします。

Clockwork - Chrome ウェブストア

clockwork.png

2. サーバ側のパッケージの導入とLaravel側の設定

[itsgoingd/clockwork](https://github.com/itsgoingd/clockwork) を利用します。

composerでインストール

composer require itsgoingd/clockwork

サービスプロバイダの設定

config/app.php

    'providers' => [
        ...
        Clockwork\Support\Laravel\ClockworkServiceProvider::class,
    ],

コマンドラインからconfigファイルを生成

$ php artisan vendor:publish --provider="Clockwork\Support\Laravel\ClockworkServiceProvider"

Copied File [/vendor/itsgoingd/clockwork/Clockwork/Support/Laravel/config/clockwork.php] To [/config/clockwork.php]
Publishing complete for tag []!

config/clockwork.php

ここに有効無効の設定'enable'があり、nullの場合はapp.debugの値が参照されます。

ミドルウェアの設定

app/Http/Kernel.phpのミドルウェアを書き足します。

     protected $middlewareGroups = [
        'api' => [
            \Clockwork\Support\Laravel\ClockworkMiddleware::class,
           ...
        ],
    ];

Laravelのバージョンによってはプロパティが違います。

    protected $middleware = [
        \Clockwork\Support\Laravel\ClockworkMiddleware::class,
        ...
    ];

挿入位置は全てをプロファイルするためには一番外側が良いでしょう。

3. Chromeのデベロッパーコンソールを確認

Clockworkタブが追加され、ログ・データベースクエリ、タイムラインなどがリクエストごとに確認できるようになります。

4. clock() ヘルパ

clock()というヘルパ関数が追加され、ログや処理時間の計測に利用できるようになっています。

clock()->startEvent('event_name', 'Event 開始.'); 
clock()->endEvent('event_name', 'Event 終了.'); 

参考

≪ Laravel5.1とLaravel Debugbar2.4.0で Undefined property エラー  |  Firebaseが使い勝手よすぎた ≫

Web制作のお問い合わせ

075-744-6842

(平日/土曜 10:00~17:00)

 お問い合わせ