forked from github-starred/komodo
add cpu freq and avg system load
This commit is contained in:
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -1472,7 +1472,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "monitor_cli"
|
||||
version = "0.1.5"
|
||||
version = "0.1.6"
|
||||
dependencies = [
|
||||
"async_timing_util",
|
||||
"clap",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "monitor_cli"
|
||||
version = "0.1.5"
|
||||
version = "0.1.6"
|
||||
edition = "2021"
|
||||
authors = ["MoghTech"]
|
||||
description = "monitor cli | tools to setup monitor system"
|
||||
|
||||
@@ -172,7 +172,7 @@ pub fn start_mongo(sub_matches: &ArgMatches) {
|
||||
println!("pressed another button, exiting");
|
||||
}
|
||||
|
||||
let command = format!("docker run -d --name {name} -p {port}:27017 --network {network} -v {mount}:/data/db{env} --restart {restart} mongo --quiet");
|
||||
let command = format!("docker stop {name} && docker container rm {name} && docker run -d --name {name} -p {port}:27017 --network {network} -v {mount}:/data/db{env} --restart {restart} mongo --quiet");
|
||||
|
||||
let output = run_command_pipe_to_terminal(&command);
|
||||
|
||||
@@ -238,7 +238,7 @@ pub fn start_core(sub_matches: &ArgMatches) {
|
||||
println!("pressed another button, exiting");
|
||||
}
|
||||
|
||||
let command = format!("docker run -d --name {name} -p {port}:9000 --network {network} -v {config_path}:/config/config.toml --restart {restart} --add-host host.docker.internal:host-gateway {CORE_IMAGE_NAME}");
|
||||
let command = format!("docker stop {name} && docker container rm {name} && docker pull {CORE_IMAGE_NAME} && docker run -d --name {name} -p {port}:9000 --network {network} -v {config_path}:/config/config.toml --restart {restart} --add-host host.docker.internal:host-gateway {CORE_IMAGE_NAME}");
|
||||
|
||||
let output = run_command_pipe_to_terminal(&command);
|
||||
|
||||
@@ -438,7 +438,7 @@ pub fn start_periphery_container(sub_matches: &ArgMatches) {
|
||||
println!("pressed another button, exiting");
|
||||
}
|
||||
|
||||
let command = format!("docker run -d --name {name} -p {port}:8000 --network {network} -v {config_path}:/config/config.toml -v {repo_dir}:/repos -v /var/run/docker.sock:/var/run/docker.sock --restart {restart} {PERIPHERY_IMAGE_NAME}");
|
||||
let command = format!("docker stop {name} && docker container rm {name} && docker pull {PERIPHERY_IMAGE_NAME} && docker run -d --name {name} -p {port}:8000 --network {network} -v {config_path}:/config/config.toml -v {repo_dir}:/repos -v /var/run/docker.sock:/var/run/docker.sock --restart {restart} {PERIPHERY_IMAGE_NAME}");
|
||||
|
||||
let output = run_command_pipe_to_terminal(&command);
|
||||
|
||||
|
||||
@@ -14,9 +14,11 @@ import Loading from "../shared/loading/Loading";
|
||||
import SimpleTabs from "../shared/tabs/SimpleTabs";
|
||||
import {
|
||||
CpuChart,
|
||||
CpuFreqChart,
|
||||
DiskChart,
|
||||
DiskReadChart,
|
||||
DiskWriteChart,
|
||||
LoadChart,
|
||||
MemChart,
|
||||
NetworkRecvChart,
|
||||
NetworkSentChart,
|
||||
@@ -65,7 +67,9 @@ const HistoricalStats: Component<{
|
||||
title: "basic",
|
||||
element: () => (
|
||||
<Grid class={s.Charts}>
|
||||
<LoadChart stats={stats} />
|
||||
<CpuChart stats={stats} />
|
||||
<CpuFreqChart stats={stats} />
|
||||
<MemChart stats={stats} />
|
||||
<DiskChart stats={stats} />
|
||||
</Grid>
|
||||
|
||||
@@ -2,7 +2,8 @@ use anyhow::{anyhow, Context};
|
||||
use futures_util::{SinkExt, StreamExt};
|
||||
use monitor_types::{
|
||||
BasicContainerInfo, HistoricalStatsQuery, ImageSummary, Log, Network, Server,
|
||||
ServerActionState, ServerWithStatus, SystemStats, SystemStatsQuery, SystemStatsRecord, SystemInformation,
|
||||
ServerActionState, ServerWithStatus, SystemInformation, SystemStats, SystemStatsQuery,
|
||||
SystemStatsRecord,
|
||||
};
|
||||
use serde_json::{json, Value};
|
||||
use tokio::{
|
||||
@@ -86,22 +87,27 @@ impl MonitorClient {
|
||||
.context("failed at update server")
|
||||
}
|
||||
|
||||
pub async fn get_server_version(
|
||||
&self,
|
||||
server_id: &str
|
||||
) -> anyhow::Result<String> {
|
||||
self.get(&format!("/api/server/{server_id}/version"), Option::<()>::None)
|
||||
.await
|
||||
.context(format!("failed to get server version at id {server_id}"))
|
||||
pub async fn get_server_version(&self, server_id: &str) -> anyhow::Result<String> {
|
||||
self.get(
|
||||
&format!("/api/server/{server_id}/version"),
|
||||
Option::<()>::None,
|
||||
)
|
||||
.await
|
||||
.context(format!("failed to get server version at id {server_id}"))
|
||||
}
|
||||
|
||||
pub async fn get_server_system_information(
|
||||
&self,
|
||||
server_id: &str
|
||||
server_id: &str,
|
||||
) -> anyhow::Result<SystemInformation> {
|
||||
self.get(&format!("/api/server/{server_id}/system_information"), Option::<()>::None)
|
||||
.await
|
||||
.context(format!("failed to get server system information at id {server_id}"))
|
||||
self.get(
|
||||
&format!("/api/server/{server_id}/system_information"),
|
||||
Option::<()>::None,
|
||||
)
|
||||
.await
|
||||
.context(format!(
|
||||
"failed to get server system information at id {server_id}"
|
||||
))
|
||||
}
|
||||
|
||||
pub async fn get_server_stats(
|
||||
|
||||
@@ -262,10 +262,10 @@ pub struct SystemStatsRecord {
|
||||
pub ts: f64, // unix ts milliseconds
|
||||
#[serde(default)]
|
||||
pub system_load: f64,
|
||||
pub cpu_perc: f32, // in %
|
||||
pub cpu_perc: f32, // in %
|
||||
#[serde(default)]
|
||||
pub cpu_freq_mhz: f64, // in MHz
|
||||
pub mem_used_gb: f64, // in GB
|
||||
pub mem_used_gb: f64, // in GB
|
||||
pub mem_total_gb: f64, // in GB
|
||||
pub disk: DiskUsage,
|
||||
#[serde(default)]
|
||||
|
||||
Reference in New Issue
Block a user