Add initial metrics for Prometheus (#18)

* Add metrics for Prometheus
This commit is contained in:
Sydhds
2025-07-15 11:51:27 +02:00
committed by GitHub
parent 6a7bb3ac0e
commit 471dd9a24f
15 changed files with 568 additions and 9 deletions

15
prover_client/Cargo.toml Normal file
View File

@@ -0,0 +1,15 @@
[package]
name = "prover_client"
version = "0.1.0"
edition = "2024"
[dependencies]
# TODO: workspace?
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
# TODO: workspace?
tonic = "0.13.1"
prost = "0.13"
alloy.workspace = true
[build-dependencies]
tonic-build = "*"

12
prover_client/build.rs Normal file
View File

@@ -0,0 +1,12 @@
use std::env;
use std::path::PathBuf;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let out_dir = PathBuf::from(env::var("OUT_DIR").unwrap());
tonic_build::configure()
.file_descriptor_set_path(out_dir.join("prover_descriptor.bin"))
.compile_protos(&["../proto/net/vac/prover/prover.proto"], &["../proto"])
.unwrap();
Ok(())
}

40
prover_client/src/main.rs Normal file
View File

@@ -0,0 +1,40 @@
use alloy::primitives::Address;
use std::str::FromStr;
use tonic::Response;
pub mod prover_proto {
// Include generated code (see build.rs)
tonic::include_proto!("prover");
}
use prover_proto::{
Address as GrpcAddress, RegisterUserReply, RegisterUserRequest,
// RegistrationStatus,
rln_prover_client::RlnProverClient,
};
#[tokio::main]
async fn main() {
// FIXME: clap
let url = "http://127.0.0.1:42942";
let addr = "0xb20a608c624Ca5003905aA834De7156C68b2E1d0";
let addr = Address::from_str(addr).unwrap();
let grpc_addr = GrpcAddress {
value: addr.to_vec(),
};
let mut client = RlnProverClient::connect(url).await.unwrap();
let request_0 = RegisterUserRequest {
user: Some(grpc_addr),
};
let request = tonic::Request::new(request_0);
let response: Response<RegisterUserReply> = client.register_user(request).await.unwrap();
println!(
"RegisterUSerReply status: {:?}",
response.into_inner().status
);
}