revert: Dockerdate stat refactor, inadvertently reduced update interval
This commit is contained in:
+11
-11
@@ -81,7 +81,7 @@ impl DockerData {
|
|||||||
|
|
||||||
/// Get a single docker stat in order to update mem and cpu usage
|
/// Get a single docker stat in order to update mem and cpu usage
|
||||||
/// don't take &self, so that can tokio::spawn into it's own thread
|
/// don't take &self, so that can tokio::spawn into it's own thread
|
||||||
/// remove from spawns hashmap when complete
|
/// remove if from spawns hashmap when complete
|
||||||
async fn update_container_stat(
|
async fn update_container_stat(
|
||||||
docker: Arc<Docker>,
|
docker: Arc<Docker>,
|
||||||
id: String,
|
id: String,
|
||||||
@@ -146,17 +146,19 @@ impl DockerData {
|
|||||||
let spawns = Arc::clone(&self.spawns);
|
let spawns = Arc::clone(&self.spawns);
|
||||||
let is_running = *is_running;
|
let is_running = *is_running;
|
||||||
let id = id.clone();
|
let id = id.clone();
|
||||||
let key = SpawnId::Stats(id.clone());
|
|
||||||
|
|
||||||
self.spawns.lock().entry(key).or_insert_with(|| {
|
let key = SpawnId::Stats(id.clone());
|
||||||
tokio::spawn(Self::update_container_stat(
|
let spawn_contains_id = spawns.lock().contains_key(&key);
|
||||||
|
let s = tokio::spawn(Self::update_container_stat(
|
||||||
docker,
|
docker,
|
||||||
id.clone(),
|
id.clone(),
|
||||||
app_data,
|
app_data,
|
||||||
is_running,
|
is_running,
|
||||||
spawns,
|
spawns,
|
||||||
))
|
));
|
||||||
});
|
if !spawn_contains_id {
|
||||||
|
self.spawns.lock().insert(key, s);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -250,12 +252,10 @@ impl DockerData {
|
|||||||
let app_data = Arc::clone(&self.app_data);
|
let app_data = Arc::clone(&self.app_data);
|
||||||
let spawns = Arc::clone(&self.spawns);
|
let spawns = Arc::clone(&self.spawns);
|
||||||
let key = SpawnId::Log(id.clone());
|
let key = SpawnId::Log(id.clone());
|
||||||
self.spawns.lock().insert(
|
let join_handle = tokio::spawn(Self::update_log(
|
||||||
key,
|
|
||||||
tokio::spawn(Self::update_log(
|
|
||||||
docker, id, timestamps, 0, app_data, spawns,
|
docker, id, timestamps, 0, app_data, spawns,
|
||||||
)),
|
));
|
||||||
);
|
self.spawns.lock().insert(key, join_handle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -106,6 +106,7 @@ async fn run_app<B: Backend + Send>(
|
|||||||
} else {
|
} else {
|
||||||
let mut now = Instant::now();
|
let mut now = Instant::now();
|
||||||
loop {
|
loop {
|
||||||
|
|
||||||
if terminal.draw(|f| ui(f, &app_data, &gui_state)).is_err() {
|
if terminal.draw(|f| ui(f, &app_data, &gui_state)).is_err() {
|
||||||
return Err(AppError::Terminal);
|
return Err(AppError::Terminal);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user