upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorDanConwayDev <DanConwayDev@protonmail.com>2025-12-04 15:17:04 +0000
committerDanConwayDev <DanConwayDev@protonmail.com>2025-12-04 15:24:19 +0000
commitfd0c87c787d0626b3546fa571541c9c809711821 (patch)
tree934f20d973127f380b807d2bd44b25c197cf349c /src/main.rs
parent762cd8e815e797f173f541795de774fbbf978fc3 (diff)
add prometheus metrics
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs
index f80e920..9200cc2 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,10 +1,14 @@
1use std::sync::Arc;
2
1use anyhow::Result; 3use anyhow::Result;
2use tracing::{info, Level}; 4use tracing::{info, Level};
3use tracing_subscriber::FmtSubscriber; 5use tracing_subscriber::FmtSubscriber;
4 6
5use ngit_grasp::{ 7use ngit_grasp::{
6 config::{Config, DatabaseBackend}, 8 config::{Config, DatabaseBackend},
7 http, nostr, 9 http,
10 metrics::Metrics,
11 nostr,
8}; 12};
9 13
10#[tokio::main] 14#[tokio::main]
@@ -29,6 +33,15 @@ async fn main() -> Result<()> {
29 } 33 }
30 info!("Database backend: {}", config.database_backend); 34 info!("Database backend: {}", config.database_backend);
31 35
36 // Initialize metrics if enabled
37 let metrics = if config.metrics_enabled {
38 info!("Metrics enabled on /metrics endpoint");
39 Some(Arc::new(Metrics::new(config.metrics_connection_per_ip_abuse_threshold)))
40 } else {
41 info!("Metrics disabled");
42 None
43 };
44
32 // Create Nostr relay with NIP-34 validation 45 // Create Nostr relay with NIP-34 validation
33 // Returns both the relay and database for direct queries in handlers 46 // Returns both the relay and database for direct queries in handlers
34 if let Ok(relay_with_db) = nostr::builder::create_relay(&config) { 47 if let Ok(relay_with_db) = nostr::builder::create_relay(&config) {
@@ -39,7 +52,7 @@ async fn main() -> Result<()> {
39 52
40 // Start HTTP server with integrated relay and database 53 // Start HTTP server with integrated relay and database
41 info!("Starting HTTP server on {}", config.bind_address); 54 info!("Starting HTTP server on {}", config.bind_address);
42 http::run_server(config, relay_with_db.relay, relay_with_db.database).await?; 55 http::run_server(config, relay_with_db.relay, relay_with_db.database, metrics).await?;
43 } 56 }
44 57
45 Ok(()) 58 Ok(())