メトリクス
Functionsメトリクスは、パフォーマンスと使用データを表示することで、問題の診断やワークロードの理解に役立ちます。
Functionsメトリクスは、個々のPagesプロジェクトのリクエストデータを集約します。Functionsメトリクスを表示するには:
- Cloudflareダッシュボード ↗にログインし、アカウントを選択します。
- アカウントホームで、Workers & Pagesを選択し、概要でPagesプロジェクトを選択します。
- Pagesプロジェクト内で、Functions Metricsを選択します。
Functionの健康状態を理解するために役立つ3つのメトリクスがあります:
- リクエスト成功。
- リクエストエラー。
- 呼び出しステータス。
Functionsメトリクスでは、総リクエスト、成功したリクエスト、エラーが発生したリクエストに分けられた履歴リクエスト数を確認できます。サブリクエストに関する情報は、サブリクエストを選択することで表示されます。
- 総数: Functionによって登録されたすべての受信リクエスト。 Web Application Firewall (WAF) ↗やその他のセキュリティ機能によってブロックされたリクエストはカウントされません。
- 成功:
SuccessまたはClient Disconnected呼び出しステータスを返したリクエスト。 - エラー:
Script Threw Exception、Exceeded Resources、またはInternal Error呼び出しステータスを返したリクエスト。 - サブリクエスト: Function内から
fetchを呼び出すことでトリガーされたリクエスト。Functionが静的アセットを取得する場合、それはサブリクエストとしてカウントされます。未処理のエラーをスローするサブリクエストはカウントされません。
リクエストトラフィックデータは、6時間未満の時間範囲のグラフで表示される最後の数分間にドロップオフが表示されることがあります。これはトラフィックの減少を反映するものではなく、集約とメトリクスの配信にわずかな遅延があることを示しています。
Functionの呼び出しステータスは、Functionが正常に実行されたか、Workersランタイムで応答を生成できなかったかを示します。呼び出しステータスはHTTPステータスコードとは異なります。場合によっては、Functionの呼び出しが成功しても、Workersランタイムの外で発生した別のエラーのために成功したHTTPステータスを生成しないことがあります。一部の呼び出しステータスは、クライアントにWorkersエラーコードを返す結果となります。
| 呼び出しステータス | 定義 | Workersエラーコード | Graph QLフィールド |
|---|---|---|---|
| 成功 | Workerスクリプトが正常に実行された | success | |
| クライアント切断 | HTTPクライアントがリクエストの完了前に切断された | clientDisconnected | |
| スクリプトが例外をスロー | Workerスクリプトが未処理のJavaScript例外をスローした | 1101 | scriptThrewException |
| リソースを超えた^1 | Workerスクリプトがランタイム制限を超えた | 1102, 1027 | exceededResources |
| 内部エラー^2 | Workersランタイムがエラーに遭遇した | internalError |
- リソースを超えたステータスは、Workerがランタイム制限を超えた場合に表示されることがあります。最も一般的な原因は過剰なCPU時間ですが、スクリプトが起動時間やフリーティア制限を超えた場合にも発生します。
- 内部エラーステータスは、Workersランタイムがシステム内の内部障害によりリクエストを処理できない場合に表示されることがあります。これらのエラーはFunctionコードやリソース制限に起因するものではありません。内部エラーステータスのリクエストは稀ですが、通常の操作中に発生することがあります。これらのリクエストは請求目的の使用量にはカウントされません。内部エラーステータスのリクエストが増加している場合は、www.cloudflarestatus.com ↗を確認してください。
例外をさらに調査するには、デバッグとロギングを参照してください。
実行ごとのCPU時間チャートは、リザーバーサンプリング ↗を使用して関連する分位数に分けられた履歴CPU時間データを示します。 分位数の解釈 ↗について詳しく学びましょう。
場合によっては、より高い分位数がCPU時間制限を超えて表示されることがありますが、これはWorkersランタイム内でのメカニズムにより、CPU制限未満のリクエストに対してCPU時間のロールオーバーが許可されているためです。
Functionsメトリクスダッシュボードの中央値CPU時間の下にある期間チャートは、Function実行ごとの履歴期間を示します。データは、CPU時間チャートと同様に関連する分位数に分けられています。
Functionの期間を理解することは、Function自体でかなりの計算を行う予定がある場合に役立ちます。これは、最大30秒のCPU時間を許可する標準または無制限の使用モデルを使用する必要があるためです。
バンドル使用モデルのWorkersは、50msのCPU時間制限があっても、多くのネットワークバウンド操作(fetchリクエストなど)を実行して応答を待っている場合、高い期間を持つことがあります。
Functionsメトリクスは、最大3か月前まで、最大1週間の増分で検査できます。Pagesプロジェクト内のFunctionsメトリクスダッシュボードには、上記で説明したチャートと情報が含まれています。