Docs Menu
Docs Home
/ / /
Go 드라이버
/ /

명령 모니터링

이 페이지의 내용

  • 개요
  • 이벤트 구독
  • 이벤트 설명
  • 이벤트 문서 예시
  • CommandStartedEvent
  • CommandSucceededEvent
  • CommandFailedEvent
  • 추가 정보
  • API 문서

이 가이드에서는 Go 드라이버를 사용하여 드라이버가 MongoDB deployment로 전송하는 명령의 결과를 모니터링하는 방법을 보여 줍니다.

애플리케이션의 명령 이벤트에 대한 정보를 사용하여 쿼리 성능의 변화를 이해하거나 병목 현상을 해결할 수 있습니다.

애플리케이션에서 명령 이벤트를 구독하여 해당 이벤트에 대한 세부 정보에 액세스할 수 있습니다. 다음 예제에서는 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)

다음 명령 모니터링 이벤트 중 하나 이상을 구독할 수 있습니다.

이벤트 이름
설명
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 작업 수행에 학습 보려면 CRUD 작업 가이드를 참조하세요.

이 가이드에서 사용되는 메서드 또는 유형에 대해 자세히 알아보려면 다음 API 문서를 참조하세요.

돌아가기

클러스터 모니터링