mirror of
https://codeberg.org/icewind/mitemp-prometheus.git
synced 2026-06-03 09:04:13 +02:00
better prometheus output
This commit is contained in:
parent
0619925304
commit
b3142457fd
1 changed files with 9 additions and 5 deletions
14
src/main.rs
14
src/main.rs
|
|
@ -9,12 +9,13 @@ async fn main() -> Result<(), MainError> {
|
||||||
let mut env: HashMap<String, String> = dotenv::vars().collect();
|
let mut env: HashMap<String, String> = dotenv::vars().collect();
|
||||||
let adapter = BDAddr::from_str(&env.remove("ADAPTER").ok_or("No ADDR set")?)
|
let adapter = BDAddr::from_str(&env.remove("ADAPTER").ok_or("No ADDR set")?)
|
||||||
.map_err(|_| "Invalid adapter address")?;
|
.map_err(|_| "Invalid adapter address")?;
|
||||||
let device = BDAddr::from_str(&env.remove("DEVICE").ok_or("No KEYFILE set")?)
|
let device = BDAddr::from_str(&env.remove("DEVICE").ok_or("No DEVICE set")?)
|
||||||
.map_err(|_| "Invalid device address")?;
|
.map_err(|_| "Invalid device address")?;
|
||||||
let port = env
|
let port = env
|
||||||
.get("PORT")
|
.get("PORT")
|
||||||
.and_then(|s| u16::from_str(s).ok())
|
.and_then(|s| u16::from_str(s).ok())
|
||||||
.unwrap_or(80);
|
.unwrap_or(80);
|
||||||
|
let name = env.remove("NAME").ok_or("No NAME set")?;
|
||||||
|
|
||||||
let adapter = adapter_by_mac(adapter).map_err(|_| "Adapter not found")?;
|
let adapter = adapter_by_mac(adapter).map_err(|_| "Adapter not found")?;
|
||||||
|
|
||||||
|
|
@ -22,15 +23,18 @@ async fn main() -> Result<(), MainError> {
|
||||||
|
|
||||||
let metrics = warp::path!("metrics").map(move || {
|
let metrics = warp::path!("metrics").map(move || {
|
||||||
let data = sensor.get_data();
|
let data = sensor.get_data();
|
||||||
|
if data.temperature == 0.0 || data.humidity == 0.0 {
|
||||||
|
return String::new();
|
||||||
|
}
|
||||||
if data.battery > 0 {
|
if data.battery > 0 {
|
||||||
format!(
|
format!(
|
||||||
"sensor_temperature {}\nsensor_humidity {}\nsensor_battery {}\n",
|
"sensor_temperature{{name=\"{name}\"}} {temperature}\nsensor_humidity{{name=\"{name}\"}} {humidity}\nsensor_battery{{name=\"{name}\"}} {battery}\n",
|
||||||
data.temperature, data.humidity, data.battery
|
name = name, temperature = data.temperature, humidity = data.humidity, battery = data.battery
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
format!(
|
format!(
|
||||||
"sensor_temperature {}\nsensor_humidity {}\n",
|
"sensor_temperature{{name=\"{name}\"}} {temperature}\nsensor_humidity{{name=\"{name}\"}} {humidity}\n",
|
||||||
data.temperature, data.humidity
|
name = name, temperature = data.temperature, humidity = data.humidity
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue