Lightning Experience のパフォーマンスと体験ページ時間 (EPT) の測定
学習の目的
この単元を完了すると、次のことができるようになります。
- Lightning Experience に EPT カウンターを追加する。
- Lightning 利用状況アプリケーションを使用してパフォーマンスを測定する。
- Lightning 利用状況アプリケーションオブジェクトを使用してカスタムレポートを作成する。
- イベントモニタリングを使用してパフォーマンスを測定する。
パフォーマンスの測定方法
Web ページの読み込みに予想以上に長く待たなければならなかったときのことを覚えていますか? とても長く感じた時間は多分ほんの数秒 (あるいはミリ秒) だったはずですが、ページの読み込みにかかる時間は、優れたユーザーエクスペリエンスと大量のサポートチケットの分かれ目になることがあります。前の単元で説明しましたが、体験ページ時間 (EPT) は、Salesforce が、Web ページのコンテンツ全体をダウンロードしてブラウザーウィンドウに表示するのにかかる時間を測定する方法です。言い換えれば、EPT を測定することの目的は、ユーザーが可能な限り最高のユーザーエクスペリエンスを得られるようにすることです。
Salesforce が EPT を測定する 4 つの方法を提供しているのは、そのためです。
- Lightning Experience: Lightning Experience に EPT カウンターを追加する。
- Lightning 利用状況アプリケーション: 集計されたページおよびブラウザーのパフォーマンスを表示する。
- カスタムレポート: Lightning 利用状況アプリケーションオブジェクトを使用してカスタムレポートを作成する。
- イベントモニタリング: イベント種別を使用してパフォーマンスを監視する。
Lightning Experience への EPT カウンターの追加
体験ページ時間を監視する最も簡単な方法の 1 つは、EPT カウンターを Lightning Experience に直接追加することです。この EPT カウンターはヘッダーに表示されます。カウンターを追加することで、ページのパフォーマンスをリアルタイムに表示できます。EPT カウンターは、2 つの方法で Lightning Experience に追加できます。
1 つ目の方法は、[設定] から Lightning コンポーネントのデバッグモードを有効にすることです。この設定を有効にすると、Lightning Experience ヘッダーにページの読み込み時間とネットワーク帯域幅を示すカウンターが追加されます。この設定を有効にするときに留意すべきことは、コンポーネントコードが縮小されず、キャッシュが無効になるため、パフォーマンスに影響する可能性があるということです。
2 つ目の方法は、Lightning Experience URL の末尾に ?eptVisible=1
を追加することです。これにより、Lightning Experience ヘッダーにページ読み込み時間カウンターが追加されますが、ネットワーク帯域幅は表示されません。Lightning コンポーネントのデバッグモードを有効にする場合と異なり、コンポーネントコードが縮小され、パフォーマンス時間への影響は少なくなります。
これらの方法のいずれかを使用して EPT を測定する場合は、新しいタブでページを開いたり、ページを手動で再読み込みしたりしないでください。Lightning フレームワークのブートストラップがページ読み込み時間の一部として測定され、結果が偏って表示されるからです。
Lightning 利用状況アプリケーションを使用した EPT の測定
システム管理者であれば、Lightning 利用状況アプリケーションが Lightning Experience の採用と利用状況を追跡する優れた方法であることをご存知でしょう。Lightning 利用状況アプリケーションは、ページのパフォーマンスの全体像を把握するために使用できることもご存知でしたか?
Lightning 利用状況アプリケーションを開くには、アプリケーションランチャーをクリックし、「Lightning 利用状況」
を検索します。アプリケーションが開いたら、[活動] セクションと [利用状況] セクションを使用してデータを詳しく調べることができます。
たとえば、組織の最多参照ページのパフォーマンスを確認するとします。これを行うには、[活動] セクションの [ページ] をクリックして、グラフを確認します。次の例では、フィード項目と Chatter ページの読み込みが速く、作業レコードの読み込みが遅いことがわかります。
Lightning 利用状況アプリケーションを使用して、ブラウザーのパフォーマンスが EPT にどう影響するかを確認することもできます。次の例では、Salesforce モバイルアプリケーションで開かれたページが、デスクトップブラウザーで読み込まれたページよりも速く読み込まれていることがわかります。
Lightning 利用状況アプリケーションを使用する場合、表示されるのはページとブラウザーのパフォーマンスの集計ビューです。特定のページの EPT を測定するには、前のセクションで説明した方法を使用して、Lightning Experience に直接カウンターを追加することをお勧めします。
Lightning 利用状況アプリケーションオブジェクトを使用したカスタムレポートの構築
ページのパフォーマンスをより詳細に分析したい場合は、Lightning 利用状況アプリケーションオブジェクトを使用してカスタムレポートを作成することができます。
たとえば、ブラウザー別にグループ化された最も人気のあるページのパフォーマンスを確認するとします。これを行うための最初のステップは、LightningUsageByBrowserMetrics オブジェクトを使用してレポートタイプを作成することです。レポートタイプを作成したら、レポートビルダーを使用してカスタムレポートを作成できます。
イベントモニタリングによるパフォーマンスの監視
EPT の最後の測定方法は、イベントモニタリングへのアクセス権を持つユーザー向けです。イベントモニタリングは Salesforce Shield の一部であり、すべての Salesforce アプリケーションの詳細なパフォーマンス、セキュリティ、および使用状況データへのアクセスを提供します。イベントモニタリングについての詳細は、Trailhead の「イベントモニタリング」バッジを参照してください。
イベントモニタリングでページのパフォーマンスを測定するには、Lightning ページビューイベント種別を使用します。Lightning ページビューイベント種別は、ユーザーがアクセスしたページ、ユーザーが使用したブラウザー、そのページにユーザーが滞在した時間、ページの読み込み時間などの情報を追跡します。次の例では、ユーザーがページにアクセスした時間 (pageStartTime)、ページに滞在した時間 (duration)、および体験ページ時間 (EPT) の総計値を確認できます。
{ “version”: “v0.2”, “id”: “ltng:pageView”, “eventSource”: null, “ts”: 1513, “pageStartTime”: 1519916856108, “duration”: 836378, “ept”: 3430, “unixTS”: true, “clientSessionId”: a3f00dd8895cb6ce6767, “sequence”: 1, “attributes”: { “eptDeviation”: false, “perceivedEPT”: 2611, “cores”: 4, “backgroundTime”: 756936, “network”: { “downlink”: 9.55, “rtt”: 50, },
さまざまなイベント種別を使用して、パフォーマンスの他の側面を監視することもできます。以下はほんの一例です。
- Lightning エラーイベント種別。Lightning Experience および Salesforce モバイルアプリケーションでのユーザー操作中に発生したエラーを表します。
- Lightning インタラクションイベント種別。Lightning Experience および Salesforce モバイルアプリケーションでのユーザーアクション (ページ上でのユーザーによるクリック、タップ、スクロールなど) を追跡します。
- Lightning パフォーマンスイベント種別。Lightning Experience および Salesforce モバイルアプリケーションのパフォーマンスのトレンドを追跡します。
ご覧のとおり、Salesforce を使用すると、ページのパフォーマンスを簡単に測定して、ユーザーが優れたユーザーエクスペリエンスを得られるようにすることができます。次に、ページのパフォーマンスに影響する可能性がある要素と、サポートチケットが登録される前に問題を緩和する方法について説明します。
リソース
- Salesforce 開発者ブログ: Understanding Experienced Page Time (体験ページ時間について理解する)
- Salesforce ヘルプ: Lightning コンポーネントのデバッグモードの有効化
- ナレッジ記事: Lightning ページの読み込み時間を測定する
- Salesforce ヘルプ: Salesforce Shield
- 開発者ドキュメント: Salesforce および Lightning プラットフォームのオブジェクトリファレンス
- Salesforce ヘルプ: カスタムレポートからの Lightning Experience 採用インサイトの取得