@@ -21,7 +21,6 @@ use databend_common_catalog::table::DistributionLevel;
21
21
use databend_common_catalog:: table:: Table ;
22
22
use databend_common_catalog:: table_context:: TableContext ;
23
23
use databend_common_exception:: Result ;
24
- use databend_common_expression:: types:: Float64Type ;
25
24
use databend_common_expression:: types:: NumberDataType ;
26
25
use databend_common_expression:: types:: StringType ;
27
26
use databend_common_expression:: types:: TimestampType ;
@@ -124,18 +123,10 @@ impl QueryExecutionTable {
124
123
"process_rows" ,
125
124
TableDataType :: Number ( NumberDataType :: UInt64 ) ,
126
125
) ,
127
- TableField :: new(
128
- "process_rows_percentage" ,
129
- TableDataType :: Number ( NumberDataType :: Float64 ) ,
130
- ) ,
131
126
TableField :: new(
132
127
"process_time_in_micros" ,
133
128
TableDataType :: Number ( NumberDataType :: UInt64 ) ,
134
129
) ,
135
- TableField :: new(
136
- "process_time_percentage" ,
137
- TableDataType :: Number ( NumberDataType :: Float64 ) ,
138
- ) ,
139
130
] ) ;
140
131
141
132
let table_info = TableInfo {
@@ -177,18 +168,13 @@ impl QueryExecutionTable {
177
168
let mut timestamps = Vec :: new ( ) ;
178
169
let mut query_ids = Vec :: new ( ) ;
179
170
let mut process_rows = Vec :: new ( ) ;
180
- let mut process_rows_percentage = Vec :: new ( ) ;
181
171
let mut process_times = Vec :: new ( ) ;
182
- let mut process_time_percentage = Vec :: new ( ) ;
183
172
184
173
let empty_map = HashMap :: new ( ) ;
185
174
for timestamp in valid_time_range {
186
175
let rows_for_timestamp = rows_by_timestamp. get ( & timestamp) . unwrap_or ( & empty_map) ;
187
176
let times_for_timestamp = times_by_timestamp. get ( & timestamp) . unwrap_or ( & empty_map) ;
188
177
189
- let rows_percentage = calculate_percentage ( rows_for_timestamp) ;
190
- let times_percentage = calculate_percentage ( times_for_timestamp) ;
191
-
192
178
let mut all_query_ids = std:: collections:: HashSet :: new ( ) ;
193
179
all_query_ids. extend ( rows_for_timestamp. keys ( ) ) ;
194
180
all_query_ids. extend ( times_for_timestamp. keys ( ) ) ;
@@ -198,10 +184,7 @@ impl QueryExecutionTable {
198
184
timestamps. push ( timestamp as i64 * 1_000_000 ) ;
199
185
query_ids. push ( query_id. clone ( ) ) ;
200
186
process_rows. push ( rows_for_timestamp. get ( query_id) . copied ( ) . unwrap_or ( 0 ) ) ;
201
- process_rows_percentage. push ( rows_percentage. get ( query_id) . copied ( ) . unwrap_or ( 0.0 ) ) ;
202
187
process_times. push ( times_for_timestamp. get ( query_id) . copied ( ) . unwrap_or ( 0 ) ) ;
203
- process_time_percentage
204
- . push ( times_percentage. get ( query_id) . copied ( ) . unwrap_or ( 0.0 ) ) ;
205
188
}
206
189
}
207
190
@@ -210,29 +193,11 @@ impl QueryExecutionTable {
210
193
TimestampType :: from_data( timestamps) ,
211
194
StringType :: from_data( query_ids) ,
212
195
UInt32Type :: from_data( process_rows) ,
213
- Float64Type :: from_data( process_rows_percentage) ,
214
196
UInt32Type :: from_data( process_times) ,
215
- Float64Type :: from_data( process_time_percentage) ,
216
197
] )
217
198
}
218
199
}
219
200
220
- fn calculate_percentage ( data : & HashMap < String , u32 > ) -> HashMap < String , f64 > {
221
- let total: u32 = data. values ( ) . sum ( ) ;
222
- if total > 0 {
223
- data. iter ( )
224
- . map ( |( k, v) | {
225
- (
226
- k. clone ( ) ,
227
- ( ( * v as f64 / total as f64 ) * 10000.0 ) . round ( ) / 100.0 ,
228
- )
229
- } )
230
- . collect ( )
231
- } else {
232
- HashMap :: new ( )
233
- }
234
- }
235
-
236
201
fn aggregate_stats_by_timestamp (
237
202
stats_data : Vec < ( u32 , u32 ) > ,
238
203
query_id : & str ,
0 commit comments