AI 파이프라인 단계별 로그와 Prometheus 지표 추가 - #139
Merged
Merged
Conversation
PLAN, Slot 조회, ANALYZE, 결과 저장과 Renewal 구간의 소요시간을 구조화 로그와 Micrometer 지표로 기록합니다. 운영 프로필에서는 Prometheus 공개 체인이 활성화되지 않도록 제한합니다.
PLAN부터 ANALYZE까지의 단계 기록, OUT_OF_SCOPE 단축 흐름, 민감정보 없는 실패 로그와 Prometheus endpoint 공개 조건을 검증합니다.
로컬 Compose, scrape 설정, PromQL 예시와 반복 측정 기준을 문서화해 데모 정량 평가에 재사용할 수 있게 합니다.
Runtime timeout과 응답 계약 오류가 서로 다른 안전한 failure_code로 기록되는지 확인합니다.
27 tasks
로컬 Prometheus 실행법, 운영 공개 금지 원칙과 Server·Infra의 관측 소유권을 기존 가이드에 반영합니다.
hywznn
marked this pull request as ready for review
August 11, 2026 14:37
krestar
approved these changes
Aug 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
왜 필요한가요?
Refs #26
FOWOCO의
PLAN → Slot 조회 → ANALYZE → Renewal → 문서 생성흐름에서 어느 구간이 얼마나 걸리고 왜 실패했는지 Server 기준으로 확인하기 위한 변경입니다.데모 발표에서 단순 체감이 아니라 단계별 소요시간·성공 결과·실패 원인을 반복 측정할 수 있도록 하되, 발화문과 개인정보는 로그와 Metric tag에 남기지 않습니다.
무엇이 바뀌나요?
PLAN_RUNTIME_CALL,SLOT_RESOLUTION,ANALYZE_RUNTIME_CALL,RESULT_PERSIST,TOTAL계측을 추가했습니다.Timer와 실패Counter를 연결했습니다.requestId·attemptId는 구조화 로그에서만 사용하고 Metric tag에는 포함하지 않습니다.micrometer-registry-prometheus와/actuator/prometheus를 구성했습니다.observability & !prod프로필에서만 공개됩니다.주요 Metric
fowoco_ai_pipeline_stage_secondsfowoco_ai_analysis_outcomes_totalfowoco_ai_pipeline_failures_totalfowoco_renewal_stage_secondsfowoco_renewal_failures_total검증
./gradlew clean test— GitHub CI 557 tests 성공/actuator/prometheus가 보호되는지 검증docker compose -f compose.observability.yml config자체 리뷰 결과
prod프로필에서는 observability를 함께 지정해도 공개 Security Chain이 생성되지 않도록 보완했습니다.phase·stagetag를 추가했습니다.리뷰 시 확인할 부분
observability프로필 공개 정책이 로컬 측정 범위에 적절한지taskId를 제거한 개인정보·고카디널리티 기준이 적절한지