InfoGrab DocsInfoGrab Docs

로깅된 이벤트

요약

GitLab Rails Monolith 인스턴스의 표준 로깅 외에도, 대규모 언어 모델(LLM) 기반 기능에 대한 특수 로깅을 사용할 수 있습니다. Description: 사용자가 작업을 수행할 권한이 없음 Class: Llm::BaseService

GitLab Rails Monolith 인스턴스의 표준 로깅 외에도, 대규모 언어 모델(LLM) 기반 기능에 대한 특수 로깅을 사용할 수 있습니다.

로깅된 이벤트#

검증으로 인한 서비스 반환#

  • Description: 사용자가 작업을 수행할 권한이 없음

  • Class: Llm::BaseService

  • Ai_event_name: permission_denied

  • Level: info

  • Arguments:

none

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: yes

  • Sidekiq: no

CompletionWorker 대기열에 추가#

  • Description: Sidekiq에서 completion worker 스케줄링

  • Class: Llm::BaseService

  • Ai_event_name: worker_enqueued

  • Level: info

  • Arguments:

user_id: message.user.id

  • resource_id: message.resource&.id

  • resource_class: message.resource&.class&.name

  • request_id: message.request_id

  • action_name: message.ai_action

  • options: job_options

  • Part of the system: abstraction_layer

  • Expanded logging?: yes

  • Rails: yes

  • Sidekiq: no

중단: 리소스 없음#

  • Description: 슬래시 명령에 리소스가 없는 경우

  • Class: Llm::ChatService

  • Ai_event_name: missing_resource

  • Level: info

  • Arguments:

none

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: yes

  • Sidekiq: no

CompletionService 실행#

  • Description: completion 실행 중

  • Class: Llm::Internal::CompletionService

  • Ai_event_name: completion_service_performed

  • Level: info

  • Arguments:

user_id: prompt_message.user.to_gid

  • resource_id: prompt_message.resource&.to_gid

  • action_name: prompt_message.ai_action

  • request_id: prompt_message.request_id

  • client_subscription_id: prompt_message.client_subscription_id

  • completion_service_name: completion_class_name

  • Part of the system: abstraction_layer

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

LLM 응답에서 답변#

  • Description: 응답에서 답변 가져오기

  • Class: Gitlab::Llm::Chain::Answer

  • Ai_event_name: answer_received

  • Level: info

  • Arguments:

llm_answer_content: content

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

최종 답변#

  • Description: 응답에서 최종 답변 가져오기

  • Class: Gitlab::Llm::Chain::Answer

  • Ai_event_name: final_answer_received

  • Level: info

  • Arguments:

llm_answer_content: content

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

기본 최종 답변#

  • Description: 기본 최종 답변: 죄송합니다, 시간 내에 응답하지 못했습니다. 더 구체적인 요청을 해보시거나 /clear를 입력하여 새 채팅을 시작하세요.

  • Class: Gitlab::Llm::Chain::Answer

  • Ai_event_name: default_final_answer_received

  • Level: info

  • Arguments:

error_code: "A6000"

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

오류 메시지 / "오류"#

  • Description: 오류와 함께 응답할 때

  • Class: Gitlab::Llm::Chain::Answer

  • Ai_event_name: error_returned

  • Level: error

  • Arguments:

error: content

  • error_code: error_code

  • source: source

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

AI Gateway에서 응답 수신#

  • Description: AIGW에서 응답이 반환될 때

  • Class: Gitlab::Llm::AiGateway::Client

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

response_from_llm: response_body

  • latency_seconds: latency_seconds

  • user_id: user.id

  • Part of the system: abstraction_layer

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

AI Gateway에서 오류 수신#

  • Description: 스트리밍 명령에 대해 AIGW에서 오류가 반환될 때

  • Class: Gitlab::Llm::AiGateway::Client

  • Ai_event_name: error_response_received

  • Level: error

  • Arguments:

response_from_llm: parsed_response.dig('detail', 0, 'msg')

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

