Slide 1

Slide 1 text

Drupalの WebProfiler まるやま ひかる Drupal Meetup Haneda #46 (2022-11-24)

Slide 2

Slide 2 text

自己紹介 丸山 ひかる アクイアジャパン テクニカルトランスレーター ● 1991年10月29日 生まれ ● 独立系ソフトウェア開発会社でソフトウェアエンジ ニア ● のちエバンジェリストとしてプロダクトの啓蒙活動 ● 2019年8月 アクイアにジョイン ● ウェブサイトのコンテンツの技術翻訳やローカライ ズを担当 Ruby / Rails / Web API / Docker / AWS ラーメン / スイーツ / キャンプ飯 / 登山

Slide 3

Slide 3 text

最近のトピック① DrupalCamp DEN 2023 Iwakuni 開催決定!参加申込、登壇申込、スポン サー各種受付中 https://drupal-camp2023.den-japan.org/

Slide 4

Slide 4 text

最近のトピック② アドベントカレンダーの季節になりました!今 年こそは全部埋めたいですね https://qiita.com/advent-calendar/2022/drupal

Slide 5

Slide 5 text

仕事の話 Drupalに関するウェビナーを 定期開催中!次回は12/7(水) https://www.acquia.com/jp/events

Slide 6

Slide 6 text

DrupalのWeb Profiler

Slide 7

Slide 7 text

● DrupalのWeb Profilerとは ● 導入方法 ● デモ アジェンダ

Slide 8

Slide 8 text

DrupalのWeb Profilerとは

Slide 9

Slide 9 text

こういう時どうしますか? ● ページの実行時間を計測したい ● デバッグしたい ○ どんな外部リクエストが発生しているか ○ どんなDBクエリが実行されたのか ○ どのイベントが発火したか

Slide 10

Slide 10 text

DrupalのWeb Profiler ● サイトのリクエスト実⾒に関する詳細情報を 提供する開発ツール ● Drupalのコントリビュートモジュールとして 提供される ● ページで実⾒されたルーティング情報や実 ⾒時間、データベースのクエリ数などデバッ グに役⾒つ情報をグラフィカルに⾒ることが できる

Slide 11

Slide 11 text

Symfonyにも似たようなものが DrupalのWeb Profiler SymfonyのProfiler

Slide 12

Slide 12 text

SymfonyのProfiler ● Symfony では Profilerと呼ばれるツールが存在 ● DrupalのWeb Profilerが後発 ● どちらもSymfonyのHttpKernelやRoutingなどのコン ポーネントに依存している

Slide 13

Slide 13 text

Web Profilerの導入

Slide 14

Slide 14 text

インストール方法 Devel 5系 を利用して いる 使用中のDevelモジュールのバージョン によって、インストール方法が異なる composerで drupal/webprofiler をインストール Yes No Devel 4系 を利用して いる Yes Develに同梱されてい るWeb Profilerモ ジュールを利用 Web Profilerモジュールを有効化する

Slide 15

Slide 15 text

Web Profilerが有効化されると ● Web Profiler モジュールを有効化すれば、ページ下部にデ バッグツールバーが表示されるようになる ● 追加の設定無しにすぐに使い始めることができる

Slide 16

Slide 16 text

デモ

Slide 17

Slide 17 text

Web Profilerの主な機能 ● デバッグツールバー ● プロファイラダッシュボード ● 保存済みのプロファイラ一覧

Slide 18

Slide 18 text

Web Profilerで取得可能な情報① 名前 説明 PHP config PHPの設定情報。 Request リクエストのルート情報やリクエスト /レスポンスヘッダなど。 Timeline 処理時間のタイムライングラフ。 Performance Timing DNS参照にかかった時間や初期レスポンスの待機にかかった時間 (Time to first byte)など。 Database ページで実行されたクエリ数、クエリ実行時間などデータベースに関する情報。 User リクエストを実行している Drupalのユーザー情報。 Views ページで読み込まれた Drupal Viewの一覧。 Block ページで読み込まれたブロックの一覧。 Forms ページで読み込まれたフォームの情報。 Extensions サイトで有効化されている全てのモジュール /テーマの一覧。 Cache キャッシュヒット/キャッシュミスの一覧。 Assets ページで読み込まれた CSS/JSファイルの一覧。 これらの項目は デフォルトの状態で 取得可能です

Slide 19

Slide 19 text

Web Profilerで取得可能な情報② 名前 説明 Config ページで呼び出された Configデータの一覧。 Events ページで呼び出された /呼び出されなかったイベントリスナーの一覧。 Http ページで呼び出された外部 HTTPリクエストの一覧。 Mail ページを介して実行されたメール送信の一覧。 Routing サイトに登録されている全てのルート一覧。 Services ページで初期化された /されなかったサービスの一覧。 State ページで読み込まれた State情報の一覧。 Theme サイトでデフォルトにしているテーマに関する情報。 Translations ページで読み込まれたユーザーインターフェースの翻訳文字列の一覧。 これらの項目は デフォルトの状態では 見れませんが設定で 追加が可能です

Slide 20

Slide 20 text

もっと詳しく 知りたい方は・・ 「Drupal 9 おいしいレシピ集 3」 Amazonで好評発売中! https://www.amazon.co.jp/dp/B0BDGFDWDR

Slide 21

Slide 21 text

Thank you!