Chaos Faults for Linux
Introduction
Linux faults disrupt the resources running on a Linux machine. This deteriorates the performance of the application for the duration of the chaos experiment.
Linux API block
Linux API block injects API block fault into a Linux machine for a specific duration through path filtering. This results in the API not being able to send responses for the requests it receives.
Linux API latency
Linux API latency injects API request and response latency into a Linux machine by starting proxy server and redirecting the traffic through it. It induces API call latency that adds a time delay before sending a response.
Linux API modify body
Linux API modify body modifies the API request and response body by replacing any portions that match a specified regular expression with a provided value. This is achieved by starting the proxy server and redirecting the traffic through the proxy server.
Linux API status code
Linux API status code changes the API response status code and optionally API response body through path filtering. This is achieved by starting the proxy server and redirecting the traffic through the proxy server.
Linux API modify header
Linux API modify header injects API fault into a Linux machine for a specific duration to override the header values of API requests and responses with the user-provided values for the given keys. This is achieved by starting the proxy server and redirecting the traffic through the proxy server.
Linux CPU stress
Linux CPU stress stresses the CPU of the target Linux machines for a specific duration.
Linux API block
Linux API block injects API block fault into a Linux machine for a specific duration through path filtering. This results in the API not being able to send responses for the requests it receives.Use cases
Linux API latency
Linux API latency injects API request and response latency into a Linux machine by starting proxy server and redirecting the traffic through it. It induces API call latency that adds a time delay before sending a response.Use cases
Linux API modify body
Linux API modify body modifies the API request and response body by replacing any portions that match a specified regular expression with a provided value. This is achieved by starting the proxy server and redirecting the traffic through the proxy server.Use cases
Linux API modify header
Linux API modify header injects API fault into a Linux machine for a specific duration to override the header values of API requests and responses with the user-provided values for the given keys. This is achieved by starting the proxy server and redirecting the traffic through the proxy server.Use cases
Linux API status code
Linux API status code changes the API response status code and optionally API response body through path filtering. This is achieved by starting the proxy server and redirecting the traffic through the proxy server.Use cases
Linux CPU stress
Linux CPU stress applies stress on the CPU of the target Linux machines for a certain duration.
- Induces CPU stress on the target Linux machines.
- Simulates a lack of CPU for processes running on the application, which degrades their performance.
Use cases
- Induces CPU stress on the target Linux machines.
- Simulates a lack of CPU for processes running on the application, which degrades their performance.
- Simulates slow application traffic or exhaustion of the resources, leading to degradation in the performance of processes on the machine.
Linux disk fill
Linux disk fill fills up the available disk space at a given system path for a specific duration.Use cases
Linux disk IO stress
Linux disk I/O stress applies stress on the disk of the target Linux machines over I/O operations for a specific duration.Use cases
Linux DNS error
Linux DNS error injects chaos to disrupt the DNS resolution on a Linux machine.Use cases
Linux DNS spoof
Linux DNS spoof injects chaos to mimic DNS resolution on a Linux machine.Use cases
Linux fs fill
Linux fs fill fills up the available fs space at a given system path for a specific duration.Use cases
Linux JVM CPU stress
Linux JVM CPU stress consumes excessive CPU threads of the JVM.Use cases
Linux JVM memory stress
Linux JVM memory stress consumes excessive memory resources of the JVM. This sometimes results in OOM kill (Out-of-memory).Use cases
Linux JVM method exception
Linux JVM method exception injects chaos into a Java application to invoke an exception.Use cases
Linux JVM method latency
Linux JVM method latency slows down the Java application by introducing delays in executing the method calls.Use cases
Linux JVM modify return
Linux JVM modify return modifies the return value of a method in a Java application for a specific duration. It is used to determine the performance and resilience of the application (or services) running on Linux machines.Use cases
Linux JVM trigger GC
Linux JVM trigger gc triggers the garbage collector on a specific process in Java that causes unused (or out of scope) objects, variables and so on to be garbage collected and recycled, thereby freeing up memory space. It is used to determine the performance and resilience of the application (or services) running on Linux machines.Use cases
Linux memory stress
Linux memory stress causes memory consumption of the target Linux machines for a specific duration.Use cases
Linux network corruption
Linux network corruption injects chaos to disrupt network connectivity on a Linux machine by corrupting the network requests.Use cases
Linux network duplication
Linux network duplication injects chaos to disrupt network connectivity on a Linux machine by duplicating network packets.Use cases
Linux network latency
Linux network latency injects chaos to disrupt network connectivity on a Linux machine by adding delay to the network requests.Use cases
Linux network loss
Linux network loss injects chaos to disrupt network connectivity on the Linux machine by blocking the network requests.Use cases
Linux network rate limit
Linux network rate limit injects chaos to slow down the network connectivity on the Linux machine by limiting the network bandwidth to process fixed number of network packets per unit time.Use cases
Linux process kill
Linux process kill fault kills the target processes running on the Linux machines.
- It checks the performance of the application or process running on the Linux machine.
Use cases
- Induces process kill on the target Linux machines.
- Disrupts the application critical processes such as databases or message queues by killing their underlying processes or threads.
- Determines the resilience of applications when processes on a Linux machine are unexpectedly killed (or disrupted).
Linux service restart
Linux service restart stops the target system services running in a Linux machine.
- It determines the performance and resilience of the application (or services) running on Linux machines.
Use cases
- Service restart determines the resilience of an application upon random halts.
- Determines how efficiently an application recovers and restarts the services.
Linux time chaos
Linux time chaos injects chaos to change the time of the Linux machine.Use cases
Redis cache expire
Redis cache expire expires a given key (or all keys) for a specific duration. Due to this, you won't be able to access the key/s associated with the cache during chaos.Use cases
Redis cache limit
Redis cache limit fault limits the amount of memory used by a Redis cache. The original limit is restored after the chaos duration.Use cases
Redis cache penetration
Redis cache penetration fault continuously sends cache requests to the Redis database to find the value for a non-existing key. This continuous request reduces the performance of the application.Use cases
Redis Sentinel stop
Linux Redis Sentinel stop fault stops the Redis Sentinel server for a specific chaos duration and then starts it.Use cases
Linux API block
Linux API block injects API block fault into a Linux machine for a specific duration through path filtering. This results in the API not being able to send responses for the requests it receives.Use cases
Linux API latency
Linux API latency injects API request and response latency into a Linux machine by starting proxy server and redirecting the traffic through it. It induces API call latency that adds a time delay before sending a response.Use cases