AI Gateway에 요청 수행#

  • Description: AI GW에 요청을 수행하기 전

  • Class: Gitlab::Llm::AiGateway::Client

  • Ai_event_name: performing_request

  • Level: info

  • Arguments:

url: url

  • body: body

  • timeout: timeout

  • stream: stream

  • Part of the system: abstraction_layer

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

사용자 액세스 토큰 생성#

  • Description: AIGW에서 단기 토큰 생성

  • Class: Gitlab::Llm::AiGateway::CodeSuggestionsClient

  • Ai_event_name: user_token_created

  • Level: info

  • Arguments:

none

  • Part of the system: code suggestions

  • Expanded logging?: no

  • Rails: yes

  • Sidekiq: no

Anthropic에서 응답 수신#

  • Description: 응답 수신

  • Class: Gitlab::Llm::Anthropic::Client

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

ai_request_type: request_type

  • unit_primitive: unit_primitive

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

응답 콘텐츠#

  • Description: 응답 콘텐츠

  • Class: Gitlab::Llm::Anthropic::Client

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

ai_request_type: request_type

  • unit_primitive: unit_primitive

  • response_from_llm: response_body

  • Part of the system: abstraction_layer

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

Anthropic에 요청 수행#

  • Description: completion 요청 수행

  • Class: Gitlab::Llm::Anthropic::Client

  • Ai_event_name: performing_request

  • Level: info

  • Arguments:

options: options

  • ai_request_type: request_type

  • unit_primitive: unit_primitive

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

AI Gateway에서 문서 검색#

  • Description: 문서 검색 요청 수행

  • Class: Gitlab::Llm::AiGateway::DocsClient

  • Ai_event_name: performing_request

  • Level: info

  • Arguments:

options: options

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

AI Gateway에서 문서 콘텐츠 검색됨#

  • Description: 문서와 함께 AIGW에서 응답

  • Class: Gitlab::Llm::AiGateway::DocsClient

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

response_from_llm: response

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

질문 분류 중 JSON 파싱 오류#

  • Description: JSON을 파싱할 수 없을 때 로깅

  • Class: Gitlab::Llm::AiGateway::Completions::CategorizeQuestions

  • Ai_event_name: error

  • Level: error

  • Arguments:

none

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

응답에 정의된 카테고리가 포함되지 않음#

  • Description: 응답에 정의된 카테고리 중 하나가 포함되지 않을 때 로깅

  • Class: Gitlab::Llm::AiGateway::Completions::CategorizeQuestions

  • Ai_event_name: error

  • Level: error

  • Arguments:

none

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

질문 분류 중 오류 응답 수신#

  • Description: 반환된 응답이 성공적이지 않을 때 로깅

  • Class: Gitlab::Llm::AiGateway::Completions::CategorizeQuestions

  • Ai_event_name: error

  • Level: error

  • Arguments:

error_type: response.dig('error', 'type')

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

선택된 도구#

  • Description: 채팅이 선택한 도구에 대한 정보

  • Class: Gitlab::Llm::Chain::Tools::Tool

  • Ai_event_name: picked_tool

  • Level: info

  • Arguments:

duo_chat_tool: tool_class.to_s

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

AI 클라이언트에 요청 수행#

  • Description: 채팅을 위한 요청 수행

  • Class: Gitlab::Llm::Chain::Requests::AiGateway

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

prompt: prompt[:prompt]

  • response_from_llm: response

  • unit_primitive: unit_primitive

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

스트리밍 오류#

  • Description: 스트리밍 중 반환된 오류

  • Class: Gitlab::Llm::Chain::Requests::Anthropic

  • Ai_event_name: error_response_received

  • Level: error

  • Arguments:

error: data&.dig("error")

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

문서 질문 콘텐츠의 최종 결과 획득#

  • Description: 문서 질문에 대한 결과 획득 - 콘텐츠

  • Class: Gitlab::Llm::Chain::Tools::EmbeddingsCompletion

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

prompt: final_prompt[:prompt]

  • response_from_llm: final_prompt_result

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

