prometheus
This commit is contained in:
parent
97edd3d539
commit
d5a4a394e3
|
@ -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 {
|
||||||
|
|
|
@ -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:?}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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,
|
||||||
|
|
Loading…
Reference in New Issue