Zoekt 작업 SLI(서비스 수준 지표)
Zoekt 작업 SLI는 Zoekt 코드 검색을 위한 비동기 인덱싱 작업의 성능과 신뢰성을 추적합니다. 다음 메트릭이 Zoekt 작업 처리에 대해 방출됩니다: Apdex SLI는 30분(1800초) 임계값으로 작업 완료 성능을 측정합니다.
Zoekt 작업 SLI는 Zoekt 코드 검색을 위한 비동기 인덱싱 작업의 성능과 신뢰성을 추적합니다.
메트릭#
다음 메트릭이 Zoekt 작업 처리에 대해 방출됩니다:
요청 속도#
gitlab_sli_search_zoekt_tasks_requests_total: Zoekt 인덱싱 큐에 추가되는 작업의 속도를 추적하는 카운터. 이 메트릭은Search::Zoekt::Repository#create_bulk_tasks를 통해 작업이 생성될 때 증가합니다.
오류율#
gitlab_sli_search_zoekt_tasks_total: 총 작업 완료 시도 카운터.gitlab_sli_search_zoekt_tasks_error_total: 최종 실패 상태에 도달한 작업 카운터(재시도 소진 후). 이 메트릭은 작업이:failed상태로 전환될 때만 증가하며 중간 재시도 시에는 증가하지 않습니다.
Apdex (애플리케이션 성능 지수)#
Apdex SLI는 30분(1800초) 임계값으로 작업 완료 성능을 측정합니다. 이 임계값은 작업 실행 제한과의 일관성을 보장하기 위해 인덱싱 타임아웃과 일치합니다.
다음 메트릭은 Apdex를 추적합니다:
gitlab_sli_search_zoekt_tasks_apdex_total: 완료된 총 작업 수 카운터.gitlab_sli_search_zoekt_tasks_apdex_success_total: 30분 임계값 내에 완료된 작업 카운터.
레이블#
모든 메트릭에는 자세한 분석을 위한 다음 레이블이 포함됩니다:
zoekt_node: 작업을 처리하는 Zoekt 노드 식별자(zoekt_node_id기준)task_type: 다음과 같은 작업 유형:index_repo: 전체 저장소 인덱싱delete_repo: 인덱스에서 저장소 삭제- 기타 작업별 작업
Prometheus 쿼리 예시#
전체 작업 성공률#
rate(gitlab_sli_search_zoekt_tasks_apdex_success_total[5m])
/
rate(gitlab_sli_search_zoekt_tasks_apdex_total[5m])
노드별 오류율#
sum by (zoekt_node) (
rate(gitlab_sli_search_zoekt_tasks_error_total[5m])
)
/
sum by (zoekt_node) (
rate(gitlab_sli_search_zoekt_tasks_total[5m])
)
유형별 작업 처리량#
sum by (task_type) (
rate(gitlab_sli_search_zoekt_tasks_requests_total[5m])
)
느린 작업(Apdex 임계값 초과)#
rate(gitlab_sli_search_zoekt_tasks_apdex_total[5m])
-
rate(gitlab_sli_search_zoekt_tasks_apdex_success_total[5m])
노드별, 유형별 오류율#
sum by (zoekt_node, task_type) (
rate(gitlab_sli_search_zoekt_tasks_error_total[5m])
)
구현 세부 사항#
SLI는 Gitlab::Metrics::ZoektTasksSlis에 정의되어 있으며 작업 수명 주기의 주요 지점에서 계측됩니다:
- 요청 속도:
Search::Zoekt::Repository#create_bulk_tasks에서 작업이 생성될 때 증가 - 오류율:
Search::Zoekt::CallbackService#process_failure에서 작업이 최종 실패에 도달할 때 증가 - Apdex:
Search::Zoekt::CallbackService#process_zoekt_success에서 작업이 성공적으로 완료될 때 기록
애플리케이션 SLI에 대한 자세한 내용은 애플리케이션 SLI 프레임워크 문서를 참조하세요.
