doc/development/ai_features/logged_events.md
In addition to standard logging in the GitLab Rails Monolith instance, specialized logging is available for features based on large language models (LLMs).
Llm::BaseServiceLlm::BaseServiceuser_id: message.user.idresource_id: message.resource&.idresource_class: message.resource&.class&.namerequest_id: message.request_idaction_name: message.ai_actionoptions: job_optionsLlm::ChatServiceLlm::Internal::CompletionServiceuser_id: prompt_message.user.to_gidresource_id: prompt_message.resource&.to_gidaction_name: prompt_message.ai_actionrequest_id: prompt_message.request_idclient_subscription_id: prompt_message.client_subscription_idcompletion_service_name: completion_class_nameGitlab::Llm::Chain::Answerllm_answer_content: contentGitlab::Llm::Chain::Answerllm_answer_content: contentGitlab::Llm::Chain::Answererror_code: "A6000"Gitlab::Llm::Chain::Answererror: contenterror_code: error_codesource: sourceGitlab::Llm::AiGateway::Clientresponse_from_llm: response_bodyGitlab::Llm::AiGateway::Clientresponse_from_llm: parsed_response.dig('detail', 0, 'msg')Gitlab::Llm::AiGateway::Clienturl: urlbody: bodytimeout: timeoutstream: streamGitlab::Llm::AiGateway::CodeSuggestionsClientGitlab::Llm::Anthropic::Clientai_request_type: request_typeunit_primitive: unit_primitiveGitlab::Llm::Anthropic::Clientai_request_type: request_typeunit_primitive: unit_primitiveresponse_from_llm: response_bodyGitlab::Llm::Anthropic::Clientoptions: optionsai_request_type: request_typeunit_primitive: unit_primitiveGitlab::Llm::AiGateway::DocsClientoptions: optionsGitlab::Llm::AiGateway::DocsClientresponse_from_llm: responseGitlab::Llm::AiGateway::Completions::CategorizeQuestionsGitlab::Llm::AiGateway::Completions::CategorizeQuestionsGitlab::Llm::AiGateway::Completions::CategorizeQuestionserror_type: response.dig('error', 'type')Gitlab::Llm::Chain::Tools::Toolduo_chat_tool: tool_class.to_sGitlab::Llm::Chain::Requests::AiGatewayprompt: prompt[:prompt]response_from_llm: responseunit_primitive: unit_primitiveGitlab::Llm::Chain::Requests::Anthropicerror: data&.dig("error")Gitlab::Llm::Chain::Tools::EmbeddingsCompletionprompt: final_prompt[:prompt]response_from_llm: final_prompt_resultGitlab::Llm::Chain::Tools::EmbeddingsCompletionerror: error.messageGitlab::Llm::Chain::Tools::Toolerror_message: contentGitlab::Llm::Chain::Tools::Toolpicked_tool: cls.class.to_sGitlab::Llm::Chain::Tools::GitlabDocumentation::ExecutorGitlab::Llm::Chain::Tools::Identifiererror_message: authorizer.messageGitlab::Llm::Chain::Tools::Identifierresponse_from_llm: contentGitlab::Llm::Chain::Tools::IdentifierGitlab::Llm::Chain::Tools::Identifiererror_message: contentGitlab::Llm::Chain::Tools::SummarizeComments::Executorallowed: abilityGitlab::Llm::Chain::Tools::SummarizeComments::ExecutorOldallowed: abilityGitlab::Llm::Chain::Tools::SummarizeComments::ExecutorOldresponse_from_llm: contentGitlab::Llm::Chain::Concerns::AiDependentprompt: prompt_textGitlab::Llm::Chain::Concerns::ExponentialBackoffGitlab::Llm::Utils::Authorizererror_code: "M3003"Gitlab::Llm::Utils::Authorizererror_code: "M3004"Gitlab::Llm::Utils::Authorizererror_code: "M3002"Gitlab::Llm::VertexAi::Clientunit_primitive: unit_primitiveoptions: configGitlab::Llm::VertexAi::Clientunit_primitive: unit_primitiveresponse_from_llm: response.to_jsonGitlab::Llm::VertexAi::Clientunit_primitive: unit_primitiveGitlab::Llm::VertexAi::Clientunit_primitive: unit_primitiveGitlab::Llm::Chain::Agents::SingleActionExecutorGitlab::Llm::Chain::Agents::SingleActionExecutortool_name: tool_nameGitlab::Duo::Chat::StepExecutorevent: eventGitlab::Duo::Chat::StepExecutorGitlab::Duo::Chat::StepExecutorparams: paramsGitlab::Duo::Chat::StepExecutorGitlab::Duo::Chat::StepExecutorstatus: response.codeGitlab::Duo::Chat::AgentEventParserevent_json_size: event_json.lengthGitlab::Duo::Chat::AgentEventParserevent_type: event['type']