| Crates.io | tower-fault-injector |
| lib.rs | tower-fault-injector |
| version | 0.0.4 |
| created_at | 2022-01-28 12:23:49.376237+00 |
| updated_at | 2022-02-23 20:02:04.461365+00 |
| description | Tower layers for fault injection |
| homepage | |
| repository | https://github.com/nmoutschen/tower-fault-injector |
| max_upload_size | |
| id | 523059 |
| size | 42,830 |
tower-fault-injector is a library for injecting various faults into a tower::Service.
You can use the following layers to inject faults into a service:
ErrorLayer - randomly inject errors into a service.LatencyLayer - randomly add latency into a service.use tower_fault_injector::latency::LatencyLayer;
use tower::{service_fn, ServiceBuilder};
async fn my_service() -> Result<(), ()> {
Ok(())
}
// Initialize a LatencyLayer with a 10% probability of injecting
// 200 to 500 milliseconds of latency.
let latency_layer = LatencyLayer::new(0.1, 200..500);
let service = ServiceBuilder::new()
.layer(latency_layer)
.service(service_fn(my_service));