chaos-mesh/toda

A hook filesystem and utils to inject IO chaos

Hosted by Cloud Native Computing Foundation · part of Linux Foundation

View on GitHub ↗Jump to charts ↓

chaos-mesh/toda has 50+ stars and 20+ forks on GitHub, is written in Rust, and was last pushed on Oct 16, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 12 minutes ago
Added to GitGenius on October 15th, 2026
Created on July 21st, 2020
Open Issues & Pull Requests: 13 (+0)
GitHub issues: Enabled
Number of forks: 26
Total Stargazers: 54 (+0)
Total Subscribers: 9 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 11.0 hours
Mean response time: 652.2 days
90th percentile: 2192.1 days
Tracked items: 8

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 0
Closed in 7 days: 6
Avg open age: 809 days
Stale 30+ days: 2
Stale 90+ days: 2

Recent activity

Opened in 7 days: 0
Closed in 7 days: 6
Comments in 7 days: 0
Events in 7 days: 6

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Toda is a hook filesystem and utility for injecting IO chaos into running processes.

The tool addresses the need to test system resilience by simulating filesystem failures and anomalies. It works by intercepting filesystem operations through a hook mechanism, allowing operators to inject errors, latency, and attribute modifications at the IO level. This enables chaos engineering practices where developers can verify how applications behave when encountering read failures, permission changes, or other filesystem disruptions.

Toda is suited for teams running chaos engineering experiments who need fine-grained control over filesystem behavior in isolated environments. It works within specific process and mount namespaces, making it appropriate for containerized or otherwise isolated workloads. The tool supports probabilistic injection, meaning failures can occur with specified likelihood rather than deterministically, which helps simulate realistic partial outages. However, potential adopters should be aware that filesystem caching can affect results when probabilities are less than one—successful reads may mask subsequent errors until the cache expires—so probability settings of one are recommended for consistent behavior. The tool has known limitations with very long paths near the 4096-byte boundary and cannot stat file descriptors after deletion.

Development activity shows consistent engagement with the codebase through regular commits addressing both features and stability. The project maintains active issue tracking and responds to reported problems. Pull requests receive review and integration, indicating an active maintenance cycle. The maintainers provide documentation of known constraints and compilation guidance, suggesting attention to production usability.