관리자 헬스 리포트
한국어 번역본
이 문서는 원문(영어)의 한국어 번역이다. 정본은 원문이며, 계약·게이트 판단이 갈리면 원문을 따른다. 원문: docs/data/admin-health-report.md
public.get_admin_operations_checklist()는 Barbelic의 관리자용 운영 체크리스트다. 이 함수는 DB 측 헬스 리포트를 Edge Function 배포 프로브 및 Supabase 마이그레이션 이력 확인과 함께 감싼다.
public.get_admin_health_report()는 하위 계층의 DB/임포트/통계 헬스 리포트로 여전히 존재한다. 관리자 UI는 get_admin_operations_checklist()를 호출해야 한다.
RPC
select public.get_admin_operations_checklist();하위 계층 DB/임포트/통계 리포트:
select public.get_admin_health_report();선택적 임계값:
select public.get_admin_operations_checklist(
p_stale_after := '15 minutes'::interval,
p_stats_stale_after := '1 day'::interval,
p_rpc_response_warning_bytes := 3000000
);RPC 응답 크기 이상치(outlier)는 호출자가 제공한 샘플로부터 측정된다. 관리자 UI는 최근 프론트엔드 작업 로그를 p_rpc_response_samples로 전달한다. 또한 설정된 각 함수의 헬스 GET 엔드포인트를 프로브해 Edge Function 배포 샘플을 덧붙인다.
select public.get_admin_operations_checklist(
p_rpc_response_samples := '[
{
"operationName": "get_calendar_month_summary",
"durationMs": 220,
"responseBytes": 4200000,
"at": "2026-06-22T00:00:00.000Z"
},
{
"sampleKind": "edge_function_deployment",
"name": "wodup-start-import",
"expectedVersion": "20260821-barbelic-headers-v1",
"deployedVersion": "20260821-barbelic-headers-v1",
"ok": true,
"status": 200
}
]'::jsonb
);권한
이 함수는 security definer이지만, 실행은 여전히 제한된다.
service_role은 백엔드·관리자 자동화를 위해 실행할 수 있다.- 인증된 사용자는
public.is_lift_guild_admin()을 통과해야 한다. anon과public에는 실행 권한이 없다.
검사 항목
리포트는 다음을 반환한다.
status:ok,warning, 또는criticalok: critical 검사가 하나도 없을 때만truesummary: 대시보드와 알림을 위한 개수 전용 필드checks: 각 헬스 영역별 상세 상태와 샘플
헬스 영역:
orphan_session_exercisessession_exercise_part.exercise_id(옛session_exercises, 이슈 #1215)에 대응하는exercises.id가 없을 때 critical.
wodup_import_batches- 배치가 실패했거나,
result_error_count > 0이거나, 종료되지 않은 상태로p_stale_after보다 오래 멈춰 있을 때 critical. - 배치가 현재 열려 있지만 아직 낡지(stale) 않았을 때 warning.
- 배치가 실패했거나,
stats_refresh_jobs- dirty 통계 갱신 잡이 실패했거나 낡았을 때 critical.
- 잡이 pending/processing이지만 아직 신선할 때 warning.
stats_staleness- 완료 세션 데이터가
p_stats_stale_after보다 오래되었는데 구체화된 롤업/통계가 없거나, 구체화된 행이 소스 행보다 오래되었을 때 critical.
- 완료 세션 데이터가
rpc_response_outliers- 제공된 프론트엔드 작업 샘플이
p_rpc_response_warning_bytes를 초과할 때 critical.
- 제공된 프론트엔드 작업 샘플이
edge_functions- 배포된 함수가 다른 배포 버전을 보고하거나 도달할 수 없을 때 critical.
- 기대되는 함수에 대해 브라우저가 프로브 샘플을 제공하지 않았을 때 warning.
schema_migrations- Supabase 마이그레이션 이력을 사용할 수 없거나 기대되는 마이그레이션 버전이 누락되었을 때 critical.
Edge Function 배포 버전
배포된 각 함수는 다음을 노출한다.
GET /functions/v1/{function_name}x-lift-guild-function-namex-barbelic-deployment-versionfunction_name과deployment_version을 담은 JSON 본문
기대 버전은 src/react/services/deploymentManifest.js에 있다. 함수를 변경할 때는 매니페스트 버전을 올리고 목록에 있는 모든 함수를 재배포한다. 배포 파이프라인 검사가 매니페스트, supabase/config.toml, 함수 폴더의 정합을 유지한다.
참고
이 리포트는 원본 Wodup 페이로드를 의도적으로 노출하지 않는다. 샘플 행에는 ID, 날짜, 상태, 개수, 짧은 운영 필드만 포함된다.