스트리밍 오류#

  • Description: 문서 질문에서 스트리밍 명령에 대해 AIGW에서 오류가 반환될 때

  • Class: Gitlab::Llm::Chain::Tools::EmbeddingsCompletion

  • Ai_event_name: error_response_received

  • Level: error

  • Arguments:

error: error.message

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

도구에서 이미 답변 수신#

  • Description: 도구가 이미 선택된 경우 (콘텐츠: You already have the answer from #{self.class::NAME} tool, read carefully.)

  • Class: Gitlab::Llm::Chain::Tools::Tool

  • Ai_event_name: incorrect_response_received

  • Level: info

  • Arguments:

error_message: content

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

도구 순환 감지#

  • Description: 도구가 다시 선택될 때

  • Class: Gitlab::Llm::Chain::Tools::Tool

  • Ai_event_name: incorrect_response_received

  • Level: info

  • Arguments:

picked_tool: cls.class.to_s

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

TanukiBot 호출#

  • Description: 문서 요청 수행

  • Class: Gitlab::Llm::Chain::Tools::GitlabDocumentation::Executor

  • Ai_event_name: documentation_question_initial_request

  • Level: info

  • Arguments:

none

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

#{resource_name} 찾기 오류#

  • Description: 리소스(이슈/에픽/머지 리퀘스트)를 찾을 수 없을 때

  • Class: Gitlab::Llm::Chain::Tools::Identifier

  • Ai_event_name: incorrect_response_received

  • Level: error

  • Arguments:

error_message: authorizer.message

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

LLM에서 답변 수신#

  • Description: identifier로부터의 응답

  • Class: Gitlab::Llm::Chain::Tools::Identifier

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

response_from_llm: content

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

JSON 파싱 오류#

  • Description: JSON이 잘못된 형식일 때 (Observation: JSON has an invalid format. Please retry)

  • Class: Gitlab::Llm::Chain::Tools::Identifier

  • Ai_event_name: error

  • Level: error

  • Arguments:

none

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

리소스 이미 식별됨#

  • Description: 이미 식별된 리소스 (You already have identified the #{resource_name} #{resource.to_global_id}, read carefully.)

  • Class: Gitlab::Llm::Chain::Tools::Identifier

  • Ai_event_name: incorrect_response_received

  • Level: info

  • Arguments:

error_message: content

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

지원되는 Issuable 유형 권한 허용#

  • Description: 이슈/에픽에 대한 권한(policy.can?) 로깅

  • Class: Gitlab::Llm::Chain::Tools::SummarizeComments::Executor

  • Ai_event_name: permission

  • Level: info

  • Arguments:

allowed: ability

  • Part of the system: feature

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

지원되는 Issuable 유형 권한 허용#

  • Description: 이슈/에픽에 대한 권한(policy.can?) 로깅

  • Class: Gitlab::Llm::Chain::Tools::SummarizeComments::ExecutorOld

  • Ai_event_name: permission

  • Level: info

  • Arguments:

allowed: ability

  • Part of the system: feature

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

summarize_comments를 위한 답변 콘텐츠#

  • Description: 댓글 요약 기능에 대한 답변

  • Class: Gitlab::Llm::Chain::Tools::SummarizeComments::ExecutorOld

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

response_from_llm: content

  • Part of the system: feature

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

채팅 요청의 프롬프트 콘텐츠#

  • Description: 채팅 관련 요청

  • Class: Gitlab::Llm::Chain::Concerns::AiDependent

  • Ai_event_name: prompt_content

  • Level: info

  • Arguments:

prompt: prompt_text

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

"요청이 너무 많습니다. #{delay}초 후에 재시도합니다"#

  • Description: 지수 백오프 루프에 진입할 때

  • Class: Gitlab::Llm::Chain::Concerns::ExponentialBackoff

  • Ai_event_name: retrying_request

  • Level: info

  • Arguments:

none

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

리소스를 찾을 수 없음#

  • Description: 리소스를 찾을 수 없거나 권한이 없음

  • Class: Gitlab::Llm::Utils::Authorizer

  • Ai_event_name: permission_denied

  • Level: info

  • Arguments:

error_code: "M3003"

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

GitLab Duo Chat에 대한 접근 권한 없음#

  • Description: Duo Chat에 대한 접근 권한 없음

  • Class: Gitlab::Llm::Utils::Authorizer

  • Ai_event_name: permission_denied

  • Level: info

  • Arguments:

error_code: "M3004"

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

AI가 비활성화됨#

  • Description: 컨테이너에 대해 AI가 활성화되지 않음

  • Class: Gitlab::Llm::Utils::Authorizer

  • Ai_event_name: permission_denied

  • Level: info

  • Arguments:

error_code: "M3002"

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

Vertex에 요청 수행#

  • Description: 요청 수행

  • Class: Gitlab::Llm::VertexAi::Client

  • Ai_event_name: performing_request

  • Level: info

  • Arguments:

unit_primitive: unit_primitive

  • options: config

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

응답 콘텐츠#

  • Description: aigw - vertex - 콘텐츠로부터의 응답

  • Class: Gitlab::Llm::VertexAi::Client

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

unit_primitive: unit_primitive

  • response_from_llm: response.to_json

  • Part of the system: abstraction_layer

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

Vertex에서 응답 수신#

  • Description: aigw - vertex로부터의 응답

  • Class: Gitlab::Llm::VertexAi::Client

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

unit_primitive: unit_primitive

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

Vertex에서 빈 응답#

  • Description: aigw - vertex로부터의 빈 응답

  • Class: Gitlab::Llm::VertexAi::Client

  • Ai_event_name: empty_response_received

  • Level: error

  • Arguments:

unit_primitive: unit_primitive

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

알 수 없는 이벤트를 최종 답변으로 사용자에게 표시#

  • Description: 알 수 없는 이벤트

  • Class: Gitlab::Llm::Chain::Agents::SingleActionExecutor

  • Ai_event_name: unknown_event

  • Level: warn

  • Arguments:

none

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

GitLab Rails에서 도구 찾기 실패#

  • Description: 도구를 찾지 못함

  • Class: Gitlab::Llm::Chain::Agents::SingleActionExecutor

  • Ai_event_name: tool_not_find

  • Level: error

  • Arguments:

tool_name: tool_name

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

v2/chat/agent에서 이벤트 수신#

  • Description: 이벤트 수신

  • Class: Gitlab::Duo::Chat::StepExecutor

  • Ai_event_name: event_received

  • Level: info

  • Arguments:

event: event

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

관찰 업데이트 실패#

  • Description: 관찰 업데이트 실패

  • Class: Gitlab::Duo::Chat::StepExecutor

  • Ai_event_name: agent_steps_empty

  • Level: error

  • Arguments:

none

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

v2/chat/agent에 요청#

  • Description: 요청

  • Class: Gitlab::Duo::Chat::StepExecutor

  • Ai_event_name: performing_request

  • Level: info

  • Arguments:

params: params

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

v2/chat/agent에서 스트리밍 완료#

  • Description: 스트리밍 완료

  • Class: Gitlab::Duo::Chat::StepExecutor

  • Ai_event_name: streaming_finished

  • Level: info

  • Arguments:

none

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

GitLab Duo Chat Agent에서 오류 수신#

  • Description: 스트리밍 중 반환된 오류

  • Class: Gitlab::Duo::Chat::StepExecutor

  • Ai_event_name: error_returned

  • Level: error

  • Arguments:

status: response.code

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

GitLab Duo Chat Agent에서 청크 파싱 실패#

  • Description: 청크 파싱 실패

  • Class: Gitlab::Duo::Chat::AgentEventParser

  • Ai_event_name: parsing_error

  • Level: warn

  • Arguments:

event_json_size: event_json.length

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

GitLab-Rails에서 이벤트 클래스 찾기 실패#

  • Description: 이벤트 클래스 없음

  • Class: Gitlab::Duo::Chat::AgentEventParser

  • Ai_event_name: parsing_error

  • Level: error

  • Arguments:

event_type: event['type']

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

로깅된 이벤트

GitLab v19.1
원문 보기
요약

GitLab Rails Monolith 인스턴스의 표준 로깅 외에도, 대규모 언어 모델(LLM) 기반 기능에 대한 특수 로깅을 사용할 수 있습니다. Description: 사용자가 작업을 수행할 권한이 없음 Class: Llm::BaseService

GitLab Rails Monolith 인스턴스의 표준 로깅 외에도, 대규모 언어 모델(LLM) 기반 기능에 대한 특수 로깅을 사용할 수 있습니다.

로깅된 이벤트#

검증으로 인한 서비스 반환#

  • Description: 사용자가 작업을 수행할 권한이 없음

  • Class: Llm::BaseService

  • Ai_event_name: permission_denied

  • Level: info

  • Arguments:

none

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: yes

  • Sidekiq: no

CompletionWorker 대기열에 추가#

  • Description: Sidekiq에서 completion worker 스케줄링

  • Class: Llm::BaseService

  • Ai_event_name: worker_enqueued

  • Level: info

  • Arguments:

user_id: message.user.id

  • resource_id: message.resource&.id

  • resource_class: message.resource&.class&.name

  • request_id: message.request_id

  • action_name: message.ai_action

  • options: job_options

  • Part of the system: abstraction_layer

  • Expanded logging?: yes

  • Rails: yes

  • Sidekiq: no

중단: 리소스 없음#

  • Description: 슬래시 명령에 리소스가 없는 경우

  • Class: Llm::ChatService

  • Ai_event_name: missing_resource

  • Level: info

  • Arguments:

none

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: yes

  • Sidekiq: no

CompletionService 실행#

  • Description: completion 실행 중

  • Class: Llm::Internal::CompletionService

  • Ai_event_name: completion_service_performed

  • Level: info

  • Arguments:

user_id: prompt_message.user.to_gid

  • resource_id: prompt_message.resource&.to_gid

  • action_name: prompt_message.ai_action

  • request_id: prompt_message.request_id

  • client_subscription_id: prompt_message.client_subscription_id

  • completion_service_name: completion_class_name

  • Part of the system: abstraction_layer

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

LLM 응답에서 답변#

  • Description: 응답에서 답변 가져오기

  • Class: Gitlab::Llm::Chain::Answer

  • Ai_event_name: answer_received

  • Level: info

  • Arguments:

llm_answer_content: content

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

최종 답변#

  • Description: 응답에서 최종 답변 가져오기

  • Class: Gitlab::Llm::Chain::Answer

  • Ai_event_name: final_answer_received

  • Level: info

  • Arguments:

llm_answer_content: content

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

기본 최종 답변#

  • Description: 기본 최종 답변: 죄송합니다, 시간 내에 응답하지 못했습니다. 더 구체적인 요청을 해보시거나 /clear를 입력하여 새 채팅을 시작하세요.

  • Class: Gitlab::Llm::Chain::Answer

  • Ai_event_name: default_final_answer_received

  • Level: info

  • Arguments:

error_code: "A6000"

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

오류 메시지 / "오류"#

  • Description: 오류와 함께 응답할 때

  • Class: Gitlab::Llm::Chain::Answer

  • Ai_event_name: error_returned

  • Level: error

  • Arguments:

error: content

  • error_code: error_code

  • source: source

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

AI Gateway에서 응답 수신#

  • Description: AIGW에서 응답이 반환될 때

  • Class: Gitlab::Llm::AiGateway::Client

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

response_from_llm: response_body

  • latency_seconds: latency_seconds

  • user_id: user.id

  • Part of the system: abstraction_layer

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

AI Gateway에서 오류 수신#

  • Description: 스트리밍 명령에 대해 AIGW에서 오류가 반환될 때

  • Class: Gitlab::Llm::AiGateway::Client

  • Ai_event_name: error_response_received

  • Level: error

  • Arguments:

response_from_llm: parsed_response.dig('detail', 0, 'msg')

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

AI Gateway에 요청 수행#

  • Description: AI GW에 요청을 수행하기 전

  • Class: Gitlab::Llm::AiGateway::Client

  • Ai_event_name: performing_request

  • Level: info

  • Arguments:

url: url

  • body: body

  • timeout: timeout

  • stream: stream

  • Part of the system: abstraction_layer

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

사용자 액세스 토큰 생성#

  • Description: AIGW에서 단기 토큰 생성

  • Class: Gitlab::Llm::AiGateway::CodeSuggestionsClient

  • Ai_event_name: user_token_created

  • Level: info

  • Arguments:

none

  • Part of the system: code suggestions

  • Expanded logging?: no

  • Rails: yes

  • Sidekiq: no

Anthropic에서 응답 수신#

  • Description: 응답 수신

  • Class: Gitlab::Llm::Anthropic::Client

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

ai_request_type: request_type

  • unit_primitive: unit_primitive

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

응답 콘텐츠#

  • Description: 응답 콘텐츠

  • Class: Gitlab::Llm::Anthropic::Client

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

ai_request_type: request_type

  • unit_primitive: unit_primitive

  • response_from_llm: response_body

  • Part of the system: abstraction_layer

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

Anthropic에 요청 수행#

  • Description: completion 요청 수행

  • Class: Gitlab::Llm::Anthropic::Client

  • Ai_event_name: performing_request

  • Level: info

  • Arguments:

options: options

  • ai_request_type: request_type

  • unit_primitive: unit_primitive

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

AI Gateway에서 문서 검색#

  • Description: 문서 검색 요청 수행

  • Class: Gitlab::Llm::AiGateway::DocsClient

  • Ai_event_name: performing_request

  • Level: info

  • Arguments:

options: options

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

AI Gateway에서 문서 콘텐츠 검색됨#

  • Description: 문서와 함께 AIGW에서 응답

  • Class: Gitlab::Llm::AiGateway::DocsClient

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

response_from_llm: response

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

질문 분류 중 JSON 파싱 오류#

  • Description: JSON을 파싱할 수 없을 때 로깅

  • Class: Gitlab::Llm::AiGateway::Completions::CategorizeQuestions

  • Ai_event_name: error

  • Level: error

  • Arguments:

none

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

응답에 정의된 카테고리가 포함되지 않음#

  • Description: 응답에 정의된 카테고리 중 하나가 포함되지 않을 때 로깅

  • Class: Gitlab::Llm::AiGateway::Completions::CategorizeQuestions

  • Ai_event_name: error

  • Level: error

  • Arguments:

none

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

질문 분류 중 오류 응답 수신#

  • Description: 반환된 응답이 성공적이지 않을 때 로깅

  • Class: Gitlab::Llm::AiGateway::Completions::CategorizeQuestions

  • Ai_event_name: error

  • Level: error

  • Arguments:

error_type: response.dig('error', 'type')

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

선택된 도구#

  • Description: 채팅이 선택한 도구에 대한 정보

  • Class: Gitlab::Llm::Chain::Tools::Tool

  • Ai_event_name: picked_tool

  • Level: info

  • Arguments:

duo_chat_tool: tool_class.to_s

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

AI 클라이언트에 요청 수행#

  • Description: 채팅을 위한 요청 수행

  • Class: Gitlab::Llm::Chain::Requests::AiGateway

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

prompt: prompt[:prompt]

  • response_from_llm: response

  • unit_primitive: unit_primitive

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

스트리밍 오류#

  • Description: 스트리밍 중 반환된 오류

  • Class: Gitlab::Llm::Chain::Requests::Anthropic

  • Ai_event_name: error_response_received

  • Level: error

  • Arguments:

error: data&.dig("error")

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

문서 질문 콘텐츠의 최종 결과 획득#

  • Description: 문서 질문에 대한 결과 획득 - 콘텐츠

  • Class: Gitlab::Llm::Chain::Tools::EmbeddingsCompletion

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

prompt: final_prompt[:prompt]

  • response_from_llm: final_prompt_result

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

스트리밍 오류#

  • Description: 문서 질문에서 스트리밍 명령에 대해 AIGW에서 오류가 반환될 때

  • Class: Gitlab::Llm::Chain::Tools::EmbeddingsCompletion

  • Ai_event_name: error_response_received

  • Level: error

  • Arguments:

error: error.message

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

도구에서 이미 답변 수신#

  • Description: 도구가 이미 선택된 경우 (콘텐츠: You already have the answer from #{self.class::NAME} tool, read carefully.)

  • Class: Gitlab::Llm::Chain::Tools::Tool

  • Ai_event_name: incorrect_response_received

  • Level: info

  • Arguments:

error_message: content

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

도구 순환 감지#

  • Description: 도구가 다시 선택될 때

  • Class: Gitlab::Llm::Chain::Tools::Tool

  • Ai_event_name: incorrect_response_received

  • Level: info

  • Arguments:

picked_tool: cls.class.to_s

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

TanukiBot 호출#

  • Description: 문서 요청 수행

  • Class: Gitlab::Llm::Chain::Tools::GitlabDocumentation::Executor

  • Ai_event_name: documentation_question_initial_request

  • Level: info

  • Arguments:

none

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

#{resource_name} 찾기 오류#

  • Description: 리소스(이슈/에픽/머지 리퀘스트)를 찾을 수 없을 때

  • Class: Gitlab::Llm::Chain::Tools::Identifier

  • Ai_event_name: incorrect_response_received

  • Level: error

  • Arguments:

error_message: authorizer.message

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

LLM에서 답변 수신#

  • Description: identifier로부터의 응답

  • Class: Gitlab::Llm::Chain::Tools::Identifier

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

response_from_llm: content

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

JSON 파싱 오류#

  • Description: JSON이 잘못된 형식일 때 (Observation: JSON has an invalid format. Please retry)

  • Class: Gitlab::Llm::Chain::Tools::Identifier

  • Ai_event_name: error

  • Level: error

  • Arguments:

none

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

리소스 이미 식별됨#

  • Description: 이미 식별된 리소스 (You already have identified the #{resource_name} #{resource.to_global_id}, read carefully.)

  • Class: Gitlab::Llm::Chain::Tools::Identifier

  • Ai_event_name: incorrect_response_received

  • Level: info

  • Arguments:

error_message: content

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

지원되는 Issuable 유형 권한 허용#

  • Description: 이슈/에픽에 대한 권한(policy.can?) 로깅

  • Class: Gitlab::Llm::Chain::Tools::SummarizeComments::Executor

  • Ai_event_name: permission

  • Level: info

  • Arguments:

allowed: ability

  • Part of the system: feature

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

지원되는 Issuable 유형 권한 허용#

  • Description: 이슈/에픽에 대한 권한(policy.can?) 로깅

  • Class: Gitlab::Llm::Chain::Tools::SummarizeComments::ExecutorOld

  • Ai_event_name: permission

  • Level: info

  • Arguments:

allowed: ability

  • Part of the system: feature

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

summarize_comments를 위한 답변 콘텐츠#

  • Description: 댓글 요약 기능에 대한 답변

  • Class: Gitlab::Llm::Chain::Tools::SummarizeComments::ExecutorOld

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

response_from_llm: content

  • Part of the system: feature

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

채팅 요청의 프롬프트 콘텐츠#

  • Description: 채팅 관련 요청

  • Class: Gitlab::Llm::Chain::Concerns::AiDependent

  • Ai_event_name: prompt_content

  • Level: info

  • Arguments:

prompt: prompt_text

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

"요청이 너무 많습니다. #{delay}초 후에 재시도합니다"#

  • Description: 지수 백오프 루프에 진입할 때

  • Class: Gitlab::Llm::Chain::Concerns::ExponentialBackoff

  • Ai_event_name: retrying_request

  • Level: info

  • Arguments:

none

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

리소스를 찾을 수 없음#

  • Description: 리소스를 찾을 수 없거나 권한이 없음

  • Class: Gitlab::Llm::Utils::Authorizer

  • Ai_event_name: permission_denied

  • Level: info

  • Arguments:

error_code: "M3003"

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

GitLab Duo Chat에 대한 접근 권한 없음#

  • Description: Duo Chat에 대한 접근 권한 없음

  • Class: Gitlab::Llm::Utils::Authorizer

  • Ai_event_name: permission_denied

  • Level: info

  • Arguments:

error_code: "M3004"

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

AI가 비활성화됨#

  • Description: 컨테이너에 대해 AI가 활성화되지 않음

  • Class: Gitlab::Llm::Utils::Authorizer

  • Ai_event_name: permission_denied

  • Level: info

  • Arguments:

error_code: "M3002"

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

Vertex에 요청 수행#

  • Description: 요청 수행

  • Class: Gitlab::Llm::VertexAi::Client

  • Ai_event_name: performing_request

  • Level: info

  • Arguments:

unit_primitive: unit_primitive

  • options: config

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

응답 콘텐츠#

  • Description: aigw - vertex - 콘텐츠로부터의 응답

  • Class: Gitlab::Llm::VertexAi::Client

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

unit_primitive: unit_primitive

  • response_from_llm: response.to_json

  • Part of the system: abstraction_layer

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

Vertex에서 응답 수신#

  • Description: aigw - vertex로부터의 응답

  • Class: Gitlab::Llm::VertexAi::Client

  • Ai_event_name: response_received

  • Level: info

  • Arguments:

unit_primitive: unit_primitive

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

Vertex에서 빈 응답#

  • Description: aigw - vertex로부터의 빈 응답

  • Class: Gitlab::Llm::VertexAi::Client

  • Ai_event_name: empty_response_received

  • Level: error

  • Arguments:

unit_primitive: unit_primitive

  • Part of the system: abstraction_layer

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

알 수 없는 이벤트를 최종 답변으로 사용자에게 표시#

  • Description: 알 수 없는 이벤트

  • Class: Gitlab::Llm::Chain::Agents::SingleActionExecutor

  • Ai_event_name: unknown_event

  • Level: warn

  • Arguments:

none

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

GitLab Rails에서 도구 찾기 실패#

  • Description: 도구를 찾지 못함

  • Class: Gitlab::Llm::Chain::Agents::SingleActionExecutor

  • Ai_event_name: tool_not_find

  • Level: error

  • Arguments:

tool_name: tool_name

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

v2/chat/agent에서 이벤트 수신#

  • Description: 이벤트 수신

  • Class: Gitlab::Duo::Chat::StepExecutor

  • Ai_event_name: event_received

  • Level: info

  • Arguments:

event: event

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

관찰 업데이트 실패#

  • Description: 관찰 업데이트 실패

  • Class: Gitlab::Duo::Chat::StepExecutor

  • Ai_event_name: agent_steps_empty

  • Level: error

  • Arguments:

none

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

v2/chat/agent에 요청#

  • Description: 요청

  • Class: Gitlab::Duo::Chat::StepExecutor

  • Ai_event_name: performing_request

  • Level: info

  • Arguments:

params: params

  • Part of the system: duo_chat

  • Expanded logging?: yes

  • Rails: no

  • Sidekiq: yes

v2/chat/agent에서 스트리밍 완료#

  • Description: 스트리밍 완료

  • Class: Gitlab::Duo::Chat::StepExecutor

  • Ai_event_name: streaming_finished

  • Level: info

  • Arguments:

none

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

GitLab Duo Chat Agent에서 오류 수신#

  • Description: 스트리밍 중 반환된 오류

  • Class: Gitlab::Duo::Chat::StepExecutor

  • Ai_event_name: error_returned

  • Level: error

  • Arguments:

status: response.code

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

GitLab Duo Chat Agent에서 청크 파싱 실패#

  • Description: 청크 파싱 실패

  • Class: Gitlab::Duo::Chat::AgentEventParser

  • Ai_event_name: parsing_error

  • Level: warn

  • Arguments:

event_json_size: event_json.length

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes

GitLab-Rails에서 이벤트 클래스 찾기 실패#

  • Description: 이벤트 클래스 없음

  • Class: Gitlab::Duo::Chat::AgentEventParser

  • Ai_event_name: parsing_error

  • Level: error

  • Arguments:

event_type: event['type']

  • Part of the system: duo_chat

  • Expanded logging?: no

  • Rails: no

  • Sidekiq: yes