Skip to content

Commit

Permalink
chore(query): add max_running_query_execute_time for status
Browse files Browse the repository at this point in the history
  • Loading branch information
zhang2014 committed Feb 27, 2024
1 parent 42db3ac commit d75bf52
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/query/service/src/sessions/session_mgr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ use std::sync::atomic::Ordering;
use std::sync::Arc;
use std::sync::Weak;
use std::time::Duration;
use std::time::SystemTime;

use databend_common_base::base::tokio;
use databend_common_base::base::GlobalInstance;
Expand Down Expand Up @@ -308,6 +309,7 @@ impl SessionManager {

let mut running_queries_count = 0;
let mut active_sessions_count = 0;
let mut max_running_query_execute_time = 0;

let active_sessions = self.active_sessions.read();
for session in active_sessions.values() {
Expand All @@ -318,12 +320,21 @@ impl SessionManager {
active_sessions_count += 1;
if session_ref.process_info().state == ProcessInfoState::Query {
running_queries_count += 1;
if let Some(shared) = session_ref.session_ctx.get_query_context_shared() {
let executed_time =
shared.get_created_time().duration_since(SystemTime::now());
let execute_time_seconds = executed_time.map(|x| x.as_secs()).unwrap_or(0);

max_running_query_execute_time =
std::cmp::max(max_running_query_execute_time, execute_time_seconds);
}
}
}
}

status_t.running_queries_count = running_queries_count;
status_t.active_sessions_count = active_sessions_count;
status_t.max_running_query_execute_time = max_running_query_execute_time;
status_t
}

Expand Down
2 changes: 2 additions & 0 deletions src/query/service/src/sessions/session_mgr_status.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ use std::time::SystemTime;
pub struct SessionManagerStatus {
pub running_queries_count: u64,
pub active_sessions_count: u64,
pub max_running_query_execute_time: u64,
pub last_query_started_at: Option<SystemTime>,
pub last_query_finished_at: Option<SystemTime>,
pub instance_started_at: SystemTime,
Expand All @@ -42,6 +43,7 @@ impl Default for SessionManagerStatus {
SessionManagerStatus {
running_queries_count: 0,
active_sessions_count: 0,
max_running_query_execute_time: 0,
last_query_started_at: None,
last_query_finished_at: None,
instance_started_at: SystemTime::now(),
Expand Down

0 comments on commit d75bf52

Please sign in to comment.