Stackdriver は本番環境のアプリケーションをどのようにデバッグしますか?
この期間中、サーバーはダウンしますか? レイテンシーはどうなりますか?
「すでに発生している」インシデントをデバッグする方法はありますか? たとえば、本番環境でアプリケーションを実行しています。そして、問題がありました。たとえば、ショッピング カートにアイテムを追加できなかったり、その他の問題が発生したりしました。戻って問題をデバッグできますか? それとも、ライブ アプリケーションをデバッグしますか?
Stackdriver は本番環境のアプリケーションをどのようにデバッグしますか?
この期間中、サーバーはダウンしますか? レイテンシーはどうなりますか?
「すでに発生している」インシデントをデバッグする方法はありますか? たとえば、本番環境でアプリケーションを実行しています。そして、問題がありました。たとえば、ショッピング カートにアイテムを追加できなかったり、その他の問題が発生したりしました。戻って問題をデバッグできますか? それとも、ライブ アプリケーションをデバッグしますか?
Stackdriver Debugger のコア機能は、実行中のオペレーションのスナップショットを迅速に作成することです。これは、サーバーがダウンしていないことを意味しますが、時間を遡ることもできないことも意味します.
Stackdriver Debugger には、製品の機能を基本的に理解するのに役立つクイックスタートとその他のさまざまなドキュメントがあります。
Stackdriver Debugger は、常時稼働のサービス全体のデバッガです。単一のサーバー/VM だけをデバッグするのではなく、同じサービスに属するすべてのサーバーを同時にデバッグします。条件がヒットしたときに単一のサーバーからコール スタックと変数をキャプチャし、他のすべてのサーバーからのスナップショットをキャンセルします。
Stackdriver Debugger エージェントはプロセスを停止しませんが、スナップショットの行と状態に到達したスレッドを一時停止します。通常、スレッドは約 3 ミリ秒一時停止して、最大 64K の情報を取得しますが、時間は異なる場合があります。
Stakdriver Debugger エージェントは、アプリケーションのレイテンシーを最適化する目的でゼロから作成されます。彼らはあらゆる種類のトリックを使用して、実行中のスレッド/サーバーの一時停止を回避します。(たとえば、データのシリアル化はスレッドが解放された後に発生します)
Stackdriver Debugger はリアルタイムのインタラクティブなデバッガです。過去に起こったことをデバッグする方法が本当にあります。ただし、本番デバッガーであるため、本番環境でスナップショットの場所を設定し、イベントが再び発生するのを待つことができます。
便利な Stackdriver Debugger のもう 1 つの機能は、ログポイントです。これらは、特定のケース/条件を念頭に置いてアプリケーションに動的に挿入できるログ ステートメントです。コードを変更したり、サービスを再デプロイしたりする必要はありません。ブログ投稿を参照してください。