Skip to content

Commit 947e049

Browse files
committed
add timeTaken to query response
1 parent d9da876 commit 947e049

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

src/handlers/http/query.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ pub struct Query {
6767
}
6868

6969
pub async fn query(req: HttpRequest, query_request: Query) -> Result<HttpResponse, QueryError> {
70+
let start = Instant::now();
7071
let session_state = QUERY_SESSION.state();
7172
let raw_logical_plan = match session_state
7273
.create_logical_plan(&query_request.query)
@@ -132,12 +133,13 @@ pub async fn query(req: HttpRequest, query_request: Query) -> Result<HttpRespons
132133
}
133134

134135
let (records, fields) = execute(query, &table_name).await?;
135-
136+
let total_time = format!("{:?}", start.elapsed());
136137
let response = QueryResponse {
137138
records,
138139
fields,
139140
fill_null: query_request.send_null,
140141
with_fields: query_request.fields,
142+
total_time,
141143
}
142144
.to_http()?;
143145

src/response.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ pub struct QueryResponse {
2828
pub fields: Vec<String>,
2929
pub fill_null: bool,
3030
pub with_fields: bool,
31+
pub total_time: String,
3132
}
3233

3334
impl QueryResponse {
@@ -49,10 +50,14 @@ impl QueryResponse {
4950
let response = if self.with_fields {
5051
json!({
5152
"fields": self.fields,
52-
"records": values
53+
"records": values,
54+
"totalTime": self.total_time
5355
})
5456
} else {
55-
Value::Array(values)
57+
json!({
58+
"records": values,
59+
"totalTime": self.total_time
60+
})
5661
};
5762

5863
Ok(HttpResponse::Ok().json(response))

0 commit comments

Comments
 (0)