docling-project/docling · warning · SystemExit
No plotable data found in {args.input_file}
Error message
No plotable data found in {args.input_file} What it means
SystemExit raised by main() in perfs/plot_memory_metrics.py when no resolved metrics file produced any plottable series. load_points() only appends a run when it contains at least one 'loaded' memory event (total_pages non-empty); if every metrics file is empty, lacks loaded events, or holds no memory data, loaded_runs stays empty and the script exits.
Source
Thrown at perfs/plot_memory_metrics.py:133
raise SystemExit(f"Input file does not exist: {args.input_file}")
try:
import matplotlib.pyplot as plt
except ImportError as exc:
raise SystemExit(
"Plotting requires matplotlib. Install it in the environment first."
) from exc
loaded_runs = []
for label, metrics_file in _resolve_metrics_files(args.input_file):
if not metrics_file.is_file():
raise SystemExit(f"Metrics file does not exist: {metrics_file}")
total_pages, loaded_metrics = load_points(metrics_file)
if total_pages:
loaded_runs.append((label, total_pages, loaded_metrics))
if not loaded_runs:
raise SystemExit(f"No plotable data found in {args.input_file}")
fig, ax = plt.subplots(1, 1, figsize=(12, 6))
for label, total_pages, loaded_metrics in loaded_runs:
point_count = min(
[len(total_pages)] + [len(values) for values in loaded_metrics.values()]
)
x_values = total_pages[:point_count]
for key in MEMORY_KEYS:
series = loaded_metrics[key][:point_count]
if all(value != value for value in series):
continue
metric_label = key.replace("_mb", "").upper()
ax.plot(
x_values,
series,
label=f"{label} {metric_label}",View on GitHub (pinned to 61d76f1ff3)
Solutions
- Inspect one metrics file to confirm 'loaded' events with memory payloads exist: 'grep loaded metrics.jsonl'.
- Re-run the benchmark to completion for at least one configuration so loaded-phase memory events are recorded.
- If event names changed across script versions, regenerate metrics with the current iterate_pdf_pages.py rather than plotting old artifacts.
Example fix
# before
$ head metrics.jsonl # empty or only {"event": "start", ...}
$ python perfs/plot_memory_metrics.py summary.json
# SystemExit: No plotable data found in summary.json
# after: rerun a successful benchmark first
$ python perfs/iterate_pdf_pages.py --input-dir ./pdfs --metrics-file metrics.jsonl --report-file summary.json
$ python perfs/plot_memory_metrics.py summary.json Defensive patterns
Strategy: validation
Validate before calling
def has_loaded_events(metrics_path: str) -> bool:
with open(metrics_path, encoding="utf-8") as fh:
for line in fh:
if '"loaded"' in line and "memory_loaded_mb" in line:
return True
return False
if not any(has_loaded_events(p) for p in metrics_paths):
raise SystemExit("no loaded-phase memory events; rerun benchmark to completion") Prevention
- Confirm benchmark runs reached the loaded phase (grep 'loaded' metrics.jsonl) before plotting.
- Treat empty metrics artifacts from aborted runs as invalid and rerun them.
- Regenerate old metrics with the current script version rather than plotting stale event schemas.
When it happens
Trigger: Metrics files that contain only non-loaded events (e.g. conversion crashed before the 'loaded' phase), empty .jsonl files from aborted runs, or event schemas missing the 'memory_loaded_mb' payload — every run filters out, leaving nothing to plot.
Common situations: Plotting after benchmark runs that all failed early (OOM kills, backend crashes before page loading completed); plotting per-page metrics files produced by a different script version with changed event names; empty artifacts from a job that was cancelled immediately.
Related errors
- Hugging Face dataset support requires 'huggingface_hub' to b
- Dataset '{args.repo_id}' does not contain a 'pdf/' subfolder
- Input directory does not exist: {input_dir}
- {input_file} is not valid JSONL or a JSON summary report.
- {input_file} does not look like an iterate_pdf_pages.py summ
AI-assisted analysis of docling-project/docling@61d76f1ff3 (2026-08-14).
Data as JSON: /api/errors/59c89a47a4af68d0.
Report an issue: GitHub.