4 个版本
0.1.3 | 2023 年 8 月 21 日 |
---|---|
0.1.2 | 2023 年 7 月 13 日 |
0.1.1 | 2023 年 7 月 12 日 |
0.1.0 | 2023 年 7 月 12 日 |
#15 in #metrics-collection
416 每月下载量
8KB
97 代码行
Valensas Rocket - Rocket 客户端库
该库提供具有端点指标收集功能的 Rocket 客户端。它允许您创建和配置一个 Rocket 服务器实例以与 Web 服务交互。
用法
要使用此库,您需要创建 valensas_rocket::client::client_service::Client
的实例,并运行 spawn_rocket() 方法来启动应用程序。
有关详细信息,请访问: https://docs.rs/valensas-rocket
安装
将以下内容添加到您的 Cargo.toml
文件中
[dependencies]
valensas-rocket = "0.1.2"
lib.rs
:
Rocket 客户端库
该库提供具有端点指标的 Rocket 客户端。它允许您创建和配置一个 Rocket 服务器实例以与 Web 服务交互。
示例用法
use valensas_actuator::metrics::{ArcRwLockPrometheus, PrometheusMetrics};
use valensas_rocket::client::client_params::ClientParams;
use valensas_rocket::client::client_service::Client;
use rocket::{get, routes, Route};
use std::sync::{Arc, RwLock};
#[get("/")]
fn index() -> &'static str {
"Hello, world!"
}
#[tokio::main]
async fn main() {
// Create a vector of routes (endpoints)
let routes: Vec<Route> = routes![index];
// Optional: Create a Prometheus metrics object
// For further information about actuator library, visit: https://crates.io/crates/valensas-actuator
let prometheus = Arc::new(RwLock::new(PrometheusMetrics::new("your_namespace")));
let prometheus_fairing = ArcRwLockPrometheus::new(prometheus.clone());
// Create a new Rocket client
let client = Client::new(
ClientParams {
ip_addr: "127.0.0.1".to_string(),
port: "8000".to_string(),
},
routes,
Some(prometheus_fairing), // Pass the Prometheus object
)
// Optional: Set a managed state
//.set_manage(SomeState)
// Optional: Set a fairing
//.set_fairing(SomeFairing)
.spawn_rocket();
rocket::tokio::task::spawn(client.await)
.await
.unwrap()
.unwrap();
println!("Rocket server launched successfully!");
}
示例演示了如何使用库创建 Rocket 客户端。它设置了一个路由 ("/") 和一个处理函数 (index
)。可选地,它创建了一个 Prometheus 指标对象,设置了一个托管状态 (SomeState
),并附加了一个公平处理程序 (SomeFairing
)。然后使用 spawn_rocket
函数启动客户端,如果可用则可以访问 Prometheus 指标(有关指标的更多信息,请访问: valensas-actuator)。最后,客户端等待完成并打印成功消息。
依赖关系
~17–48MB
~819K SLoC