Docs Menu
Docs Home
/ / /
Go Driver
/ /

コマンド監視

項目一覧

  • Overview
  • イベントにサブスクライブ
  • イベントの説明
  • イベント ドキュメントの例
  • コマンド開始
  • コマンドSucceededEvent
  • コマンドFailedEvent
  • 詳細情報
  • API ドキュメント

このガイドでは、Go ドライバーを使用して、ドライバーが MongoDB 配置に送信する コマンドの結果を監視する方法を説明します。

アプリケーション内のコマンド イベントに関する情報を使用して、クエリ パフォーマンスの変化を理解し、ボトルネックを解決することができます。

アプリケーションでコマンド イベントをサブスクライブすることで、その詳細にアクセスできます。 次の例では、 CommandMonitorをインスタンス化し、配置に接続して、 CommandStartedEventイベントをサブスクライブする方法を示しています。

var eventArray []*event.CommandStartedEvent
cmdMonitor := &event.CommandMonitor{
Started: func(ctx context.Context, e *event.CommandStartedEvent) {
eventArray = append(eventArray, e)
},
}
clientOpts := options.Client().ApplyURI(uri).SetMonitor(cmdMonitor)
client, err := mongo.Connect(context.TODO(), clientOpts)

次のコマンド モニタリング イベントの 1 つ以上にサブスクライブできます。

イベント名
説明
CommandStartedEvent
コマンドの開始時に作成されます。
CommandSucceededEvent
コマンドが成功したときに作成されます。
CommandFailedEvent
コマンドが成功しない場合に作成されます。

次のセクションでは、コマンド モニタリング イベントの各タイプのサンプル出力を示します。

*event.CommandStartedEvent
{
"Command": "...",
"DatabaseName": "...",
"CommandName": "...",
"RequestID": ...,
"ConnectionID": "...",
"ServerConnectionID": ...,
"ServerConnectionID64": ...,
"ServiceID": "..."
}
*event.CommandSucceededEvent
{
"DurationNanos": 38717583,
"Duration": 38717583,
"CommandName": "insert",
"RequestID": 13,
"ConnectionID": "...",
"ServerConnectionID": ...,
"ServerConnectionID64": ...,
"ServiceID": null,
"Reply": "..."
}
*event.CommandFailedEvent
{
"DurationNanos": 38717583,
"Duration": 38717583,
"CommandName": "insert",
"RequestID": 13,
"ConnectionID": "...",
"ServerConnectionID": ...,
"ServerConnectionID64": ...,
"ServiceID": null,
"Failure": "..."
}

デプロイのモニタリングの詳細については、「 MongoDB をモニタリングするMongoDB MongoDB」 に関する記事をご覧ください。

MongoDB 操作の実行の詳細については、 CRUD 操作のガイドをご覧ください。

このガイドで言及されているメソッドとタイプの詳細については、次のAPIドキュメントを参照してください。

戻る

クラスター モニタリング