anon-ops/ops-lite
ops-lite A curated 500-case root-cause-analysis (RCA) evaluation set for microservice systems, with manifest-driven causal-graph ground truth. Each case bundles: a chaos-injection ground truth (injection.json) a causal service graph derived from the injection's fault contract (causal_graph.json) the runtime environment snapshot (env.json, result.json, label.txt) 12 parquet metric tables per case, split into the abnormal window (during fault) and the normal window (baseline)… See the full description on the dataset page: https://huggingface.co/datasets/anon-ops/ops-lite.
ops-lite
A curated 500-case root-cause-analysis (RCA) evaluation set for microservice systems, with manifest-driven causal-graph ground truth.
Each case bundles:
- a chaos-injection ground truth (
injection.json) - a causal service graph derived from the injection's fault contract (
causal_graph.json) - the runtime environment snapshot (
env.json,result.json,label.txt) - 12 parquet metric tables per case, split into the abnormal window (during fault) and the normal window (baseline)
The corpus spans three open-source microservice testbeds:
Intended use
Benchmarking RCA algorithms on microservice fault propagation. Each case provides the ground-truth root-cause service(s) and a manifest-derived causal graph against which an algorithm's predicted ranking or path can be scored.
Pipeline
- Generation — chaos faults are injected and observed by AegisLab, an open-source RCA benchmarking platform. A detector confirms each case is observable end-to-end before it enters the candidate pool.
- Annotation — for every observable case, a manifest-driven causal graph reasoner (rcabench-platform v3
internal/reasoning) enumerates the fault propagation layer-by-layer from the registered fault manifest, producing thecausal_graph.jsonground truth. - Curation — a 1464-case raw pool is reduced to 500 via a greedy selector with hard filters (cyclic graphs, lp ≤ 1, frontend-only injections) and soft caps on system / chaos-family / root-service.
This repo card summarizes the released artifact itself. The full generation and selection pipeline will be documented in the associated paper / artifact release.
Data layout
ops-lite/
├── manifest.jsonl # 500 lines, one JSON record per case
├── README.md
├── croissant.json # core Croissant + RAI fields
└── cases/
└── <case-name>/
├── injection.json
├── causal_graph.json
├── env.json
├── result.json
├── label.txt
└── *.parquet # abnormal_* + normal_*manifest.jsonl schema:
{
"name": "ts0-ts-order-service-exception-l2bqm5",
"system": "ts|hs|otel-demo",
"longest_path": 7,
"n_svc": 13,
"n_edge": 21,
"n_alarm_svc": 2,
"root_services": ["ts-order-service"],
"chaos_family": "JVM*|HTTP*|Network*|Pod*|*Stress|DNS|Time|hybrid_clean|hybrid_kill",
"primary_kind": "<chaos_type or 'hybrid'>",
"subtypes": ["..."],
"hybrid": false,
"has_kill_leg": false
}Composition
License
Apache-2.0. The underlying microservice testbeds (Train-Ticket, Hotel Reservation / DeathStarBench, OpenTelemetry Demo) retain their own upstream licenses.
Citation
A formal citation will be added on publication.
