* この投稿は米国時間 6 月 13 日、Product Manager である Sharat Shroff によって投稿されたもの(投稿はこちら)の抄訳です。


私たち Google Stackdriver チームは、皆さんが目の前のタスクに全力で集中できるように、反復的で退屈な仕事をなくすことを目指しています。

そして、その取り組みの最新例が、“ログポイント” を使って稼働中のアプリケーションにログ出力設定をアドホックに追加できるようにしたことです。ログポイントは、アプリケーションをデバッグする際の重要かつ不可欠なツールです。

現在、デバッグ プロセスの一環としてログ出力設定を追加するときは、次のような流れになります。

エラーやログをレビューし、トレースを見て、コードと比較します。どこで問題が起こっているのかの仮説を立て、ソースコードを開き、仮説を検証するために新しいログ ステートメントを追加します。そしてコードをビルドし、テストし、再デプロイします。エラーの根本原因がわかるまで、このプロセスを繰り返します。

私たちは Stackdriver Debugger の最新リリースで、このワークフロー全体を次のようなシンプルなステップに簡略化しました。

ステップ 1 : コマンド シェルから gcloud beta debug logpoints create command を使用して、稼働中のアプリケーションにログポイントを追加します。

ステップ 2 : ログ ページを表示します。

たったこれだけです。再起動も再デプロイも不要です。

gcloud のデバッグ コマンドを使用すれば、ログポイントの作成や一覧表示、削除を行うことができます。たとえば、次のようにログポイントを作成できます。

$ gcloud beta debug logpoints create MarkovServlet.java:114 "Hello seed {seed}"



Stackdriver Debugger は、稼働中の全インスタンスにログポイントを適用し、コマンドで指定されたコード パスが次に実行されると、ログ メッセージを出力します。


ログポイントは、24 時間後に手動で削除されていなかった場合、自動的に解除されます。ログポイントのパフォーマンス オーバーヘッドは、コードに記述されたログ ステートメントと同じです。また、デバッグ コマンドはアプリケーションの稼働中のインスタンス数がいくつであっても機能します。

ログポイントは Stackdriver Debugger が有効なときに、稼働中のJava、Python、Node.js アプリケーションで利用できます。

上述したように、gcloud beta debug コマンドでは、ログポイントの作成に加えて、スナップショットの作成、一覧表示、削除が可能です。これにより、稼働中のアプリケーションのスタック トレースと変数が得られます。サポートされているすべてのデバッグ コマンドの一覧については、Cloud SDK Documentation をご覧ください。

ぜひログポイントをお試しください。そして、お気に召したらお知らせください。Stackdriver Debugger についてさらに詳しく知りたい方は Debugger ページをご覧ください。