{
  "analysis_logger": {
    "buffer_len": 0,
    "enabled": true,
    "file_path": "/data/playlist/logs/07/tracking_analysis_20260520_163737_71d1edbd.jsonl",
    "flush_interval_seconds": 15.0,
    "max_buffer_records": 32,
    "record_counts": {
      "scenario_event": 9,
      "tracking_summary": 1
    },
    "started": false
  },
  "buffers": {
    "frame_buffer_len": 50,
    "frame_buffer_maxlen": 50,
    "frame_queue_maxsize": 30,
    "frame_queue_size": 0
  },
  "cctv_id": "07",
  "cgroup_memory": {
    "current_mb": 6795.027,
    "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.567,
    "last_started_at": "2026-05-20T16:37:37+09:00",
    "pid": 46615,
    "process": {
      "exists": false,
      "pid": 46615
    },
    "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": "71d1edbd",
  "last_frame_pushed_age_sec": 0.055,
  "last_frame_pushed_at": "2026-05-20T16:38:26+09:00",
  "last_frame_read_age_sec": 0.308,
  "last_frame_read_at": "2026-05-20T16:38:26+09:00",
  "mjpeg": {
    "age_sec": 0.038,
    "exists": true,
    "mtime": "2026-05-20T16:38:26.455434+09:00",
    "mtime_epoch": 1779262706.4554338,
    "path": "/data/playlist/streaming/07/mjpeg.jpg",
    "size_bytes": 276851
  },
  "monitor_url": "http://192.168.50.221:1223/mjpeg/07",
  "observed_at": "2026-05-20T16:38:26+09:00",
  "process": {
    "exists": true,
    "fd_count": 130,
    "hwm_mb": 1395.465,
    "name": "celery",
    "pid": 217,
    "rss_mb": 1236.68,
    "state": "R (running)",
    "threads": 51
  },
  "reason_codes": [
    "ffmpeg_not_running"
  ],
  "recommended_action": "channel_restart_recommended",
  "recorder": {
    "active_count": 1,
    "cooldown_sec": 100,
    "last_event_key_count": 4,
    "recorders": [
      {
        "frame_count": 84,
        "is_recording": true,
        "is_stopping": false,
        "pid": 47469,
        "returncode": null,
        "running": true,
        "total_frames_to_record": 100,
        "videoname": "/data/playlist/accident/07/20260520_163814_danger_area_loitering__zone:22__track1000025"
      }
    ],
    "running_ffmpeg_count": 1,
    "stopping_count": 0
  },
  "recovery_eligible": true,
  "source_url": "file:///data/playlist/uploads/260327_720p_10fps_변환/1분짜리_10fps_편집본/2025-09-09 14_49_58 이동형 #1__fix_20260327_153758_segment_300-360s.mp4",
  "stage_metrics": {
    "counts": {
      "inference_timeouts": 0,
      "invalid_reads": 0,
      "processed_frames": 83,
      "pushed_frames": 83,
      "read_frames": 82,
      "select_timeouts": 0,
      "triton_result_errors": 0
    },
    "enabled": true,
    "fps": {
      "processed": 2.865,
      "pushed": 2.865,
      "read": 2.831
    },
    "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": 19.923,
        "count": 83,
        "max_ms": 60.767,
        "p95_ms": 38.767
      },
      "gstreamer_push": {
        "avg_ms": 6.319,
        "count": 83,
        "max_ms": 19.425,
        "p95_ms": 12.095
      },
      "processing_total": {
        "avg_ms": 341.063,
        "count": 83,
        "max_ms": 1292.481,
        "p95_ms": 469.611
      },
      "read_interval": {
        "avg_ms": 363.902,
        "count": 82,
        "max_ms": 1313.073,
        "p95_ms": 481.167
      },
      "triton_wait": {
        "avg_ms": 162.253,
        "count": 83,
        "max_ms": 274.587,
        "p95_ms": 252.73
      },
      "visualize": {
        "avg_ms": 124.298,
        "count": 83,
        "max_ms": 244.714,
        "p95_ms": 193.858
      }
    },
    "target_fps": 10.0,
    "target_frame_budget_ms": 100.0,
    "window_elapsed_s": 28.968,
    "window_s": 30.0
  },
  "started_at": "2026-05-20T16:37:37+09:00",
  "state": "stopped",
  "task_id": "b9468b49-fec9-4b7e-9b74-90fbecfacabc",
  "trigger": "start"
}