|
Lines 47-60
Link Here
|
| 47 |
#include "src/common/uid.h" |
47 |
#include "src/common/uid.h" |
| 48 |
#include "src/common/xmalloc.h" |
48 |
#include "src/common/xmalloc.h" |
| 49 |
#include "src/common/xstring.h" |
49 |
#include "src/common/xstring.h" |
|
|
50 |
#include "sdiag.h" |
| 50 |
|
51 |
|
| 51 |
/******************** |
52 |
/******************** |
| 52 |
* Global Variables * |
53 |
* Global Variables * |
| 53 |
********************/ |
54 |
********************/ |
| 54 |
int sdiag_param = STAT_COMMAND_GET; |
55 |
struct sdiag_parameters params; |
| 55 |
bool sort_by_id = false; |
|
|
| 56 |
bool sort_by_time = false; |
| 57 |
bool sort_by_time2 = false; |
| 58 |
|
56 |
|
| 59 |
stats_info_response_msg_t *buf; |
57 |
stats_info_response_msg_t *buf; |
| 60 |
uint32_t *rpc_type_ave_time = NULL, *rpc_user_ave_time = NULL; |
58 |
uint32_t *rpc_type_ave_time = NULL, *rpc_user_ave_time = NULL; |
|
Lines 73-79
int main(int argc, char **argv)
Link Here
|
| 73 |
slurm_conf_init(NULL); |
71 |
slurm_conf_init(NULL); |
| 74 |
parse_command_line(argc, argv); |
72 |
parse_command_line(argc, argv); |
| 75 |
|
73 |
|
| 76 |
if (sdiag_param == STAT_COMMAND_RESET) { |
74 |
if (params.mode == STAT_COMMAND_RESET) { |
| 77 |
req.command_id = STAT_COMMAND_RESET; |
75 |
req.command_id = STAT_COMMAND_RESET; |
| 78 |
rc = slurm_reset_statistics((stats_info_request_msg_t *)&req); |
76 |
rc = slurm_reset_statistics((stats_info_request_msg_t *)&req); |
| 79 |
if (rc == SLURM_SUCCESS) |
77 |
if (rc == SLURM_SUCCESS) |
|
Lines 244-250
static void _sort_rpc(void)
Link Here
|
| 244 |
rpc_type_ave_time = xmalloc(sizeof(uint32_t) * buf->rpc_type_size); |
242 |
rpc_type_ave_time = xmalloc(sizeof(uint32_t) * buf->rpc_type_size); |
| 245 |
rpc_user_ave_time = xmalloc(sizeof(uint32_t) * buf->rpc_user_size); |
243 |
rpc_user_ave_time = xmalloc(sizeof(uint32_t) * buf->rpc_user_size); |
| 246 |
|
244 |
|
| 247 |
if (sort_by_id) { |
245 |
if (params.sort == SORT_ID) { |
| 248 |
for (i = 0; i < buf->rpc_type_size; i++) { |
246 |
for (i = 0; i < buf->rpc_type_size; i++) { |
| 249 |
for (j = i+1; j < buf->rpc_type_size; j++) { |
247 |
for (j = i+1; j < buf->rpc_type_size; j++) { |
| 250 |
if (buf->rpc_type_id[i] <= buf->rpc_type_id[j]) |
248 |
if (buf->rpc_type_id[i] <= buf->rpc_type_id[j]) |
|
Lines 283-289
static void _sort_rpc(void)
Link Here
|
| 283 |
buf->rpc_user_cnt[i]; |
281 |
buf->rpc_user_cnt[i]; |
| 284 |
} |
282 |
} |
| 285 |
} |
283 |
} |
| 286 |
} else if (sort_by_time) { |
284 |
} else if (params.sort == SORT_TIME) { |
| 287 |
for (i = 0; i < buf->rpc_type_size; i++) { |
285 |
for (i = 0; i < buf->rpc_type_size; i++) { |
| 288 |
for (j = i+1; j < buf->rpc_type_size; j++) { |
286 |
for (j = i+1; j < buf->rpc_type_size; j++) { |
| 289 |
if (buf->rpc_type_time[i] >= buf->rpc_type_time[j]) |
287 |
if (buf->rpc_type_time[i] >= buf->rpc_type_time[j]) |
|
Lines 322-328
static void _sort_rpc(void)
Link Here
|
| 322 |
buf->rpc_user_cnt[i]; |
320 |
buf->rpc_user_cnt[i]; |
| 323 |
} |
321 |
} |
| 324 |
} |
322 |
} |
| 325 |
} else if (sort_by_time2) { |
323 |
} else if (params.sort == SORT_TIME2) { |
| 326 |
for (i = 0; i < buf->rpc_type_size; i++) { |
324 |
for (i = 0; i < buf->rpc_type_size; i++) { |
| 327 |
if (buf->rpc_type_cnt[i]) { |
325 |
if (buf->rpc_type_cnt[i]) { |
| 328 |
rpc_type_ave_time[i] = buf->rpc_type_time[i] / |
326 |
rpc_type_ave_time[i] = buf->rpc_type_time[i] / |