{
  "analysis_logger": {
    "buffer_len": 0,
    "enabled": true,
    "file_path": "/data/playlist/logs/37/tracking_analysis_20260702_155307_bfbe8b57.jsonl",
    "flush_interval_seconds": 15.0,
    "max_buffer_records": 32,
    "record_counts": {
      "marine_detection_debug": 101,
      "marine_restricted_zone_gate": 40,
      "scenario_debug": 141,
      "scenario_event": 3,
      "tracking_summary": 0
    },
    "started": false
  },
  "buffers": {
    "frame_buffer_len": 50,
    "frame_buffer_maxlen": 50,
    "frame_queue_maxsize": 10,
    "frame_queue_size": 0
  },
  "cctv_id": "37",
  "cgroup_memory": {
    "current_mb": 5317.648,
    "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": 62.503,
    "last_started_at": "2026-07-02T15:53:07+09:00",
    "pid": 1633,
    "process": {
      "exists": false,
      "pid": 1633
    },
    "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
  },
  "frame_flow": {
    "analysis": {
      "adaptive_enabled": false,
      "analysis_cap_enabled": false,
      "effective_analysis_fps": 10.0,
      "enabled": false,
      "last_decision": "initial",
      "processing_p95_ms": 761.723,
      "sample_count": 101,
      "scenario_effective_fps_enabled": false,
      "target_fps": 10.0,
      "warmup_remaining_s": 237.439
    },
    "queue_clear_age_s": 3.0,
    "queue_max_age_s": 2.0,
    "queue_maxsize": 10,
    "reader_queue_enabled": false,
    "stats": {
      "analysis_frames": 101,
      "analysis_skipped": 0,
      "frames_dequeued": 0,
      "frames_queued": 0,
      "last_analysis_at": "2026-07-02T15:54:09+09:00",
      "last_queue_age_ms": null,
      "last_skip_at": "",
      "max_queue_age_ms": 0.0,
      "queue_cleared": 0,
      "queue_dropped": 0
    }
  },
  "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": "bfbe8b57",
  "last_frame_pushed_age_sec": 0.045,
  "last_frame_pushed_at": "2026-07-02T15:54:09+09:00",
  "last_frame_read_age_sec": 0.409,
  "last_frame_read_at": "2026-07-02T15:54:09+09:00",
  "mjpeg": {
    "age_sec": 0.037,
    "exists": true,
    "mtime": "2026-07-02T15:54:09.638893+09:00",
    "mtime_epoch": 1782975249.6388934,
    "path": "/data/playlist/streaming/37/mjpeg.jpg",
    "size_bytes": 91098
  },
  "monitor_url": "http://192.168.50.221:1223/mjpeg/37",
  "observed_at": "2026-07-02T15:54:09+09:00",
  "process": {
    "exists": true,
    "fd_count": 105,
    "hwm_mb": 1433.008,
    "name": "celery",
    "pid": 216,
    "rss_mb": 1424.363,
    "state": "R (running)",
    "threads": 44
  },
  "reason_codes": [
    "ffmpeg_not_running"
  ],
  "recommended_action": "channel_restart_recommended",
  "recorder": {
    "active_count": 0,
    "cooldown_sec": 100,
    "last_event_key_count": 0,
    "oldest_recorder_age_sec": null,
    "recorders": [],
    "running_ffmpeg_count": 0,
    "running_pids": [],
    "stopping_count": 0
  },
  "recovery_eligible": true,
  "source_url": "file:///data/playlist/uploads/260526_배테스트용_영상_live_시나리오테스트_샘플들/06/MVI_1469_VIS__preprocessed.mp4",
  "stage_metrics": {
    "counts": {
      "inference_timeouts": 0,
      "invalid_reads": 0,
      "processed_frames": 60,
      "pushed_frames": 60,
      "read_frames": 59,
      "select_timeouts": 0,
      "triton_result_errors": 0
    },
    "enabled": true,
    "fps": {
      "processed": 2.036,
      "pushed": 2.036,
      "read": 2.003
    },
    "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": 51.521,
        "count": 60,
        "max_ms": 75.405,
        "p95_ms": 69.839
      },
      "gstreamer_push": {
        "avg_ms": 3.012,
        "count": 60,
        "max_ms": 5.995,
        "p95_ms": 5.135
      },
      "model_completion": {
        "model_count": 1,
        "models": {
          "yolo11m_640_mard_ship_17class_260423": {
            "avg_ms": 88.53,
            "count": 60,
            "max_ms": 109.653,
            "p95_ms": 107.621
          }
        },
        "truncated_count": 0
      },
      "processing_total": {
        "avg_ms": 489.498,
        "count": 60,
        "max_ms": 937.438,
        "p95_ms": 644.381
      },
      "read_interval": {
        "avg_ms": 503.558,
        "count": 59,
        "max_ms": 946.439,
        "p95_ms": 665.013
      },
      "triton_wait": {
        "avg_ms": 88.541,
        "count": 60,
        "max_ms": 109.661,
        "p95_ms": 107.633
      },
      "visualize": {
        "avg_ms": 40.215,
        "count": 60,
        "max_ms": 55.282,
        "p95_ms": 51.069
      }
    },
    "target_fps": 10.0,
    "target_frame_budget_ms": 100.0,
    "window_elapsed_s": 29.463,
    "window_s": 30.0
  },
  "started_at": "2026-07-02T15:53:07+09:00",
  "state": "stopped",
  "task_id": "90f8a68f-7253-46e3-9620-596bc60c39d5",
  "trigger": "update"
}