4 个版本

0.0.4 2022年2月23日
0.0.3 2022年2月21日
0.0.2 2022年1月28日
0.0.1 2022年1月28日

#7 in #tower-layer

每月下载量 38

MIT 许可协议

15KB
276

tower-fault-injector 最新版本

tower-fault-injector 是一个库,可以将各种故障注入到 tower::Service

您可以使用以下层将故障注入到服务中

  • ErrorLayer - 随机将错误注入到服务中。
  • LatencyLayer - 随机向服务中添加延迟。

示例用法

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));

lib.rs:

tower 提供故障注入工具

此包提供 tower::Layer,可用于将各种故障注入到 tower::Service

您可以使用以下层将故障注入到服务中

示例

use tower_fault_injector::latency::LatencyLayer;
use tower::{service_fn, ServiceBuilder};

// Initialize a LatencyLayer with a 10% probability of injecting
// 200 to 500 milliseconds of latency.
let latency_layer = LatencyLayer::new(0.1, 200..500).unwrap();

let service = ServiceBuilder::new()
    .layer(latency_layer)
    .service(service_fn(my_service));

依赖项

~1.3–3MB
~59K SLoC