Skip to content

Gemini 티어 서빙 여부를 성공 로그로 관측 가능하게 - #36

Merged
m-a-king merged 1 commit into
mainfrom
feat/gemini-tier-log
Aug 15, 2026
Merged

Gemini 티어 서빙 여부를 성공 로그로 관측 가능하게#36
m-a-king merged 1 commit into
mainfrom
feat/gemini-tier-log

Conversation

@m-a-king

Copy link
Copy Markdown
Collaborator

Situation

  • 직전 PR(Gemini 무료 티어 우선 호출과 유료 폴백 #34)로 Gemini 무료 티어 우선 호출이 들어갔고, 배포까지 끝난 상태다.
  • 배포 후 "그래서 무료가 실제로 서빙 중인가"를 확인하려다 막혔다. 로그를 에스컬레이션(실패)에만 남기도록 만들어서, 아래 두 상태가 로그상 완전히 구분되지 않는다.
실제 상황 남는 로그
무료가 성공해서 유료를 안 불렀다 없음
무료가 아예 안 쓰이고 유료가 성공했다 없음

Task

  • 무료 티어가 실제로 응답하고 있는지를 배포된 환경에서 확인할 수 있게 한다.
  • 앞선 PR 에서 정한 제약(새 메트릭 시계열을 늘리지 않는다)은 그대로 지킨다.

Action

  • 성공 경로에도 어느 티어가 응답했는지 남긴다. 티어 순회가 값을 반환하기 직전에 tier 를 담은 info 로그 한 줄을 찍는다.
  • 메트릭이 아니라 로그를 골랐다. Grafana Cloud metrics 무료 한도가 이미 도달 상태라 새 시계열을 늘리지 않기로 한 Gemini 무료 티어 우선 호출과 유료 폴백 #34 의 결정을 유지한다. 호출량이 월 1,000건 미만이라 로그는 하루 30줄 수준이라 볼륨 부담이 없다.
  • 프로브 경로에는 넣지 않았다. 모델 프로브는 항상 유료 고정이라 티어 비율 집계에 노이즈만 더한다.
  • 로그 문구 자체에 대한 단위 테스트는 두지 않았다. 티어가 갈리는 분기는 Gemini 무료 티어 우선 호출과 유료 폴백 #34 의 8개 시나리오가 이미 고정하고 있고, 여기서 더한 것은 그 분기 위에 얹은 출력 한 줄이라 별도 테스트의 가치가 낮다고 판단했다.

Result

  • 배포 후 tier=freetier=paid 의 비율이 곧 무료 성공률이 된다. 여기에 기존 에스컬레이션 warn 로그의 status 분포를 겹치면, Gemini 무료 티어 우선 호출과 유료 폴백 #34 에서 남겨 둔 두 숙제(무료 성공률, 무료 read 10s 의 적정성)를 모두 판정할 수 있다.
  • 무료 키가 설정되지 않은 환경에서는 항상 tier=paid 만 찍히므로, 키 주입이 누락된 상태도 같은 로그로 드러난다.

연관 이슈

- 앞선 무료 티어 폴백(#34)은 에스컬레이션(실패)에만 로그를 남겼다. 그 결과 "무료가 성공해서 유료를 안 불렀다" 와 "무료가 아예 안 쓰이고 유료가 성공했다" 가 로그상 완전히 같아, 기능이 실제로 도는지 우리 쪽에서 확인할 방법이 없었다
- 배포 후 검증을 시도하다 이 사각을 발견했다. 키가 컨테이너 env 에 실린 것은 배포 로그의 SSM env 줄 수(7 -> 8)로 확인했지만, 그 다음 질문인 "그래서 무료가 서빙 중인가" 에 답할 신호가 없었다
- 메트릭이 아니라 info 로그를 고른 이유는 두 가지다. Grafana Cloud metrics 무료 한도가 이미 도달 상태라 새 시계열을 늘리지 않기로 한 앞선 결정을 유지하고, 호출량이 월 1,000건 미만이라 로그 볼륨이 하루 30줄 수준으로 무시할 만하다
- 프로브 경로(generateContentExactly)에는 넣지 않았다. 프로브는 항상 유료 고정이라 티어 비율에 노이즈만 더한다
@m-a-king m-a-king added the feat 외부 가시적 새 기능 label Aug 15, 2026
@m-a-king m-a-king self-assigned this Aug 15, 2026
@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown

Important

Review available on request

  • 🔍 Trigger review

Reviews should be triggered manually for repositories with fewer than 10 stars. Select Trigger review above or comment @coderabbitai review to review the latest changes. For a full review, comment @coderabbitai full review.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: ddafa5c6-4033-4c33-b568-6bf867ae1c59


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@m-a-king
m-a-king merged commit 17f58ed into main Aug 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat 외부 가시적 새 기능

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant