mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-03 16:51:41 +00:00
Integrate tracing (#6339)
Tracing Integration
- [reference](5bbf1859e9/projects/project-ideas.md (L297))
- [x] replace slog & log with tracing throughout the codebase
- [x] implement custom crit log
- [x] make relevant changes in the formatter
- [x] replace sloggers
- [x] re-write SSE logging components
cc: @macladson @eserilev
This commit is contained in:
@@ -15,7 +15,7 @@ reqwest = { workspace = true }
|
||||
sensitive_url = { workspace = true }
|
||||
serde = { workspace = true }
|
||||
serde_json = { workspace = true }
|
||||
slog = { workspace = true }
|
||||
store = { workspace = true }
|
||||
task_executor = { workspace = true }
|
||||
tokio = { workspace = true }
|
||||
tracing = { workspace = true }
|
||||
|
||||
@@ -9,9 +9,9 @@ use reqwest::{IntoUrl, Response};
|
||||
pub use reqwest::{StatusCode, Url};
|
||||
use sensitive_url::SensitiveUrl;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use slog::{debug, error, info};
|
||||
use task_executor::TaskExecutor;
|
||||
use tokio::time::{interval_at, Instant};
|
||||
use tracing::{debug, error, info};
|
||||
use types::*;
|
||||
|
||||
pub use types::ProcessType;
|
||||
@@ -69,11 +69,10 @@ pub struct MonitoringHttpClient {
|
||||
freezer_db_path: Option<PathBuf>,
|
||||
update_period: Duration,
|
||||
monitoring_endpoint: SensitiveUrl,
|
||||
log: slog::Logger,
|
||||
}
|
||||
|
||||
impl MonitoringHttpClient {
|
||||
pub fn new(config: &Config, log: slog::Logger) -> Result<Self, String> {
|
||||
pub fn new(config: &Config) -> Result<Self, String> {
|
||||
Ok(Self {
|
||||
client: reqwest::Client::new(),
|
||||
db_path: config.db_path.clone(),
|
||||
@@ -83,7 +82,6 @@ impl MonitoringHttpClient {
|
||||
),
|
||||
monitoring_endpoint: SensitiveUrl::parse(&config.monitoring_endpoint)
|
||||
.map_err(|e| format!("Invalid monitoring endpoint: {:?}", e))?,
|
||||
log,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -111,10 +109,9 @@ impl MonitoringHttpClient {
|
||||
);
|
||||
|
||||
info!(
|
||||
self.log,
|
||||
"Starting monitoring API";
|
||||
"endpoint" => %self.monitoring_endpoint,
|
||||
"update_period" => format!("{}s", self.update_period.as_secs()),
|
||||
endpoint = %self.monitoring_endpoint,
|
||||
update_period = format!("{}s", self.update_period.as_secs()),
|
||||
"Starting monitoring API"
|
||||
);
|
||||
|
||||
let update_future = async move {
|
||||
@@ -122,10 +119,10 @@ impl MonitoringHttpClient {
|
||||
interval.tick().await;
|
||||
match self.send_metrics(&processes).await {
|
||||
Ok(()) => {
|
||||
debug!(self.log, "Metrics sent to remote server"; "endpoint" => %self.monitoring_endpoint);
|
||||
debug!(endpoint = %self.monitoring_endpoint, "Metrics sent to remote server");
|
||||
}
|
||||
Err(e) => {
|
||||
error!(self.log, "Failed to send metrics to remote endpoint"; "error" => %e)
|
||||
error!(error = %e, "Failed to send metrics to remote endpoint")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -187,18 +184,16 @@ impl MonitoringHttpClient {
|
||||
for process in processes {
|
||||
match self.get_metrics(process).await {
|
||||
Err(e) => error!(
|
||||
self.log,
|
||||
"Failed to get metrics";
|
||||
"process_type" => ?process,
|
||||
"error" => %e
|
||||
process_type = ?process,
|
||||
error = %e,
|
||||
"Failed to get metrics"
|
||||
),
|
||||
Ok(metric) => metrics.push(metric),
|
||||
}
|
||||
}
|
||||
info!(
|
||||
self.log,
|
||||
"Sending metrics to remote endpoint";
|
||||
"endpoint" => %self.monitoring_endpoint
|
||||
endpoint = %self.monitoring_endpoint,
|
||||
"Sending metrics to remote endpoint"
|
||||
);
|
||||
self.post(self.monitoring_endpoint.full.clone(), &metrics)
|
||||
.await
|
||||
|
||||
Reference in New Issue
Block a user