CoolFace
Datasetpublic

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.

sourceHugging Faceapache-2.0updated 4mo agoView on Hugging Face
1likes1kdownloads
Dataset Card

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:

systemndescription
ts (Train-Ticket)320Java/Spring Cloud microservice system, 44 application services
hs (Hotel Reservation / DeathStarBench)142Go/gRPC microservice system, 9 application services
otel-demo38OpenTelemetry Demo e-commerce app, 15 polyglot application services

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

  1. 1.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.
  2. 2.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 the causal_graph.json ground truth.
  3. 3.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:

json
{
  "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

metricvalue
total cases500
mean longest_path3.18
mean n_edge4.06
mean n_svc3.97
chaos families8
systems3

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.