Compare commits
	
		
			1 Commits
		
	
	
		
			f4ddd2f6df
			...
			c9476bc2b5
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| c9476bc2b5 | 
							
								
								
									
										42
									
								
								src/data.rs
									
									
									
									
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										42
									
								
								src/data.rs
									
									
									
									
									
								
							| @ -1452,7 +1452,7 @@ impl BrainData { | |||||||
|         let mut nodes = self.app_nodes.write().unwrap(); |         let mut nodes = self.app_nodes.write().unwrap(); | ||||||
|         let mut app_contracts = self.app_contracts.write().unwrap(); |         let mut app_contracts = self.app_contracts.write().unwrap(); | ||||||
|         for node in nodes.iter_mut() { |         for node in nodes.iter_mut() { | ||||||
|             if self.app_daemon_tx.contains_key(&node.node_pubkey) { |             if self.daemon_tx.contains_key(&node.node_pubkey) { | ||||||
|                 node.offline_minutes = 0; |                 node.offline_minutes = 0; | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
| @ -1501,17 +1501,8 @@ impl BrainData { | |||||||
|         log::debug!("Running app contracts cron..."); |         log::debug!("Running app contracts cron..."); | ||||||
|         { |         { | ||||||
|             let mut app_contracts = self.app_contracts.write().unwrap(); |             let mut app_contracts = self.app_contracts.write().unwrap(); | ||||||
|             let app_nodes = self.app_nodes.read().unwrap(); |  | ||||||
|             app_contracts.retain_mut(|c| { |             app_contracts.retain_mut(|c| { | ||||||
|                 let node = match app_nodes |                 let node = self.find_app_node_by_pubkey(&c.node_pubkey).unwrap(); | ||||||
|                     .iter() |  | ||||||
|                     .find(|n| n.node_pubkey == c.node_pubkey) |  | ||||||
|                     .cloned() |  | ||||||
|                 { |  | ||||||
|                     Some(n) => n, |  | ||||||
|                     None => return c.locked_nano > 0, |  | ||||||
|                 }; |  | ||||||
| 
 |  | ||||||
|                 if node.offline_minutes == 0 { |                 if node.offline_minutes == 0 { | ||||||
|                     let operator_wallet = node.operator_wallet.clone(); |                     let operator_wallet = node.operator_wallet.clone(); | ||||||
|                     let minutes_to_collect = (Utc::now() - c.collected_at).num_minutes() as u64; |                     let minutes_to_collect = (Utc::now() - c.collected_at).num_minutes() as u64; | ||||||
| @ -1733,32 +1724,3 @@ impl BrainData { | |||||||
|         self.app_contracts.write().unwrap().push(app_contracts); |         self.app_contracts.write().unwrap().push(app_contracts); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 |  | ||||||
| impl BrainData { |  | ||||||
|     pub fn metrics(&self) -> Result<String, Error> { |  | ||||||
|         let app_nodes_read = self.app_nodes.read().unwrap(); |  | ||||||
|         let app_node_no = app_nodes_read.len(); |  | ||||||
|         drop(app_nodes_read); |  | ||||||
|         let vm_nodes_read = self.vm_nodes.read().unwrap(); |  | ||||||
|         let vm_node_no = vm_nodes_read.len(); |  | ||||||
|         drop(vm_nodes_read); |  | ||||||
|         let app_contract_no = self.list_all_app_contracts().len(); |  | ||||||
|         let vm_contract_no = self.list_all_contracts().len(); |  | ||||||
|         let account_no = self.list_accounts().len(); |  | ||||||
|         let operator_no = self.list_operators().len(); |  | ||||||
|         let locations = String::from("wip"); |  | ||||||
| 
 |  | ||||||
|         let metrics = vec![ |  | ||||||
|             format!("app_nodes {app_node_no}"), |  | ||||||
|             format!("vm_nodes {vm_node_no}"), |  | ||||||
|             format!("app_contracts {app_contract_no}"), |  | ||||||
|             format!("vm_contracts {vm_contract_no}"), |  | ||||||
|             format!("operators {operator_no}"), |  | ||||||
|             format!("accounts {account_no}"), |  | ||||||
|             format!("locations {locations}"), |  | ||||||
|         ] |  | ||||||
|         .join("\n"); |  | ||||||
| 
 |  | ||||||
|         Ok(metrics) |  | ||||||
|     } |  | ||||||
| } |  | ||||||
|  | |||||||
| @ -20,7 +20,11 @@ pub async fn http_metrics_server(listen_address: SocketAddr, state: Arc<BrainDat | |||||||
| 
 | 
 | ||||||
| #[get("/metrics")] | #[get("/metrics")] | ||||||
| async fn homepage(data: web::Data<Arc<BrainData>>) -> impl Responder { | async fn homepage(data: web::Data<Arc<BrainData>>) -> impl Responder { | ||||||
|     let metrics_data = data.get_ref().metrics().unwrap_or_default(); |     let vm_contracts = data.get_ref().list_all_contracts(); | ||||||
| 
 |     let app_contracts = data.get_ref().list_all_app_contracts(); | ||||||
|     HttpResponse::Ok().body(metrics_data) |     let text = format!( | ||||||
|  |         "App contracts: {:#?}\n\nVM contracts: {:#?}", | ||||||
|  |         app_contracts, vm_contracts | ||||||
|  |     ); | ||||||
|  |     HttpResponse::Ok().body(text) | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user