Parcourir la source

Add process metrics.

master
rewby il y a 9 mois
Parent
révision
6fa349f3ef
Signé par: rewby ID de la clé GPG: 4C2B6D2972EE5423
1 fichiers modifiés avec 11 ajouts et 0 suppressions
  1. +11
    -0
      src/main.rs

+ 11
- 0
src/main.rs Voir le fichier

@@ -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(),


Chargement…
Annuler
Enregistrer