mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
enable veloren_network
metrics
This commit is contained in:
parent
42141b3aa3
commit
daffe8bee3
@ -274,16 +274,19 @@ impl Server {
|
||||
|
||||
let mut metrics = ServerMetrics::new();
|
||||
// register all metrics submodules here
|
||||
let tick_metrics = TickMetrics::new(metrics.registry(), metrics.tick_clone())
|
||||
let tick_metrics = TickMetrics::new(metrics.tick_clone())
|
||||
.expect("Failed to initialize server tick metrics submodule.");
|
||||
metrics
|
||||
.run(settings.metrics_address)
|
||||
.expect("Failed to initialize server metrics submodule.");
|
||||
tick_metrics
|
||||
.register(&metrics.registry())
|
||||
.expect("failed to register tick metrics");
|
||||
|
||||
let thread_pool = ThreadPoolBuilder::new()
|
||||
.name("veloren-worker".to_string())
|
||||
.build();
|
||||
let (network, f) = Network::new(Pid::new());
|
||||
let (network, f) = Network::new_with_registry(Pid::new(), &metrics.registry());
|
||||
metrics
|
||||
.run(settings.metrics_address)
|
||||
.expect("Failed to initialize server metrics submodule.");
|
||||
thread_pool.execute(f);
|
||||
block_on(network.listen(ProtocolAddr::Tcp(settings.gameserver_address)))?;
|
||||
|
||||
|
@ -33,7 +33,7 @@ pub struct ServerMetrics {
|
||||
}
|
||||
|
||||
impl TickMetrics {
|
||||
pub fn new(registry: &Registry, tick: Arc<AtomicU64>) -> Result<Self, Box<dyn Error>> {
|
||||
pub fn new(tick: Arc<AtomicU64>) -> Result<Self, Box<dyn Error>> {
|
||||
let player_online = IntGauge::with_opts(Opts::new(
|
||||
"player_online",
|
||||
"shows the number of clients connected to the server",
|
||||
@ -74,15 +74,6 @@ impl TickMetrics {
|
||||
.expect("Time went backwards");
|
||||
start_time.set(since_the_epoch.as_secs().try_into()?);
|
||||
|
||||
registry.register(Box::new(player_online.clone()))?;
|
||||
registry.register(Box::new(entity_count.clone()))?;
|
||||
registry.register(Box::new(build_info.clone()))?;
|
||||
registry.register(Box::new(start_time.clone()))?;
|
||||
registry.register(Box::new(time_of_day.clone()))?;
|
||||
registry.register(Box::new(chonks_count.clone()))?;
|
||||
registry.register(Box::new(chunks_count.clone()))?;
|
||||
registry.register(Box::new(tick_time.clone()))?;
|
||||
|
||||
Ok(Self {
|
||||
chonks_count,
|
||||
chunks_count,
|
||||
@ -97,6 +88,18 @@ impl TickMetrics {
|
||||
})
|
||||
}
|
||||
|
||||
pub fn register(&self, registry: &Registry) -> Result<(), Box<dyn Error>> {
|
||||
registry.register(Box::new(self.player_online.clone()))?;
|
||||
registry.register(Box::new(self.entity_count.clone()))?;
|
||||
registry.register(Box::new(self.build_info.clone()))?;
|
||||
registry.register(Box::new(self.start_time.clone()))?;
|
||||
registry.register(Box::new(self.time_of_day.clone()))?;
|
||||
registry.register(Box::new(self.chonks_count.clone()))?;
|
||||
registry.register(Box::new(self.chunks_count.clone()))?;
|
||||
registry.register(Box::new(self.tick_time.clone()))?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn is_100th_tick(&self) -> bool { self.tick.load(Ordering::Relaxed).rem_euclid(100) == 0 }
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user