Browse Source

Add process metrics.

master
rewby 9 months ago
parent
commit
6fa349f3ef
Signed by: rewby GPG Key ID: 4C2B6D2972EE5423
1 changed files with 11 additions and 0 deletions
  1. +11
    -0
      src/main.rs

+ 11
- 0
src/main.rs View File

@@ -22,6 +22,13 @@ pub mod tracker_manager;
pub mod helpers;
pub mod metrics;

fn push_process_metrics_job(url: String) {
let mfs = prometheus::gather();
if let Err(e) = push_metrics("tracker-redis-exporter", HashMap::from([("instance".to_string(), "process".to_string())]), &url, mfs, None) {
warn!("Unable to push process metrics: {e}")
}
}

fn metric_refresh_job<T: MetricsProvider>(client_mgr: Arc<ClientManager>, project_mgr: Arc<TrackerInfoManager>, url: String, provider: Arc<T>) {
let start = SystemTime::now();
project_mgr.enabled_projects().into_par_iter().for_each({
@@ -101,6 +108,10 @@ pub fn main() -> color_eyre::Result<()> {
.seconds()?
.run_two_args(&mut schedule, projects_refresh_job, client_mgr.clone(), project_mgr.clone())?;

every(10)
.seconds()?
.run_one_arg(&mut schedule, push_process_metrics_job, p_url.clone())?;

spawn_metrics_job(
args.project_metrics_refresh_interval,
client_mgr.clone(),


Loading…
Cancel
Save