mirror of
https://github.com/sigp/lighthouse.git
synced 2026-04-20 14:28:37 +00:00
Squashed reset to unstable
This commit is contained in:
committed by
Daniel Knopik
parent
b71b5f2231
commit
f61f0b654c
@@ -2,19 +2,20 @@
|
||||
//!
|
||||
//! For other endpoints, see the `http_api` crate.
|
||||
|
||||
use lighthouse_validator_store::LighthouseValidatorStore;
|
||||
use lighthouse_version::version_with_platform;
|
||||
use logging::crit;
|
||||
use malloc_utils::scrape_allocator_metrics;
|
||||
use parking_lot::RwLock;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use slog::{crit, info, Logger};
|
||||
use slot_clock::{SlotClock, SystemTimeSlotClock};
|
||||
use std::future::Future;
|
||||
use std::net::{IpAddr, Ipv4Addr, SocketAddr};
|
||||
use std::sync::Arc;
|
||||
use std::time::{SystemTime, UNIX_EPOCH};
|
||||
use tracing::info;
|
||||
use types::EthSpec;
|
||||
use validator_services::duties_service::DutiesService;
|
||||
use validator_store::ValidatorStore;
|
||||
use warp::{http::Response, Filter};
|
||||
|
||||
#[derive(Debug)]
|
||||
@@ -35,22 +36,19 @@ impl From<String> for Error {
|
||||
}
|
||||
}
|
||||
|
||||
type ValidatorStore<E> = LighthouseValidatorStore<SystemTimeSlotClock, E>;
|
||||
|
||||
/// Contains objects which have shared access from inside/outside of the metrics server.
|
||||
pub struct Shared<E> {
|
||||
pub validator_store: Option<Arc<ValidatorStore<E>>>,
|
||||
pub duties_service: Option<Arc<DutiesService<ValidatorStore<E>, SystemTimeSlotClock>>>,
|
||||
pub struct Shared<E: EthSpec> {
|
||||
pub validator_store: Option<Arc<ValidatorStore<SystemTimeSlotClock, E>>>,
|
||||
pub duties_service: Option<Arc<DutiesService<SystemTimeSlotClock, E>>>,
|
||||
pub genesis_time: Option<u64>,
|
||||
}
|
||||
|
||||
/// A wrapper around all the items required to spawn the HTTP server.
|
||||
///
|
||||
/// The server will gracefully handle the case where any fields are `None`.
|
||||
pub struct Context<E> {
|
||||
pub struct Context<E: EthSpec> {
|
||||
pub config: Config,
|
||||
pub shared: RwLock<Shared<E>>,
|
||||
pub log: Logger,
|
||||
}
|
||||
|
||||
/// Configuration for the HTTP server.
|
||||
@@ -95,7 +93,6 @@ pub fn serve<E: EthSpec>(
|
||||
shutdown: impl Future<Output = ()> + Send + Sync + 'static,
|
||||
) -> Result<(SocketAddr, impl Future<Output = ()>), Error> {
|
||||
let config = &ctx.config;
|
||||
let log = ctx.log.clone();
|
||||
|
||||
// Configure CORS.
|
||||
let cors_builder = {
|
||||
@@ -112,7 +109,7 @@ pub fn serve<E: EthSpec>(
|
||||
|
||||
// Sanity check.
|
||||
if !config.enabled {
|
||||
crit!(log, "Cannot start disabled metrics HTTP server");
|
||||
crit!("Cannot start disabled metrics HTTP server");
|
||||
return Err(Error::Other(
|
||||
"A disabled metrics server should not be started".to_string(),
|
||||
));
|
||||
@@ -124,7 +121,7 @@ pub fn serve<E: EthSpec>(
|
||||
.map(move || inner_ctx.clone())
|
||||
.and_then(|ctx: Arc<Context<E>>| async move {
|
||||
Ok::<_, warp::Rejection>(
|
||||
gather_prometheus_metrics::<E>(&ctx)
|
||||
gather_prometheus_metrics(&ctx)
|
||||
.map(|body| {
|
||||
Response::builder()
|
||||
.status(200)
|
||||
@@ -153,9 +150,8 @@ pub fn serve<E: EthSpec>(
|
||||
)?;
|
||||
|
||||
info!(
|
||||
log,
|
||||
"Metrics HTTP server started";
|
||||
"listen_address" => listening_socket.to_string(),
|
||||
listen_address = listening_socket.to_string(),
|
||||
"Metrics HTTP server started"
|
||||
);
|
||||
|
||||
Ok((listening_socket, server))
|
||||
|
||||
Reference in New Issue
Block a user