VisionEye · Model Server
Images were sent to a local server with YOLO26n loaded in memory. Actual detection responses were recorded, then the inference worker was stalled or terminated to test automatic recovery.
- Normal inference
- 20 / 20
- HTTP response p95
- 116.4 ms
- Response after worker exit
- 3.29 s
- Inference device
- CPU
3 generated-video frames · sequential requests
Excludes initialization · n=20
Fault request to next successful inference
FP32 · 2 threads · batch 1
Server architecture
- 01HTTP · Bearer token
- 021 inference slot · no queue
- 03YOLO26n · CPU worker
- 04Detection boxes · response log
The HTTP server and model process are separate. Readiness follows model loading and warmup. A failure disposes of the old process and pipe, then starts a new generation.
Actual responses
Generated footage · actual returned boxes · not privacy masking
Selected request
{
"type": "result",
"request_id": 2,
"detections": [
{
"xyxy": [
220.27630615234375,
391.68316650390625,
325.22369384765625,
602.9668579101562
],
"confidence": 0.8701023459434509,
"class_id": 0
},
{
"xyxy": [
869.9039916992188,
361.748779296875,
962.1455688476562,
580.7520751953125
],
"confidence": 0.8581218719482422,
"class_id": 0
},
{
"xyxy": [
468.11492919921875,
232.8916015625,
535.650146484375,
410.51953125
],
"confidence": 0.8497844338417053,
"class_id": 0
},
{
"xyxy": [
555.414794921875,
208.18496704101562,
630.7957763671875,
393.5848388671875
],
"confidence": 0.8456692099571228,
"class_id": 0
},
{
"xyxy": [
656.106201171875,
273.41302490234375,
721.9979248046875,
458.52911376953125
],
"confidence": 0.8320407867431641,
"class_id": 0
},
{
"xyxy": [
777.20263671875,
370.71307373046875,
871.499267578125,
600.5599975585938
],
"confidence": 0.8298223614692688,
"class_id": 0
},
{
"xyxy": [
114.68441772460938,
374.2510986328125,
220.70620727539062,
586.3094482421875
],
"confidence": 0.7722750306129456,
"class_id": 0
},
{
"xyxy": [
744.9744262695312,
0,
774.9558715820312,
55.1549072265625
],
"confidence": 0.575564444065094,
"class_id": 0
}
],
"width": 1280,
"height": 720,
"inference_ms": 89.661,
"torch_threads": 2,
"image_sha256": "e22ecbd82c9ac69d8f82a9819fe0ca256409160bca0237df6659204284c30ad1",
"generation": 1,
"model_sha256": "9b09cc8bf347f0fc8a5f7657480587f25db09b34bf33b0652110fb03a8ad4fef",
"device": "cpu"
}HTTP latency of 20 sequential requests
A small functional smoke sample, not production throughput or accuracy.
Failures and recovery
Actual response after recovery
| Check | HTTP | Behavior |
|---|---|---|
| Missing authorization | 401 | Rejected before inference |
| Invalid image / oversized body | 400 / 413 | Input validation |
| Admission limit | 429 | Additional request during an injected stall |
| Deadline | 504 | Terminate old worker → fresh pipe and model load |
| Worker exit | 503 → 200 | Actual inference succeeds after automatic restart |
Environment and scope
Pinned configuration
Python 3.12.14
PyTorch 2.11.0+cu128
Ultralytics 8.4.150
CPU · imgsz 640 · rect false · conf 0.1
Model SHA256
9b09cc8bf347f0fc8a5f7657480587f25db09b34bf33b0652110fb03a8ad4fef
The rehearsal server was stopped after validation. This webpage displays recorded evidence and does not run a model.