# 모니터링

> 추론 대시보드 읽기 — 지연 시간 분석, 처리량, 오류율, 그리고 윈도우/버킷 시간 컨트롤.

**추론 통계(Inference Stats)** 대시보드는 런타임이 실시간으로 어떻게 동작하는지 보여줍니다.
지연 시간, 처리량, 오류율, 그리고 파이프라인에서 시간이 어디에 소비되는지를 보여줍니다. 데이터소스가
스트리밍되는 동안 지속적으로 업데이트됩니다.

<AppFrame name="InferenceStats" alt="지연 시간 백분위, 처리량, 오류율, 실행 공급자를 보여주는 추론 통계 대시보드" caption="추론 통계 — 지연 시간 백분위, 처리량, 오류율, 실행 공급자." />

## 주요 지표

- **지연 시간 백분위수** — 종단 간 추론 시간의 p50 / p95 / p99.
- **처리량** — 초당 예측값.
- **오류율** — 실패한 추론의 비율.
- **실행 공급자** — 추론이 TensorRT, CUDA, 또는 CPU 중 어디에서 실행되는지.
  GPU 박스가 CPU로 폴백하면 여기에 표시됩니다.

## 지연 시간 분석

각 추론은 시간이 어디로 가는지 볼 수 있도록 분해됩니다.

- **큐 대기** — 요청 큐에서 대기한 시간
- **전처리** — 입력 정규화
- **모델 실행** — 순수 추론 시간
- **후처리** — 출력 디코딩

지연 시간이 증가하면, 이 분석을 통해 모델 자체가 느려졌는지 아니면
박스가 업스트림에서 포화 상태인지 알 수 있습니다.

<AppFrame name="RealtimeMonitor" alt="시간에 따라 실시간 추론 값과 예측을 스트리밍하는 실시간 모니터 화면" caption="실시간 모니터 — 데이터소스가 모델에 데이터를 공급하는 동안 실시간 추론 값." />

## 윈도우 및 버킷 컨트롤

두 가지 컨트롤이 시간 보기를 형성합니다.

- **윈도우** — 얼마나 과거까지 보는지 (예: `5m`, `1h`, `24h`).
- **버킷** — 차트의 각 포인트 폭이 얼마나 넓은지 (예: `10s`, `1m`).

포인트 수는 `window ÷ bucket`입니다. 차트를 읽기 쉽게 유지하기 위해 윈도우를 변경하면
대시보드가 버킷을 자동으로 스냅합니다 — 더 넓은 윈도우는 더 넓은 버킷을 사용합니다.

**차트가 안정적으로 유지되는 방법**

최신 포인트는 버킷 경계에 정렬되므로, 현재 버킷이 인위적으로 낮은 카운트를 보이지
않습니다. 빈 버킷은 0으로 채워지므로, 트래픽이 드물 때에도 선이 끊기지 않고
연속적으로 유지됩니다.

**데이터 보존**

라이브 메트릭은 **3일** 동안 보존됩니다. 그보다 긴 윈도우는 데이터를 반환하지 않습니다.
새로 설치한 경우 차트에 트래픽이 표시되기 전에 짧은 워밍업이 필요합니다.

## 새 설치 읽기

차트에 "데이터 없음"이 표시되면, 가장 흔한 이유는 다음과 같습니다.

- 아직 **스트리밍** 중인 데이터소스가 없음 — 소스를 활성화하고 **시작(Start)**하세요.
- 설치가 아직 워밍업 중임 — 첫 번째 윈도우의 샘플을 기다리세요.

## 비자발적 중지 및 재시작 복구

- **추론이 중지되었는데 아무도 Stop을 누르지 않았나요?** [알림](/ko/operate/notifications/)을
  확인하세요 — 직접 요청하지 않은 중지(다른 데이터소스가 단일 활성 슬롯을 넘겨받거나,
  실행 중인 활성 데이터소스가 삭제·재태그·수정된 경우)는 조용히 실패하는 대신 그곳에
  Warning 수준 알림을 발생시킵니다.
- **백엔드 재시작 후**, 이전에 활성화된 입력은 스스로 **Ready** 필과 **Start** 컨트롤을
  되찾습니다. *(v1.28.2)* 시작 재조정기(reconciler)가 추론 엔진이 정상(healthy)을
  보고할 때까지 기다린 뒤, 활성화된 데이터소스에 대해 실제 페어링된 모델을 사용하여
  라이프사이클을 Ready로 복원합니다 — 그렇지 않으면 인메모리 라이프사이클은 프로세스가
  재시작될 때마다 Idle로 재설정되는 반면 데이터소스의 Enabled 플래그는 계속 유지됩니다.
  이 복원은 비파괴적입니다: 부팅 시점의 일시적인 연결 실패는 Enabled를 그대로 두고
  라이프사이클을 Idle로 남겨 두므로 Enable을 다시 토글하기만 하면 재시도할 수 있습니다 —
  올바르게 구성된 데이터소스를 조용히 비활성화하는 일은 결코 없습니다.

## 문제가 발생하면

- 빈 차트, 예기치 않은 CPU 폴백, 또는 증가하는 오류율 — 
  [문제 해결](/ko/troubleshooting/) 런북을 참조하세요.

## 다음 단계

  - [버전 확인](/ko/operate/versioning/) — 프론트엔드와 백엔드 버전이 일치하는지 확인합니다.
  - [데이터소스 연결](/ko/configure/input-datasources/) — 대시보드를 채우기 위해 스트리밍을 시작합니다.
  - [파이프라인 미리보기](/ko/operate/preview-flow/) — 입력 → 모델 → 출력 흐름을 실시간 그래프로 확인합니다.
