Formatting
All checks were successful
Build Docker Image / nix-flake-check (push) Successful in 1m57s
Build Docker Image / docker-build (push) Successful in 2m29s
Build Docker Image / arm-docker-build (push) Successful in 6m14s

This commit is contained in:
Gabriel Simmer 2023-11-17 21:40:20 +00:00
parent d8e00da078
commit 464dba46a8
Signed by: arch
SSH key fingerprint: SHA256:m3OEcdtrnBpMX+2BDGh/byv3hrCekCLzDYMdvGEKPPQ
2 changed files with 47 additions and 37 deletions

View file

@ -1,4 +1,4 @@
use std::{io, env, fmt, error::Error}; use std::{env, error::Error, fmt, io};
use toml::{self, de}; use toml::{self, de};
#[derive(Debug)] #[derive(Debug)]

View file

@ -14,11 +14,11 @@ use prometheus::{
}; };
use reqwest::header::USER_AGENT; use reqwest::header::USER_AGENT;
use serde::Deserialize; use serde::Deserialize;
use vrchat_prometheus_adapter::WsError;
use std::collections::HashMap; use std::collections::HashMap;
use std::sync::OnceLock; use std::sync::OnceLock;
use std::{env, fs}; use std::{env, fs};
use url::Url; use url::Url;
use vrchat_prometheus_adapter::WsError;
static PLAYER_COUNT: OnceLock<GaugeVec> = OnceLock::new(); static PLAYER_COUNT: OnceLock<GaugeVec> = OnceLock::new();
static VRCDN_VIEWERS: OnceLock<GaugeVec> = OnceLock::new(); static VRCDN_VIEWERS: OnceLock<GaugeVec> = OnceLock::new();
@ -89,46 +89,56 @@ struct VrcWorldData {
} }
fn register_metrics() { fn register_metrics() {
let _ = PLAYER_COUNT.set( PLAYER_COUNT
.set(
register_gauge_vec!( register_gauge_vec!(
"vrchat_playercount", "vrchat_playercount",
"Current number viewers according to VRCDN's API.", "Current number viewers according to VRCDN's API.",
&["instance", "world", "name", "group"], &["instance", "world", "name", "group"],
) )
.unwrap(), .unwrap(),
); )
let _ = VRCDN_VIEWERS.set( .unwrap();
VRCDN_VIEWERS
.set(
register_gauge_vec!( register_gauge_vec!(
"vrcdn_viewers", "vrcdn_viewers",
"Current number viewers according to VRCDN's API.", "Current number viewers according to VRCDN's API.",
&["region", "group"], &["region", "group"],
) )
.unwrap(), .unwrap(),
); )
let _ = WORLD_VISITS.set( .unwrap();
WORLD_VISITS
.set(
register_int_counter_vec!( register_int_counter_vec!(
"vrchat_world_visits", "vrchat_world_visits",
"Number of times a world has been visited.", "Number of times a world has been visited.",
&["world", "name"], &["world", "name"],
) )
.unwrap(), .unwrap(),
); )
let _ = WORLD_OCCUPANTS.set( .unwrap();
WORLD_OCCUPANTS
.set(
register_gauge_vec!( register_gauge_vec!(
"vrchat_world_occupants", "vrchat_world_occupants",
"Occupants currently in the world", "Occupants currently in the world",
&["world", "name", "type"] &["world", "name", "type"]
) )
.unwrap(), .unwrap(),
); )
let _ = WORLD_FAVORITES.set( .unwrap();
WORLD_FAVORITES
.set(
register_int_counter_vec!( register_int_counter_vec!(
"vrchat_world_favorites", "vrchat_world_favorites",
"Number of times a world has been favorited.", "Number of times a world has been favorited.",
&["world", "name"], &["world", "name"],
) )
.unwrap(), .unwrap(),
); )
.unwrap();
} }
async fn load_config() -> Result<Config, WsError> { async fn load_config() -> Result<Config, WsError> {