{
  "analysis_logger": {
    "buffer_len": 0,
    "enabled": true,
    "file_path": "/data/playlist/logs/09/tracking_analysis_20260520_163739_b388b9c0.jsonl",
    "flush_interval_seconds": 15.0,
    "max_buffer_records": 32,
    "record_counts": {
      "scenario_event": 1,
      "tracking_summary": 1
    },
    "started": false
  },
  "buffers": {
    "frame_buffer_len": 50,
    "frame_buffer_maxlen": 50,
    "frame_queue_maxsize": 30,
    "frame_queue_size": 0
  },
  "cctv_id": "09",
  "cgroup_memory": {
    "current_mb": 6422.984,
    "limit_mb": null
  },
  "ffmpeg": {
    "error_count": 0,
    "h264_decode_error_count": 0,
    "h264_decode_error_count_per_hour": 0,
    "input_options": [],
    "last_error_at": "",
    "last_error_summary": "",
    "last_exit_at": "",
    "last_returncode": null,
    "last_stable_duration_sec": 48.303,
    "last_started_at": "2026-05-20T16:37:39+09:00",
    "pid": 46814,
    "process": {
      "exists": false,
      "pid": 46814
    },
    "restart_count": 0,
    "restart_count_per_hour": 0,
    "rtsp_timeout_count": 0,
    "rtsp_timeout_count_per_hour": 0,
    "rtsp_tolerant_mode": false,
    "running": false,
    "start_count": 1
  },
  "health": {
    "criticals": [
      "ffmpeg_not_running"
    ],
    "level": "critical",
    "thresholds": {
      "ffmpeg_restart_count_per_hour": {
        "critical": 6,
        "warning": 3
      },
      "h264_decode_error_count_per_hour": {
        "critical": 50,
        "warning": 10
      },
      "last_frame_pushed_age_sec": {
        "critical": 30,
        "warning": 10
      },
      "last_frame_read_age_sec": {
        "critical": 30,
        "warning": 10
      },
      "last_stable_duration_sec": {
        "critical_below": 180,
        "warning_below": 600
      },
      "mjpeg_age_sec": {
        "critical": 30,
        "warning": 10
      },
      "rtsp_timeout_count_per_hour": {
        "critical": 30,
        "warning": 10
      }
    },
    "warnings": []
  },
  "instance_id": "b388b9c0",
  "last_frame_pushed_age_sec": 0.042,
  "last_frame_pushed_at": "2026-05-20T16:38:27+09:00",
  "last_frame_read_age_sec": 0.15,
  "last_frame_read_at": "2026-05-20T16:38:27+09:00",
  "mjpeg": {
    "age_sec": 0.032,
    "exists": true,
    "mtime": "2026-05-20T16:38:27.883382+09:00",
    "mtime_epoch": 1779262707.8833818,
    "path": "/data/playlist/streaming/09/mjpeg.jpg",
    "size_bytes": 214815
  },
  "monitor_url": "http://192.168.50.221:1223/mjpeg/09",
  "observed_at": "2026-05-20T16:38:27+09:00",
  "process": {
    "exists": true,
    "fd_count": 115,
    "hwm_mb": 1086.191,
    "name": "celery",
    "pid": 221,
    "rss_mb": 993.598,
    "state": "R (running)",
    "threads": 47
  },
  "reason_codes": [
    "ffmpeg_not_running"
  ],
  "recommended_action": "channel_restart_recommended",
  "recorder": {
    "active_count": 0,
    "cooldown_sec": 100,
    "last_event_key_count": 1,
    "recorders": [],
    "running_ffmpeg_count": 0,
    "stopping_count": 0
  },
  "recovery_eligible": true,
  "source_url": "file:///data/playlist/uploads/260414_아이티원업로드용_시험성적서샘플영상/input/작업자_위험구역_진입경고_테스트영상들/위험구역_접근경고_테스트영상_003.mp4",
  "stage_metrics": {
    "counts": {
      "inference_timeouts": 0,
      "invalid_reads": 0,
      "processed_frames": 126,
      "pushed_frames": 126,
      "read_frames": 125,
      "select_timeouts": 0,
      "triton_result_errors": 0
    },
    "enabled": true,
    "fps": {
      "processed": 4.23,
      "pushed": 4.23,
      "read": 4.196
    },
    "hints": [
      "read_fps_below_target",
      "processed_fps_below_target",
      "push_fps_below_target",
      "frame_processing_p95_over_budget",
      "frame_processing_p95_backlog_risk",
      "triton_wait_p95_dominant"
    ],
    "latency_ms": {
      "analyze": {
        "avg_ms": 7.977,
        "count": 126,
        "max_ms": 35.8,
        "p95_ms": 18.755
      },
      "gstreamer_push": {
        "avg_ms": 5.353,
        "count": 126,
        "max_ms": 22.579,
        "p95_ms": 11.45
      },
      "processing_total": {
        "avg_ms": 219.026,
        "count": 126,
        "max_ms": 954.016,
        "p95_ms": 310.891
      },
      "read_interval": {
        "avg_ms": 239.321,
        "count": 125,
        "max_ms": 993.118,
        "p95_ms": 336.524
      },
      "triton_wait": {
        "avg_ms": 150.715,
        "count": 126,
        "max_ms": 263.755,
        "p95_ms": 238.154
      },
      "visualize": {
        "avg_ms": 47.117,
        "count": 126,
        "max_ms": 108.303,
        "p95_ms": 80.587
      }
    },
    "target_fps": 10.0,
    "target_frame_budget_ms": 100.0,
    "window_elapsed_s": 29.79,
    "window_s": 30.0
  },
  "started_at": "2026-05-20T16:37:39+09:00",
  "state": "stopped",
  "task_id": "b4c53265-d7bd-48bc-9c09-526c3c6342a9",
  "trigger": "start"
}