prometheus_gbl_exporter/src/main.rs
2023-05-29 23:08:21 +02:00

33 lines
865 B
Rust

mod metric;
mod collectors;
use tiny_http::{Server, Response, Method};
use anyhow::{Context, Result};
use collectors::time;
fn main() -> Result<()> {
let server = Server::http("0.0.0.0:9100").unwrap();
for request in server.incoming_requests() {
if request.method() != &Method::Get || request.url() != "/metrics" {
let response = Response::from_string("Not Found").with_status_code(404);
request.respond(response)?;
continue;
}
println!("request! method: {:?}, url: {:?}, headers: {:?}",
request.method(),
request.url(),
request.headers()
);
let mut output = String::new();
output.push_str(&time::scrape().prometheus());
let response = Response::from_string(output);
request.respond(response)?;
}
Ok(())
}