ES /docs

Api::V1::SitetracksController#captures (avg 13190ms, max 13190ms)

Summary: Api::V1::SitetracksController#captures latency (avg 13190ms)

결과#

SitetrackRepository#captures 에 belongs_to 연관 preload 를 추가하여 CaptureSerializer 의 N+1 SQL 을 제거하는 PR 을 생성했다. Validator blind review 는 attempt 1 에서 APPROVED. RCA 의 단기 개선 primary 항목만 이번 PR 에 포함하고, serializer sparse-fieldsets 리팩터는 별도 이슈로 분리했다.

Pull Requests#

Repo PR Branch
tesla https://dev.azure.com/cupix/tesla/_git/tesla/pullrequest/88790 feature/TSLA-13559

변경 내용#

  • tesla: app/repositories/sitetrack_repository.rbcaptures 메서드에서 paginate 앞에 preload(:record, :level, :user, :team, :facility, :workspace) 를 추가. Capture 모델에 belongs_to 로 실제 선언된 연관만 포함하여 AssociationNotFoundError 를 방지 (:floorplan / :camera 는 concern 경유이므로 제외).

Follow-ups#

  • 별도 이슈 필요: CaptureSerializer sparse-fieldsets 존중 리팩터 — 30여 개 concern 을 attribute 정의에 if: proc { params[:fields].include?(...) } 로 감싸 requested field 만 실제 데이터 로드하도록 최적화. 회귀 위험이 커 이번 PR 에서 분리했다.
  • 관측성: RCA 의 Monitoring 섹션 쿼리를 Datadog release dashboard 에 추가하여 p95/max latency 를 fix 배포 전후로 비교.

Cleanup#

bash
cd /home/ec2-user/repos/tesla
git worktree remove /home/ec2-user/error-sweeper/.worktrees/e49dced0-5cfe-4d49-a823-9abb88cbcd67/tesla