Skip to content

Repository files navigation

Aegis

A platform for root-cause-analysis research on microservice systems: inject a fault into a running benchmark, collect the telemetry it produced, run RCA algorithms against that window, and score them against the known ground truth.

Two components share this repository.

Path What it is
aegislab/ The platform. A Go modular monolith that owns chaos systems, projects, datasets, fault injections, executions, and the async runtime driving the build → inject → collect → detect pipeline. Ships aegisctl, the operator CLI.
rcabench-platform/ The evaluation framework. A Python SDK for writing RCA algorithms and trace samplers, plus the harness that evaluates them across datasets.

What it does

Aegis deploys a benchmark microservice system (a pedestal) into a Kubernetes namespace, injects a fault through Chaos Mesh, and captures the traces, metrics, and logs from the blast window into a datapack — a self-contained parquet bundle carrying the fault's ground truth. RCA algorithms then run against datapacks and are scored on whether they name the right root cause.

Eight benchmark systems are integrated: train-ticket, sock-shop, TeaStore, OpenTelemetry Demo, Online Boutique, and three DeathStarBench suites (hotel-reservation, social-network, media-microservices).

The fault catalog covers pod, network, HTTP, DNS, JVM, stress, and time chaos, resolved down to individual injection points (a specific container, a specific service endpoint, a specific JVM method) rather than whole-service faults.

Getting started

Architecture

aegislab is one Go module with one schema and one Helm chart. The cmd/aegis-* binaries each link only the boot/<role> options they need, so the same code runs as a single developer process or as a split gateway + worker + sso + blob deployment. aegislab/README.md has the layer rules and the dependency graph; docs/code-topology/ has the wiring details.

Related projects

PAVE is a LangGraph root-cause-analysis agent evaluated through this platform. It plugs into the rca llm-eval harness (rca llm-eval run <config> -a pave), which scores an agent's answers against the ground truth rcabench-platform's reasoning engine derives from each injection. If you want to see what an agent under evaluation looks like from the harness's side, start there.

Relationship to the development repository

This repository is the public release view. Internal deployment overlays, fault-injection campaign artifacts, and agent tooling are not mirrored here.

License

Apache 2.0 — see LICENSE.

About

Aegis — a platform for root-cause-analysis research on microservice systems: fault injection, telemetry collection, and RCA algorithm evaluation.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages