Service Ping 개발 가이드라인
GitLab의 Service Ping 프로세스와 페이로드 구조, 메트릭 수집 방법 및 내보내기 기능에 대해 설명합니다.
Service Ping은 GitLab이 주간 페이로드를 수집하여 GitLab에 전송하는 프로세스입니다. 이 페이로드는 제품, 지원, 영업 팀이 GitLab의 사용 방식을 이해하는 데 도움이 되는 중요한 고수준 데이터를 제공합니다. 이 데이터는 다음과 같은 용도로 사용됩니다: 월별(또는 주별) 수치를 비교하여 인스턴스가 다양한 제품 기능을 어떻게 사용하는지 대략적으로 파악합니다. GitLab 설치를 분류하고 이해하는 데 도움이 되는 기타 사실을 수집합니다. Stage 월간 활성 사용자(SMAU)를 계산하여 Stage 및 기능의 성공 여부를 측정합니다. Service Ping 정보는 익명이 아닙니다. 인스턴스의 호스트명에 연결되지만, 프로젝트명, 사용자명 또는 기타 특정 데이터는 포함하지 않습니다. Service Ping은 기본적으로 활성화되어 있습니다. 하지만 GitLab Self-Managed 인스턴스에서 특정 메트릭을 비활성화 할 수 있습니다. Service Ping이 활성화되면 GitLab은 다른 인스턴스에서 데이터를 수집하고 사용자에게 인스턴스의 사용 통계를 표시할 수 있습니다. Service Ping 용어 # Service Ping 구성 요소를 설명하기 위해 다음 용어를 사용합니다: Service Ping : JSON 페이로드를 수집하고 생성하는 프로세스입니다. Service Data : Service Ping JSON 페이로드의 내용입니다. 여기에는 메트릭이 포함됩니다. Metrics : 주로 인스턴스 데이터베이스의 여러 테이블에 대한 행 수로 구성됩니다. 각 메트릭에는 YAML 파일에 해당하는 메트릭 정의 가 있습니다. MAU : 월간 활성 사용자(Monthly Active Users). WAU : 주간 활성 사용자(Weekly Active Users). 알려진 문제 # Service Ping은 개별 이벤트가 아닌 메트릭 만 전달합니다. 메트릭은 GitLab 버전의 코드베이스에 존재하고 계측되어 있어야 해당 버전의 Service Ping에서 전달됩니다. Service Ping 요청 흐름 # 다음 예시는 GitLab 인스턴스, Versions Application, License Application, Salesforce, GitLab GCP Bucket, GitLab Snowflake Data Warehouse, Tableau 간의 기본 요청/응답 흐름을 보여줍니다: sequenceDiagram participant GitLab Instance participant Versions Application participant Licenses Application participant Salesforce participant GCP Bucket participant Snowflake DW participant Tableau Dashboards GitLab Instance->>Versions Application: Send Service Ping loop Process usage data Versions Application->>V