Kafka 파이프라인에서 직접 측정 도구 붙인 경험 서술
실시간 스트리밍 파이프라인 프로젝트에서 피쳐 지연시간이 눈에 보이지 않아 디버깅이 어려웠던 경험이 출발점이다. Kafka를 통해 이벤트가 들어오고 피쳐 스토어에 적재되기까지 어느 구간에서 지연이 쌓이는지 알 수 없었다. 처음에는 로그 타임스탬프를 수동으로 비교했는데, 수십 밀리초가 집계 주기의 어느 위치에 있느냐에 따라 의미가 달라졌다. 그래서 이벤트 수신 시각과 피쳐 적재 완료 시각에 각각 타임스탬프를 찍어 Prometheus 커스텀 메트릭으로 올렸고, Grafana 대시보드에서 p50·p95 레이턴시를 실시간으로 확인할 수 있도록 구성했다. 임계값을 초과하면 알림이 오도록 설정해 장애 예방선으로 활용했다. 이후 특정 시간대에 p95가 튀는 패턴이 보였는데, 배치 집계 작업이 겹치는 시간대였다. 스케줄을 분산시켜 p95를 120ms에서 45ms 수준으로 낮출 수 있었다. 지연시간 측정은 측정 지점 설계가 절반이라는 걸 그때 배웠다.