클래스: Mongo::Tracing::OpenTelemetry::CommandTracer Private
- 상속:
-
객체
- 객체
- Mongo::Trace::OpenTelemetry::CommandTracer
- 다음에 정의됨:
- lib/ Mongo/tracing/open_telemetry/command_tracer.rb
개요
이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
CommandTracer는 OpenTelemetry를 사용하여 MongoDB 서버 명령을 추적하는 역할을 합니다.
인스턴스 메서드 요약 접기
-
#initialize(otel_tracer, parent_tracer, query_text_max_Length: 0) ⇒ CommandTracer
생성자
비공개
새 CommandTracer를 초기화합니다.
-
#start_span(message, operation_context, connection) ⇒ 객체
비공개
MongoDB 명령의 스팬을 시작합니다.
-
#trace_command(message, _operation_context, connection) {... } ⇒ 객체
비공개
MongoDB 명령을 추적합니다.
생성자 세부 정보
#initialize(otel_tracer, parent_tracer, query_text_max_Length: 0) ⇒ CommandTracer
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
새 CommandTracer를 초기화합니다.
31 32 33 34 35 |
# 파일 'lib/ Mongo/tracing/open_telemetry/command_tracer.rb', 줄 31 def 초기화(otel_tracer, parent_tracer, query_text_max_Length: 0) @otel_tracer = otel_tracer @parent_tracer = parent_tracer @query_text_max_Length = query_text_max_Length end |
인스턴스 메서드 세부 정보
#start_span(message, operation_context, connection) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
MongoDB 명령의 스팬을 시작합니다.
42 |
# 파일 'lib/ Mongo/tracing/open_telemetry/command_tracer.rb', 줄 42 def start_span(, operation_context, 연결); end |
#trace_command(message, _operation_context, connection) {... } ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
MongoDB 명령을 추적합니다.
명령에 대한 OpenTelemetry 범위를 생성하여 명령 이름, 데이터베이스 이름, 컬렉션 이름, 서버 주소, 연결 ID 및 쿼리 텍스트(선택 사항)와 같은 속성을 캡처합니다. 범위는 현재 작업 범위 아래에 자동으로 중첩되며 명령이 완료되거나 실패하면 완료됩니다.
Rubocop:Lint/RescueException 비활성화
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# 파일 'lib/ Mongo/tracing/open_telemetry/command_tracer.rb', 줄 59 def trace_command(, 작업, 연결) # 명령은 항상 작업 범위 바로 아래가 아니라 작업 범위 아래에 중첩되어야 합니다. # 트랜잭션 스팬. 자동 상위 항목 확인을 사용하기 위해 with_parent를 전달하지 마세요. # 현재 활성 범위(작업 범위)에서 가져옵니다. span = create_command_span(, 연결) ::OpenTelemetry::트레이스.with_span(span) do |s, C| yield.탭 do |결과| process_command_result(결과, cursor_id(), C, s) end end 구출 예외 => e handle_command_Exception(span, e) 올리다 e 보장 span&.마침 end |