diff options
Diffstat (limited to 'src/webserver/rocket.rs')
| -rw-r--r-- | src/webserver/rocket.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/webserver/rocket.rs b/src/webserver/rocket.rs index ac7401b..78f592a 100644 --- a/src/webserver/rocket.rs +++ b/src/webserver/rocket.rs @@ -1,8 +1,15 @@ use rocket::response::content; use rocket::{State, get, post, request::Form, routes}; use rocket::response::NamedFile; +use rocket_contrib::json::Json; // use std::sync::Arc; use crate::webserver::model::*; +use sysinfo::{ + ProcessExt, + SystemExt, + System, + get_current_pid +}; pub async fn start_rocket() -> WispResult { // ctx: WispData rocket::ignite() @@ -22,3 +29,16 @@ pub fn icon() -> Option<NamedFile> { pub fn index() -> content::Json<&'static str> { content::Json("{\"message\": \"online\"}") } + +#[get("/")] +pub fn memory_usage() -> Json<&'static str> { + let sys = System::new(); + let mut response; + if let Some(process) = sys.get_process(get_current_pid()) { + // response = format!("{{\"message\": \"{}\"}}", process.memory()/1000); + } else { + response = "{\"message\": \"null\"}".to_string(); + } + + Json(Json(&response)) +} |