#rocket #metrics-collection #client #endpoints #capability #service #valensas

valensas-rocket

一个提供端点指标收集功能的 Rocket 客户端库

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

Download history 16/week @ 2024-04-02 58/week @ 2024-04-16

416 每月下载量

MIT 许可证

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