InfoGrab DocsInfoGrab Docs

AI 사용량 추적

AI 사용량 추적에 대해 설명합니다.

GitLab은 고객에게 사용량 분석을 제공하기 위해 AI 사용량 데이터를 저장합니다. AI 사용량 추적은 개발자가 새로운 사용량 이벤트와 메트릭을 쉽게 추가할 수 있도록 일반화되었습니다. 사용량 이벤트 레코드 구조 # 사용량 레코드에는 다음과 같이 설명된 필수 및 선택적 필드가 있습니다: 필드 설명 timestamp 이벤트가 발생한 시간(밀리초 단위). user_id 이벤트를 트리거한 사용자. event AiTracking 클래스에 선언된 이벤트 유형 ID. namespace_id (선택 사항) 관련 네임스페이스에 대한 참조. 프로젝트 이벤트의 경우 프로젝트 네임스페이스 ID에 해당해야 합니다. extras (선택 사항) 특정 이벤트 유형과 관련된 추가 메타데이터. 이벤트는 Postgres의 ai_usage_events 테이블과 ClickHouse의 ai_usage_events 테이블(사용 가능하고 분석을 위해 활성화된 경우)에 저장됩니다. 추적을 위한 새 이벤트 추가 # Note 예시를 따르는 것을 선호하는 경우 AI 추적 시스템에 새 이벤트를 추가하는 데 필요한 모든 단계가 포함된 MR 197139 를 참조하세요. 새 이벤트를 추가하려면 먼저 InternalEvents 서브시스템에 해당 이벤트를 선언해야 합니다. 내부 이벤트 빠른 시작 가이드 를 참조하세요. 이벤트를 정의한 후 AI 추적을 위해 등록해야 합니다: Gitlab::Tracking::AiTracking 에 이벤트 이름과 고유 ID를 추가합니다: events( troubleshoot_job: 7 ) [!note] 이벤트 유형 ID는 고유해야 하며 데이터베이스에 저장됩니다. 기존 이벤트의 ID를 변경하는 경우 기존 데이터의 적절한 마이그레이션을 확인하세요. 이벤트에 저장해야 할 추가 메타데이터가 있는 경우 변환과 함께 이벤트를 선언해야 합니다. events( troubleshoot_job: 7 ) do | context | { job_id: context[ 'job' ].id } end transformation 메서드로 추가 변환 블록을 선언할 수 있습니다. [!note] 변환 블록은 데이터베이스의 jsonb 컬럼에 직렬화되므로 직렬화 가능한 해시를 반환해야 합니다. 이벤트를 트리거하기 위해 코드베이스의 적절한 위치에서 새 이벤트로 InternalEvents.track_event 를 호출합니다. AI 사용량 추적에서 이벤트 제거 # Note 예시를 통해 안내받고 싶은 경우 AI 추적 시스템에서 이벤트를 제거하는 데 필요한 모든 단계가 포함된 MR 199111 을 확인하세요. AI 사용량 추적 시스템에서 이벤트를 제거하려면: AiTracking 정의에서 모든 변환 블록을 제거합니다. 이벤트 정의를 deprecated_events(troubleshoot_job: 7) 로 변경하여 이전 데이터를 위한 ID와 이름을 예약합니다. bundle exec rake gitlab:graphql:compile_docs 로 GraphQL 문서를 재생성합니다. 해당 ID의 데이터가 데이터베이스나