백엔드
개발 데이터 수집 플랫폼 구축하기
두줄요약
사내 개발 편의성 도구의 사용 데이터를 수집하기 위해 Google Analytics와 BigQuery를 활용한 파이프라인을 구축했습니다. DevExEvent와 Publisher 구조로 이벤트 발행을 표준화하고, 운영상 한계도 함께 정리했습니다.
문제 상황
- 사내 개발 편의성 도구의 사용 현황과 실패 지점을 수동 피드백으로만 파악하던 한계
- 스쿼드 서버 엔지니어들의 개발 과정 데이터를 모으고 분석할 수 있는 수집 체계 필요
해결 방법
- 빅쿼리를 저장소로 두고 Google Analytics 측정 프로토콜의 HTTP POST로 이벤트 전송
- devex 모듈과 DevExEvent, DevExEventPublisher로 도구별 이벤트 발행 구조 통일
- GAEventFactory로 DevExEvent를 GAEvent로 변환해 공통 형식으로 적재
성능/운영 포인트
- 별도 서버 운용 없이 빠른 설정으로 수집 파이프라인 구성
- 실시간 이벤트 확인과 1분 내 빅쿼리 적재 가능
- 인터넷 연결 의존성과 beta API, 100자 문자열 제한 같은 제약 존재
주의할 점
- BigQuery event_params 조회 시 UNNEST 필요로 쿼리 작성이 번거로움
- 런타임 에러 등 긴 문자열 수집에는 100자 제한이 부적합
- 오프라인 환경에서는 이벤트 발행 실패 가능
