自分の備忘録として書いています。
この記事でやること
CloudFunctionsが正常に動作しているかを確認します。
前提として、下記記事で作成してバッチが正常に動いているかを確認します。
1. Google Cloud Consoleでのログの確認
Google Cloud Consoleでは、Cloud Functionsのログを確認することができます。ここでは、エラーが発生しているか、バッチ操作が正常に動作しているかなどを確認することが可能です。
- Google Cloud Consoleにアクセス
Google Cloud Consoleにアクセスし、Firebaseプロジェクトにログインします。 - Cloud Functionsのリストを確認
左側のメニューから「Cloud Functions」を選択し、もしくは検索バーから「Cloud Functions」を検索・選択し、Cloud Functionsの一覧を表示します。 - 関数の詳細ページに移動
確認したい関数の名前をクリックして、詳細ページに移動します。
ここには、関数の実行回数、最終実行時間、失敗回数などが表示されます。 - ログの確認
詳細ページにある「ログ」タブをクリックします。ここで、関数の実行履歴やエラーメッセージを確認できます。
console.logやconsole.errorを使って関数内で出力したログメッセージもここに表示されます。
2. Firebaseコンソールでのログの確認
Firebaseコンソールでも、Cloud Functionsのログを簡単に確認することができます。
- Firebaseコンソールにアクセス
Firebaseプロジェクトにログインし、Firebaseコンソールにアクセスします。 - Functionsセクションに移動
左側のメニューから「Functions」を選択します。ここで、デプロイされているすべてのCloud Functionsを確認できます。 - ログの確認
確認したい関数の横にある「ログを表示」をクリックします。Google Cloud Consoleにリダイレクトされ、関数のログが表示されます。
3. バッチ処理が正常に動作しているか確認する方法
バッチ処理が正常に動作しているかを確認するためには、バッチの実行結果や、Firestoreデータの更新状況をチェックすることが重要です。
ログでの確認
console.logを使用して、バッチ操作のステータスや、バッチが更新したドキュメント数などを出力することができます。
例: バッチ処理の成功/失敗のログ確認
const batch = db.batch();
snapshot.forEach(doc => {
batch.update(doc.ref, { isDisplayed: true });
});
await batch.commit().then(() => {
console.log('Batch commit successful, updated documents:', snapshot.size);
}).catch(error => {
console.error('Batch commit failed:', error);
});
成功時には「Batch commit successful」というメッセージが、失敗時には「Batch commit failed」というエラーメッセージがログに出力されます。
4. 関数のパフォーマンスをモニタリング
Google Cloud Consoleの「Cloud Monitoring」セクションで、Cloud Functionsのパフォーマンスをモニタリングすることができます。関数の実行時間やエラー率など、詳細なメトリクスを確認できます。
- Google Cloud Monitoringにアクセス
Google Cloud Monitoringにアクセスし、プロジェクトを選択します。 - メトリクスの確認
Cloud Functionsのメトリクスを確認するために、メトリクスエクスプローラーを使用します。ここで、関数の実行時間、失敗率、メモリ使用量などのデータを確認することができます。
まとめ
- Google Cloud ConsoleまたはFirebaseコンソールの「ログ」タブで、関数のログを確認し、エラーやバッチの状態をチェックできます。
- console.logやconsole.errorを使用して、バッチの進行状況やエラーを記録することで、正常に動作しているかを確認できます。
- Cloud Monitoringを使って、関数のパフォーマンスやエラー率を確認することもできます。
これにより、Cloud Functionsが正常に動作しているかどうかを簡単に確認することができます。