{
  "analysis_logger": {
    "buffer_len": 0,
    "enabled": true,
    "file_path": "/data/playlist/logs/02/tracking_analysis_20260708_124844_dcd97956.jsonl",
    "flush_interval_seconds": 15.0,
    "max_buffer_records": 32,
    "record_counts": {
      "scenario_debug": 0,
      "scenario_event": 40,
      "tracking_summary": 830
    },
    "started": true
  },
  "buffers": {
    "frame_buffer_len": 50,
    "frame_buffer_maxlen": 50,
    "frame_queue_maxsize": 10,
    "frame_queue_size": 0
  },
  "cctv_id": "02",
  "cgroup_memory": {
    "current_mb": 5544.422,
    "limit_mb": 8796093022207.996
  },
  "ffmpeg": {
    "error_count": 83,
    "h264_decode_error_count": 161,
    "h264_decode_error_count_per_hour": 31,
    "input_options": [
      "-rtsp_transport",
      "tcp",
      "-timeout",
      "10000000"
    ],
    "last_error_at": "2026-07-08T17:10:31+09:00",
    "last_error_summary": "[h264 @ 0x55772c45bb40] left block unavailable for requested intra4x4 mode -1 [h264 @ 0x55772c45bb40] error while decoding MB 0 44, bytestream 59502 [h264 @ 0x55772c591ec0] left block unavailable for requested intra mode [h264 @ 0x55772c591ec0] error while decoding MB 0 44, bytestream 1443 [h264 @ 0x55772c569c00] error while decoding MB 75 34, bytestream -6 [in#0/rtsp @ 0x55772c440e00] Error during demuxing: Connection timed out [in#0/rtsp @ 0x55772c440e00] Error retrieving a packet from demuxer",
    "last_exit_at": "2026-07-08T17:10:33+09:00",
    "last_returncode": 0,
    "last_stable_duration_sec": 36.308,
    "last_started_at": "2026-07-08T17:10:33+09:00",
    "pid": 13005,
    "process": {
      "exists": true,
      "fd_count": 5,
      "hwm_mb": 267.801,
      "name": "ffmpeg",
      "pid": 13005,
      "rss_mb": 267.801,
      "state": "S (sleeping)",
      "threads": 106
    },
    "restart_count": 92,
    "restart_count_per_hour": 24,
    "rtsp_timeout_count": 56,
    "rtsp_timeout_count_per_hour": 4,
    "rtsp_tolerant_mode": false,
    "running": true,
    "start_count": 93
  },
  "frame_flow": {
    "analysis": {
      "adaptive_enabled": false,
      "analysis_cap_enabled": false,
      "effective_analysis_fps": 10.0,
      "enabled": false,
      "last_decision": "initial",
      "processing_p95_ms": 174.879,
      "sample_count": 1738,
      "scenario_effective_fps_enabled": false,
      "target_fps": 10.0,
      "warmup_remaining_s": 0.0
    },
    "queue_clear_age_s": 3.0,
    "queue_max_age_s": 2.0,
    "queue_maxsize": 10,
    "reader_queue_enabled": false,
    "stats": {
      "analysis_frames": 99709,
      "analysis_skipped": 0,
      "frames_dequeued": 0,
      "frames_queued": 0,
      "last_analysis_at": "2026-07-08T17:11:10+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_restart_count_per_hour>=6",
      "last_stable_duration_sec<180"
    ],
    "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": [
      "h264_decode_error_count_per_hour>=10"
    ]
  },
  "instance_id": "dcd97956",
  "last_frame_pushed_age_sec": 0.0,
  "last_frame_pushed_at": "2026-07-08T17:11:10+09:00",
  "last_frame_read_age_sec": 0.142,
  "last_frame_read_at": "2026-07-08T17:11:10+09:00",
  "mjpeg": {
    "age_sec": 0.137,
    "exists": true,
    "mtime": "2026-07-08T17:11:10.156087+09:00",
    "mtime_epoch": 1783498270.1560872,
    "path": "/data/playlist/streaming/02/mjpeg.jpg",
    "size_bytes": 163797
  },
  "monitor_url": "http://192.168.50.244:1223/mjpeg/02",
  "observed_at": "2026-07-08T17:11:10+09:00",
  "process": {
    "exists": true,
    "fd_count": 119,
    "hwm_mb": 1293.887,
    "name": "celery",
    "pid": 237,
    "rss_mb": 1138.703,
    "state": "S (sleeping)",
    "threads": 123
  },
  "reason_codes": [
    "ffmpeg_churn_critical",
    "ffmpeg_unstable_after_restart_critical",
    "h264_decode_error_warning"
  ],
  "recommended_action": "channel_restart_recommended",
  "recorder": {
    "active_count": 0,
    "cooldown_sec": 100,
    "last_event_key_count": 1,
    "oldest_recorder_age_sec": null,
    "recorders": [],
    "running_ffmpeg_count": 0,
    "running_pids": [],
    "stopping_count": 0
  },
  "recovery_eligible": true,
  "scenario_state_metrics": {
    "danger_area_loitering": {
      "enabled": false
    },
    "enabled": true,
    "scene_scale": {
      "decision": "far",
      "decision_basis": "strong_samples",
      "decision_frame": 8369,
      "decision_locked": true,
      "enabled": true,
      "last_metrics": {
        "decision_basis": "strong_samples",
        "decision_locked": true,
        "sample_cap": 40,
        "sample_count": 20,
        "worker_height_ratio_median": 0.092014,
        "worker_small_worker_ratio": 0.0
      },
      "raw_area_sample_count": 0,
      "raw_height_sample_count": 0,
      "sample_count": 20
    }
  },
  "source_url": "rtsp://nk20001.iptime.org:554/live02",
  "stage_metrics": {
    "counts": {
      "inference_timeouts": 0,
      "invalid_reads": 0,
      "processed_frames": 187,
      "pushed_frames": 187,
      "read_frames": 187,
      "select_timeouts": 0,
      "triton_result_errors": 0
    },
    "enabled": true,
    "fps": {
      "processed": 6.234,
      "pushed": 6.234,
      "read": 6.234
    },
    "hints": [
      "read_fps_below_target",
      "processed_fps_below_target",
      "push_fps_below_target",
      "frame_processing_p95_over_budget",
      "triton_wait_p95_dominant"
    ],
    "latency_ms": {
      "analyze": {
        "avg_ms": 6.929,
        "count": 187,
        "max_ms": 9.624,
        "p95_ms": 8.547
      },
      "analyze_detail": {
        "data_bus_build_ms": {
          "avg_ms": 2.882,
          "count": 187,
          "max_ms": 4.428,
          "p95_ms": 4.074
        },
        "detection_prepare_ms": {
          "avg_ms": 1.127,
          "count": 187,
          "max_ms": 1.509,
          "p95_ms": 1.333
        },
        "event_filter_ms": {
          "avg_ms": 0.005,
          "count": 187,
          "max_ms": 0.008,
          "p95_ms": 0.006
        },
        "id_reconcile_ms": {
          "avg_ms": 0.384,
          "count": 187,
          "max_ms": 0.57,
          "p95_ms": 0.543
        },
        "mcmt_ms": {
          "avg_ms": 0.004,
          "count": 187,
          "max_ms": 0.008,
          "p95_ms": 0.006
        },
        "scenario_analyze_ms": {
          "avg_ms": 0.193,
          "count": 187,
          "max_ms": 0.332,
          "p95_ms": 0.261
        },
        "setup_ms": {
          "avg_ms": 0.037,
          "count": 187,
          "max_ms": 0.056,
          "p95_ms": 0.046
        },
        "total_inside_ms": {
          "avg_ms": 6.871,
          "count": 187,
          "max_ms": 9.546,
          "p95_ms": 8.473
        },
        "track_match_ms": {
          "avg_ms": 0.092,
          "count": 187,
          "max_ms": 0.149,
          "p95_ms": 0.122
        },
        "tracker_update_ms": {
          "avg_ms": 2.144,
          "count": 187,
          "max_ms": 3.226,
          "p95_ms": 2.656
        }
      },
      "gstreamer_push": {
        "avg_ms": 1.026,
        "count": 187,
        "max_ms": 1.253,
        "p95_ms": 1.124
      },
      "model_completion": {
        "model_count": 4,
        "models": {
          "yolo11-pose_640_pose_pretrained_by_Ultralytics_11s": {
            "avg_ms": 54.878,
            "count": 187,
            "max_ms": 77.497,
            "p95_ms": 72.529
          },
          "yolo11_640_coco_Large_pretrained_by_Ultralytics_11": {
            "avg_ms": 65.564,
            "count": 187,
            "max_ms": 96.997,
            "p95_ms": 87.141
          },
          "yolo11_640_fire_11class": {
            "avg_ms": 31.728,
            "count": 187,
            "max_ms": 78.107,
            "p95_ms": 44.163
          },
          "yolo11m_640_worker_ppe_equipment_ops260616_28class": {
            "avg_ms": 63.324,
            "count": 187,
            "max_ms": 102.237,
            "p95_ms": 90.367
          }
        },
        "truncated_count": 0
      },
      "processing_total": {
        "avg_ms": 148.785,
        "count": 187,
        "max_ms": 194.061,
        "p95_ms": 173.548
      },
      "read_interval": {
        "avg_ms": 160.552,
        "count": 187,
        "max_ms": 205.455,
        "p95_ms": 185.236
      },
      "triton_wait": {
        "avg_ms": 67.534,
        "count": 187,
        "max_ms": 102.249,
        "p95_ms": 91.212
      },
      "visualize": {
        "avg_ms": 6.55,
        "count": 187,
        "max_ms": 9.131,
        "p95_ms": 7.995
      }
    },
    "target_fps": 10.0,
    "target_frame_budget_ms": 100.0,
    "window_elapsed_s": 29.996,
    "window_s": 30.0
  },
  "started_at": "2026-07-08T12:48:44+09:00",
  "state": "running",
  "task_id": "db3170af-191e-449f-a485-6e6873a834ae",
  "trigger": "start"
}