Browse Source

move registry out of metrics

0xfirefist 1 năm trước cách đây
mục cha
commit
d592370278
2 tập tin đã thay đổi với 7 bổ sung6 xóa
  1. 6 5
      apps/fortuna/src/api.rs
  2. 1 1
      apps/fortuna/src/api/metrics.rs

+ 6 - 5
apps/fortuna/src/api.rs

@@ -58,14 +58,15 @@ pub struct RequestLabel {
 }
 
 pub struct ApiMetrics {
-    pub metrics_registry: Arc<RwLock<Registry>>,
-    pub http_requests:    Family<RequestLabel, Counter>,
+    pub http_requests: Family<RequestLabel, Counter>,
 }
 
 #[derive(Clone)]
 pub struct ApiState {
     pub chains: Arc<HashMap<ChainId, BlockchainState>>,
 
+    pub metrics_registry: Arc<RwLock<Registry>>,
+
     /// Prometheus metrics
     pub metrics: Arc<ApiMetrics>,
 }
@@ -77,19 +78,19 @@ impl ApiState {
     ) -> ApiState {
         let metrics = ApiMetrics {
             http_requests: Family::default(),
-            metrics_registry,
         };
 
         let http_requests = metrics.http_requests.clone();
-        metrics.metrics_registry.write().await.register(
+        metrics_registry.write().await.register(
             "http_requests",
             "Number of HTTP requests received",
             http_requests,
         );
 
         ApiState {
-            chains:  Arc::new(chains),
+            chains: Arc::new(chains),
             metrics: Arc::new(metrics),
+            metrics_registry,
         }
     }
 }

+ 1 - 1
apps/fortuna/src/api/metrics.rs

@@ -9,7 +9,7 @@ use {
 };
 
 pub async fn metrics(State(state): State<crate::api::ApiState>) -> impl IntoResponse {
-    let registry = state.metrics.metrics_registry.read().await;
+    let registry = state.metrics_registry.read().await;
     let mut buffer = String::new();
 
     // Should not fail if the metrics are valid and there is memory available