aboutsummaryrefslogtreecommitdiff
path: root/src/webserver/rocket.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/webserver/rocket.rs')
-rw-r--r--src/webserver/rocket.rs20
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))
+}