prometheus

This commit is contained in:
aniketfuryrocks 2023-06-27 00:05:00 +05:30
parent 97edd3d539
commit d5a4a394e3
No known key found for this signature in database
GPG Key ID: 1B75EA596D89FF06
3 changed files with 9 additions and 31 deletions

View File

@ -1,5 +1,4 @@
use std::sync::Arc; use std::{sync::Arc, time::Duration};
use std::time::Duration;
use anyhow::Context; use anyhow::Context;
use chrono::{DateTime, Utc}; use chrono::{DateTime, Utc};
@ -7,13 +6,15 @@ use dashmap::DashMap;
use log::info; use log::info;
use serde_json::json; use serde_json::json;
use solana_client::rpc_request::RpcRequest; use solana_client::{
use solana_client::rpc_response::{Response, RpcBlockhash}; nonblocking::rpc_client::RpcClient,
use solana_client::{nonblocking::rpc_client::RpcClient, rpc_config::RpcBlockConfig}; rpc_config::RpcBlockConfig,
rpc_request::RpcRequest,
rpc_response::{Response, RpcBlockhash},
};
use solana_sdk::commitment_config::CommitmentConfig; use solana_sdk::commitment_config::CommitmentConfig;
use solana_transaction_status::TransactionDetails; use solana_transaction_status::TransactionDetails;
use tokio::sync::RwLock; use tokio::{sync::RwLock, time::Instant};
use tokio::time::Instant;
#[derive(Clone, Copy, Debug)] #[derive(Clone, Copy, Debug)]
pub struct BlockInformation { pub struct BlockInformation {

View File

@ -58,18 +58,6 @@ lazy_static::lazy_static! {
register_int_counter!(opts!("literpc_rpc_airdrop", "RPC call to request airdrop")).unwrap(); register_int_counter!(opts!("literpc_rpc_airdrop", "RPC call to request airdrop")).unwrap();
static ref RPC_SIGNATURE_SUBSCRIBE: IntCounter = static ref RPC_SIGNATURE_SUBSCRIBE: IntCounter =
register_int_counter!(opts!("literpc_rpc_signature_subscribe", "RPC call to subscribe to signature")).unwrap(); register_int_counter!(opts!("literpc_rpc_signature_subscribe", "RPC call to subscribe to signature")).unwrap();
static ref WS_SERVER_FAIL: IntCounter =
register_int_counter!(opts!("literpc_rpc_ws_server_fail", "WebSocket server failed")).unwrap();
static ref METRICS_SERVICE_FAIL: IntCounter =
register_int_counter!(opts!("literpc_rpc_metrics_service_fail", "Metrics service failed")).unwrap();
static ref HTTP_SERVER_FAIL: IntCounter =
register_int_counter!(opts!("literpc_rpc_http_server_fail", "Http server failed")).unwrap();
static ref PROMETHEUS_SERVER_FAIL: IntCounter =
register_int_counter!(opts!("literpc_rpc_prometheus_server_fail", "Prometheus server failed")).unwrap();
static ref POSTGRES_SERVICE_FAIL: IntCounter =
register_int_counter!(opts!("literpc_rpc_postgres_service_fail", "Postgres service failed")).unwrap();
static ref TX_SERVICE_FAIL: IntCounter =
register_int_counter!(opts!("literpc_rpc_tx_service_fail", "Tx service failed")).unwrap();
} }
/// A bridge between clients and tpu /// A bridge between clients and tpu
@ -235,27 +223,21 @@ impl LiteBridge {
tokio::select! { tokio::select! {
res = ws_server => { res = ws_server => {
WS_SERVER_FAIL.inc();
bail!("WebSocket server {res:?}"); bail!("WebSocket server {res:?}");
}, },
res = http_server => { res = http_server => {
HTTP_SERVER_FAIL.inc();
bail!("HTTP server {res:?}"); bail!("HTTP server {res:?}");
}, },
res = metrics_capture => { res = metrics_capture => {
METRICS_SERVICE_FAIL.inc();
bail!("Metrics Capture {res:?}"); bail!("Metrics Capture {res:?}");
}, },
res = prometheus_sync => { res = prometheus_sync => {
PROMETHEUS_SERVER_FAIL.inc();
bail!("Prometheus Service {res:?}"); bail!("Prometheus Service {res:?}");
}, },
res = postgres => { res = postgres => {
POSTGRES_SERVICE_FAIL.inc();
bail!("Postgres service {res:?}"); bail!("Postgres service {res:?}");
}, },
res = jh_transaction_services => { res = jh_transaction_services => {
TX_SERVICE_FAIL.inc();
bail!("Transaction service {res:?}"); bail!("Transaction service {res:?}");
} }
} }

View File

@ -6,7 +6,7 @@ use anyhow::{bail, Context};
use clap::Parser; use clap::Parser;
use dotenv::dotenv; use dotenv::dotenv;
use lite_rpc::{bridge::LiteBridge, cli::Args}; use lite_rpc::{bridge::LiteBridge, cli::Args};
use prometheus::{opts, register_int_counter, IntCounter};
use solana_sdk::signature::Keypair; use solana_sdk::signature::Keypair;
use std::env; use std::env;
@ -35,11 +35,6 @@ async fn get_identity_keypair(identity_from_cli: &str) -> Keypair {
} }
} }
lazy_static::lazy_static! {
static ref RESTARTS: IntCounter =
register_int_counter!(opts!("literpc_rpc_restarts", "Number of times lite rpc restarted")).unwrap();
}
pub async fn start_lite_rpc(args: Args) -> anyhow::Result<()> { pub async fn start_lite_rpc(args: Args) -> anyhow::Result<()> {
let Args { let Args {
rpc_addr, rpc_addr,