Docs Menu
Docs Home
/ / /
Rust ドライバー
/ /

接続プールの監視

項目一覧

  • Overview
  • イベントの説明
  • イベント モニタリングの例
  • イベント ドキュメントの例
  • PoolCreateEvent
  • PoolReadyEvent
  • PoolClearedEvent
  • PoolClosedEvent
  • ConnectionCreateEvent
  • ConnectionReadyEvent
  • ConnectionClosedEvent
  • ConnectionCheckOutStartedEvent
  • ConnectionCheckoutFailedEvent
  • ConnectionCheckedOutEvent
  • ConnectionCheckedInEvent
  • 詳細情報
  • API ドキュメント

このガイドでは、Rust ドライバーを使用してドライバーの接続プールを監視する方法を説明します。 接続プールは、ドライバーが MongoDB インスタンスと維持するオープン コントロール プロトコル(TCP)接続のセットです。 接続プールを使用すると、アプリケーションで作成する必要がある新しい接続の数が減るため、アプリケーションの実行が高速化される可能性があります。

アプリケーション内の接続プールの変更に関する情報を使用することも、接続プールを監視して、ドライバーが接続を使用する方法の詳細を学習することもできます。

このガイドには、次のセクションが含まれています。

  • イベントの説明では、ドライバーが生成できる接続プール イベントについて説明します。

  • イベント サブスクリプションの例では、接続プール イベントをサブスクライブする方法を示すサンプル コードを提供します。

  • サンプルイベント ドキュメントでは、各接続プール イベントのサンプルが提供されます。

  • 追加情報では、このガイドで言及されている型とメソッドのリソースとAPIドキュメントへのリンクを提供します。

次の接続プール イベントを監視できます。

イベント名
説明
接続プールが作成されたときに作成されます。
接続プールが準備できたときに作成されます。
接続プールがクリアされたときに作成されます。
サーバー インスタンスが破棄される前に、接続プールが閉じられたときに作成されます。
接続が作成されたときに作成されますが、操作に使用される場合は必ずしも作成されません。
接続がハンドシェイクを正常に完了し、操作に使用する準備が整った後に作成されます。
接続が閉じられたときに作成されます。
操作が実行用接続を取得しようとしたときに作成されます。
操作が実行用接続を取得できない場合に作成されます。
操作が実行用接続を正常に取得したときに作成されます。
操作が実行された後に接続がプールにチェックバックされたときに作成されます。

cmap_event_handlerクライアント オプションの値として EventHandlerインスタンスを割り当てることで、接続プール イベントを監視できます。 すべての接続プール イベントを処理する を構築するには、 メソッドまたはEventHandlercallback() async_callback()メソッドを使用します。

次の例では、MongoDB 配置に接続し、クライアントに接続プール イベントを監視するように指示して、各イベントを出力します。

let mut client_options = ClientOptions::parse("<connection string>").await?;
client_options.cmap_event_handler = Some(EventHandler::callback(|ev| println!("{:?}", ev)));
let client = Client::with_options(client_options)?;
// ... perform actions with the client to generate events

次のセクションでは、接続プールを監視するイベントの各タイプのサンプル出力を示します。

PoolCreatedEvent {
address: ...,
options: {...}
}
PoolReadyEvent {
address: ...
}
PoolClearedEvent {
address: ...,
service_id: ...,
}
PoolClosedEvent {
address: ...
}
ConnectionCreatedEvent {
address: ...,
connection_id: 1
}
ConnectionReadyEvent {
address: ...,
connection_id: 1
}
ConnectionClosedEvent {
address: ...,
connection_id: 1,
reason: ...,
/* private fields */
}
ConnectionCheckOutStartedEvent {
address: ...,
}
ConnectionCheckOutFailedEvent {
address: ...,
reason: ...,
/* private fields */
}
ConnectionCheckedOutEvent {
address: ...,
connection_id: 1
}
ConnectionCheckedInEvent {
address: ...,
connection_id: 1
}

MongoDB 配置のモニタリングの詳細については、「 MongoDB をモニタリングする方法 」に関する記事を参照してください。

MongoDB への接続の詳細については、「 接続ガイド 」を参照してください。

アプリケーションのパフォーマンス向上の詳細については、パフォーマンスに関する考慮事項 のガイドを参照してください。

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

戻る

コマンド監視