클래스: Mongo::모니터링
- 상속:
-
객체
- 객체
- Mongo::Monitoring
- 다음에 정의됨:
- build/ruby-driver-v2.19/lib/mongo/monitoring.rb,
build/ruby-driver-v2.19/lib/mongo/monitoring/publishable.rb,
build/ruby-driver-v2.19/lib/mongo/monitoring/event/secure.rb,
build/ruby-driver-v2.19/lib/mongo/monitoring/event/cmap/base.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/cmap_log_subscriber.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/event/server_closed.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/sdam_log_subscriber.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/event/command_failed.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/event/server_opening.rb,
build/ Ruby-driver-v2.19/lib/mongo/monitoring/event/cmap/pool_ready.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/event/command_started.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/event/topology_closed.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/command_log_subscriber.rb,
build/ Ruby-driver-v2.19/lib/mongo/monitoring/event/cmap/pool_closed.rb,
build/ruby-driver-v2.19/lib/mongo/monitoring/event/topology_changed.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/event/topology_opening.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/event/cmap/pool_cleared.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/event/cmap/pool_created.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/event/command_succeeded.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/event/cmap/connection_ready.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/unified_s담_log_subscriber.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/event/cmap/connection_closed.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/server_closed_log_subscriber.rb,
build/ Ruby-driver-v2.19/lib/mongo/monitoring/event/cmap/connection_created.rb,
build/ruby-driver-v2.19/lib/mongo/monitoring/event/server_heartbeat_failed.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/server_opening_log_subscriber.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/event/server_heartbeat_started.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/topology_closed_log_subscriber.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/topology_changed_log_subscriber.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/topology_opening_log_subscriber.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/event/cmap/connection_checked_in.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/event/server_description_changed.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/event/server_heartbeat_succeeded.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/event/cmap/connection_checked_out.rb,
build/ Ruby-driver-v2.19/lib/mongo/monitoring/event/cmap/connection_check_out_failed.rb,
빌드/루비 드라이버-v2.19/lib/mongo/monitoring/event/cmap/connection_check_out_started.rb,
build/ Ruby-driver-v2.19/lib/mongo/monitoring/server_description_changed_log_subscriber.rb
개요
이 클래스는 성능 모니터링 API의 동작을 정의합니다.
네임스페이스 아래에 정의됨
모듈: 이벤트, 글로벌, 게시 가능 , 구독 가능 클래스: CmapLogSubscriber, CommandLogSubscriber, SDAMLogSubscriber, ServerClosedLogSubscriber, ServerDescriptionChangedLogSubscriber, ServerOpeningLogSubscriber, TopologyChangedLogSubscriber , TopologyClosedLogSubscriber, TopologyOpeningLogS
상수 요약 접기
- 명령 =
명령 주제입니다.
'명령'.동결
- CONNECTION_POOL =
연결 풀 주제입니다.
'ConnectionPool'.동결
- SERVER_CLOSED =
서버 종료 주제.
'ServerClosed'.동결
- SERVER_DESCRIPTION_CHANGED =
MongoDB Server 설명 주제가 변경되었습니다.
'ServerDescriptionChanged'.동결
- SERVER_OPENING =
MongoDB Server 열기 주제입니다.
'ServerOpening'.동결
- TOPOLOGY_CHANGED =
토폴로지가 주제 를 변경했습니다.
'TopologyChanged'.동결
- TOPOLOGY_CLOSED =
토폴로지 닫힌 주제.
'TopologyClosed'.동결
- TOPOLOGY_OPENING =
토폴로지 열기 주제.
'TopologyOpening'.동결
- SERVER_HEARTBEAT =
서버 하트비트 시작 주제.
'ServerHeartbeat'.동결
인스턴스 속성 요약 접기
- #options ⇒ 객체 읽기 전용 비공개
클래스 메서드 요약 접기
-
.Next_operation_id ⇒ 정수
이벤트를 함께 연결하기 위해 고유한 작업 ID를 생성하는 데 사용됩니다.
인스턴스 메서드 요약 접기
-
#실패(주제, 이벤트) ⇒ 객체
실패한 이벤트를 게시합니다.
-
#initialize(options = {}) ⇒ 모니터링
생성자
비공개
모니터링 을 초기화합니다.
- #모니터링? ⇒ 부울 비공개
- #publish_heartbeat(server, awaited: false) ⇒ Object 비공개
-
#게시됨(주제, 이벤트) ⇒ 객체
이벤트를 게시합니다.
-
#started(topic, event) ⇒ Object
시작된 이벤트를 게시합니다.
-
#success(주제, 이벤트) ⇒ 객체
성공한 이벤트를 게시합니다.
구독가능에 포함된 메서드
#subscribe, #subscribers, #subscribers?, #unsubscribe
ID에 포함된 메서드
생성자 세부 정보
#initialize(options = {}) ⇒ 모니터링
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
모니터링 을 초기화합니다.
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 |
# 파일 'build/ Ruby-driver-v2.19/lib/mongo/monitoring.rb', 줄 220 def 초기화( = {}) @options = 만약 [:monitoring] != 거짓 글로벌.구독자.각 do |주제, 구독자| 구독자.각 do |구독자| 구독(주제, 구독자) end end 구독(명령, CommandLogSubscriber.신규()) # CMAP 이벤트는 다음을 생성하므로 기본값 기록되지 않습니다. # 운전자 가 수행한 모든 작업에 대한 로그 항목. # 구독(CONNECTION_POOL, CmapLogSubscriber.new(options)) 구독(SERVER_OPENING, ServerOpeningLogSubscriber.신규()) 구독(SERVER_CLOSED, ServerClosedLogSubscriber.신규()) 구독(SERVER_DESCRIPTION_CHANGED, ServerDescriptionChangedLogSubscriber.신규()) 구독(TOPOLOGY_OPENING, 토폴로지OpeningLogSubscriber.신규()) 구독(TOPOLOGY_CHANGED, 토폴로지 변경 로그 구독자.신규()) 구독(TOPOLOGY_CLOSED, 토폴로지ClosedLogSubscriber.신규()) end end |
인스턴스 속성 세부 정보
#options ⇒ 객체 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
242 243 244 |
# 파일 'build/ Ruby-driver-v2.19/lib/mongo/monitoring.rb', 줄 242 def @options end |
클래스 메서드 세부 정보
.Next_operation_id ⇒ 정수
이벤트를 함께 연결하기 위해 고유한 작업 ID를 생성하는 데 사용됩니다.
79 80 81 |
# 파일 'build/ Ruby-driver-v2.19/lib/mongo/monitoring.rb', 줄 79 def self.Next_operation_id self.Next_id end |
인스턴스 메서드 세부 정보
#실패(주제, 이벤트) ⇒ 객체
실패한 이벤트를 게시합니다.
이 메서드는 명령 및 하트비트 이벤트와 같이 시작/성공/실패 이벤트가 있는 이벤트 유형에 사용됩니다.
306 307 308 |
# 파일 'build/ Ruby-driver-v2.19/lib/mongo/monitoring.rb', 줄 306 def 실패하였습니다.(주제, 이벤트) subscribers_for(주제).각{ |구독자| 구독자.실패하였습니다.(이벤트) } end |
#모니터링? ⇒ 부울
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
245 246 247 |
# 파일 'build/ Ruby-driver-v2.19/lib/mongo/monitoring.rb', 줄 245 def 모니터링? [:monitoring] != 거짓 end |
#publish_heartbeat(서버, awaited: false) ⇒ Object
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 |
# 파일 'build/ Ruby-driver-v2.19/lib/mongo/monitoring.rb', 줄 311 def publish_heartbeat(서버, awaited: 거짓) 만약 모니터링? started_event = 이벤트::ServerHeartbeatStarted.신규( 서버.주소, awaited: awaited) 시작됨(SERVER_HEARTBEAT, started_event) end # 하트비트 성공/실패 이벤트에 게시하는 기간은 다음과 같습니다. # 전체 하트비트에 소요된 시간입니다. 여기에는 시간이 포함될 수 있습니다. # 시간뿐만 아니라 소켓(TLS 핸드셰이크 포함)을 연결합니다. # hello 호출 자체에 소비됩니다. # https://github.com/mongodb/specations/lob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring-monitoring.rst의 사양 # 여기에 노출된 기간은 '다음을 전송하는 # message" (hello). 이 요구 사항은 다음과 같은 경우에는 의미가 없습니다. # 예를 들어, 서버에 전혀 연결할 수 없었습니다. # 따라서 hello가 전송되지 않았습니다. start_time = Utils.단조적 시간 시작 결과 = yield 구출 => exc 만약 모니터링? 이벤트 = 이벤트::ServerHeartbeatFailed.신규( 서버.주소, Utils.단조적 시간 - start_time, exc, awaited: awaited, started_event: started_event, ) 실패하였습니다.(SERVER_HEARTBEAT, 이벤트) end 올리다 other 만약 모니터링? 이벤트 = 이벤트::ServerHeartbeatSucceeded.신규( 서버.주소, Utils.단조적 시간 - start_time, awaited: awaited, started_event: started_event, ) 성공(SERVER_HEARTBEAT, 이벤트) end 결과 end end |
#게시됨(주제, 이벤트) ⇒ 객체
이벤트를 게시합니다.
이 메서드는 이벤트가 하나뿐인 이벤트 유형에 사용됩니다.
258 259 260 |
# 파일 'build/ Ruby-driver-v2.19/lib/mongo/monitoring.rb', 줄 258 def 게시됨(주제, 이벤트) subscribers_for(주제).각{ |구독자| 구독자.게시됨(이벤트) } end |
#started(topic, event) ⇒ Object
시작된 이벤트를 게시합니다.
이 메서드는 명령 및 하트비트 이벤트와 같이 시작/성공/실패 이벤트가 있는 이벤트 유형에 사용됩니다.
274 275 276 |
# 파일 'build/ Ruby-driver-v2.19/lib/mongo/monitoring.rb', 줄 274 def 시작됨(주제, 이벤트) subscribers_for(주제).각{ |구독자| 구독자.시작됨(이벤트) } end |
#성공(주제, 이벤트) ⇒ 객체
성공한 이벤트를 게시합니다.
이 메서드는 명령 및 하트비트 이벤트와 같이 시작/성공/실패 이벤트가 있는 이벤트 유형에 사용됩니다.
290 291 292 |
# 파일 'build/ Ruby-driver-v2.19/lib/mongo/monitoring.rb', 줄 290 def 성공(주제, 이벤트) subscribers_for(주제).각{ |구독자| 구독자.성공(이벤트) } end |