{
  "analysis_logger": {
    "buffer_len": 0,
    "enabled": true,
    "file_path": "/data/playlist/logs/38/tracking_analysis_20260618_175243_b81cc387.jsonl",
    "flush_interval_seconds": 15.0,
    "max_buffer_records": 32,
    "record_counts": {
      "marine_detection_debug": 180,
      "marine_restricted_zone_gate": 56,
      "scenario_debug": 236,
      "scenario_event": 2,
      "tracking_summary": 1
    },
    "started": false
  },
  "buffers": {
    "frame_buffer_len": 50,
    "frame_buffer_maxlen": 50,
    "frame_queue_maxsize": 10,
    "frame_queue_size": 0
  },
  "cctv_id": "38",
  "cgroup_memory": {
    "current_mb": 8846.426,
    "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": 68.183,
    "last_started_at": "2026-06-18T17:52:43+09:00",
    "pid": 2071,
    "process": {
      "exists": false,
      "pid": 2071
    },
    "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": 477.908,
      "sample_count": 180,
      "scenario_effective_fps_enabled": false,
      "target_fps": 10.0,
      "warmup_remaining_s": 231.779
    },
    "queue_clear_age_s": 3.0,
    "queue_max_age_s": 2.0,
    "queue_maxsize": 10,
    "reader_queue_enabled": false,
    "stats": {
      "analysis_frames": 180,
      "analysis_skipped": 0,
      "frames_dequeued": 0,
      "frames_queued": 0,
      "last_analysis_at": "2026-06-18T17:53:51+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": "b81cc387",
  "last_frame_pushed_age_sec": 0.053,
  "last_frame_pushed_at": "2026-06-18T17:53:51+09:00",
  "last_frame_read_age_sec": 0.371,
  "last_frame_read_at": "2026-06-18T17:53:51+09:00",
  "mjpeg": {
    "age_sec": 0.045,
    "exists": true,
    "mtime": "2026-06-18T17:53:51.857125+09:00",
    "mtime_epoch": 1781772831.857125,
    "path": "/data/playlist/streaming/38/mjpeg.jpg",
    "size_bytes": 142469
  },
  "monitor_url": "http://192.168.50.221:1223/mjpeg/38",
  "observed_at": "2026-06-18T17:53:51+09:00",
  "process": {
    "exists": true,
    "fd_count": 107,
    "hwm_mb": 1618.246,
    "name": "celery",
    "pid": 217,
    "rss_mb": 1479.637,
    "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": 2,
    "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_시나리오테스트_샘플들/10/MVI_1482_VIS__preprocessed.mp4",
  "stage_metrics": {
    "counts": {
      "inference_timeouts": 0,
      "invalid_reads": 0,
      "processed_frames": 97,
      "pushed_frames": 97,
      "read_frames": 96,
      "select_timeouts": 0,
      "triton_result_errors": 0
    },
    "enabled": true,
    "fps": {
      "processed": 3.243,
      "pushed": 3.243,
      "read": 3.21
    },
    "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": 31.226,
        "count": 96,
        "max_ms": 52.424,
        "p95_ms": 49.755
      },
      "gstreamer_push": {
        "avg_ms": 2.056,
        "count": 97,
        "max_ms": 3.871,
        "p95_ms": 2.976
      },
      "model_completion": {
        "model_count": 1,
        "models": {
          "yolo11m_640_mard_ship_17class_260423": {
            "avg_ms": 77.841,
            "count": 96,
            "max_ms": 102.405,
            "p95_ms": 94.009
          }
        },
        "truncated_count": 0
      },
      "processing_total": {
        "avg_ms": 301.313,
        "count": 97,
        "max_ms": 405.097,
        "p95_ms": 379.182
      },
      "read_interval": {
        "avg_ms": 310.206,
        "count": 96,
        "max_ms": 415.506,
        "p95_ms": 388.051
      },
      "triton_wait": {
        "avg_ms": 77.851,
        "count": 96,
        "max_ms": 102.412,
        "p95_ms": 94.015
      },
      "visualize": {
        "avg_ms": 30.103,
        "count": 96,
        "max_ms": 60.88,
        "p95_ms": 38.115
      }
    },
    "target_fps": 10.0,
    "target_frame_budget_ms": 100.0,
    "window_elapsed_s": 29.906,
    "window_s": 30.0
  },
  "started_at": "2026-06-18T17:52:43+09:00",
  "state": "stopped",
  "task_id": "df53b6f5-9044-458c-b735-eefe406e8543",
  "trigger": "start"
}