STK-OBS-11 PoC 비교 측정 + ADR-001 확정

작업 내용

동일 텔레메트리가 양 스택에 들어오는 상태에서, 같은 부하를 발생시켜 평가 축을 측정하고 운영 스택을 ADR-001로 확정한다. 본 과제의 종합 게이트라 모든 선행 티켓(05~10) 머지 후 단독 wave로 진행한다.

측정 절차:

  • 표준 부하 시나리오(추천·시그널·목표가 조회 + 샘플 Kafka 경로)를 N회 반복 실행.
  • 평가 축별 측정: 단일 UI 경험(trace→log→metric 연결 클릭 수), trace 연결 품질(누락 span 비율), Spring/Python 계측 호환성, 인프라 exporter 커버리지, 로컬 메모리(docker stats), 대시보드·생태계 성숙도, dev Grafana Loki 연속성.
  • 결과를 비교표로 정리해 ADR-001 ## 결정·## 결정 이유를 채우고 상태를 승인으로 전환.
  • 탈락 스택의 compose 파일 제거 계획을 Release Scenario에 반영.

롤백: ADR 결정은 문서 변경이라 롤백 대상 아님. 측정 중 임시 부하 스크립트는 제거.

다이어그램

처리 흐름

sequenceDiagram
    participant Load as 부하 시나리오
    participant SN as SigNoz
    participant GR as Grafana
    participant ADR as ADR-001
    Load->>SN: 동일 텔레메트리
    Load->>GR: 동일 텔레메트리
    SN->>ADR: 평가 축 측정값
    GR->>ADR: 평가 축 측정값
    ADR->>ADR: 비교표 → 결정 확정

산출물 의존

flowchart LR
    MEASURE["평가 축 측정"]
    TABLE["비교표"]
    DECIDE["ADR-001 결정"]
    CLEAN["탈락 스택 정리"]
    MEASURE --> TABLE
    TABLE --> DECIDE
    DECIDE --> CLEAN

테스트 케이스

  • 동일 부하에서 양 스택의 trace/메트릭 건수가 일치(±오차)함을 확인한다(공정 비교 전제).
  • 7개 평가 축 각각에 SigNoz·Grafana 측정값이 채워진다(빈 칸 없음).
  • 단일 trace가 양 스택 모두에서 frontend→ml까지 끊김 없이 보인다.
  • 로컬 메모리 측정이 docker stats 근거로 기록된다.
  • ADR-001 상태가 제안→승인으로 전환되고 결정 이유가 측정값에 근거한다.
  • 탈락 스택 compose 제거 후에도 채택 스택이 단독으로 정상 동작한다.