Skip to content

Commit

Permalink
Merged from master
Browse files Browse the repository at this point in the history
  • Loading branch information
asanchez1987 committed Mar 24, 2015
2 parents c894c0d + d052998 commit 7356672
Showing 1 changed file with 48 additions and 3 deletions.
51 changes: 48 additions & 3 deletions src/plugins/jobcomp/elasticsearch/jobcomp_elasticsearch.c
Original file line number Diff line number Diff line change
Expand Up @@ -745,7 +745,8 @@ extern int slurm_jobcomp_log_record(struct job_record *job_ptr)
}
}

char *tmp = xmalloc(256);
int tmp_size = 256;
char *tmp = xmalloc(tmp_size * sizeof(char));

sprintf(tmp, ",\"cpu_hours\":%.6f",
((float) elapsed_time * (float) job_ptr->total_cpus) /
Expand All @@ -770,6 +771,10 @@ extern int slurm_jobcomp_log_record(struct job_record *job_ptr)
&& (job_ptr->details->work_dir != NULL
&& strlen(job_ptr->details->work_dir) > 0)) {
work_dir = job_ptr->details->work_dir;
if ((strlen(work_dir)+14+1) > tmp_size) {
tmp_size = strlen(work_dir) + 14 + 1;
xrealloc(tmp, sizeof(char) * tmp_size);
}
sprintf(tmp, ",\"work_dir\":\"%s\"", work_dir);
xstrcat(buffer, tmp);
}
Expand All @@ -778,6 +783,10 @@ extern int slurm_jobcomp_log_record(struct job_record *job_ptr)
&& (job_ptr->details->std_err != NULL
&& strlen(job_ptr->details->std_err) > 0)) {
std_err = job_ptr->details->std_err;
if ((strlen(std_err)+13+1) > tmp_size) {
tmp_size = strlen(std_err) + 13 + 1;
xrealloc(tmp, sizeof(char) * tmp_size);
}
sprintf(tmp, ",\"std_err\":\"%s\"", std_err);
xstrcat(buffer, tmp);
}
Expand All @@ -786,6 +795,10 @@ extern int slurm_jobcomp_log_record(struct job_record *job_ptr)
&& (job_ptr->details->std_in != NULL
&& strlen(job_ptr->details->std_in) > 0)) {
std_in = job_ptr->details->std_in;
if ((strlen(std_in)+12+1) > tmp_size) {
tmp_size = strlen(std_in) + 12 + 1;
xrealloc(tmp, sizeof(char) * tmp_size);
}
sprintf(tmp, ",\"std_in\":\"%s\"", std_in);
xstrcat(buffer, tmp);
}
Expand All @@ -794,6 +807,10 @@ extern int slurm_jobcomp_log_record(struct job_record *job_ptr)
&& (job_ptr->details->std_out != NULL
&& strlen(job_ptr->details->std_out) > 0)) {
std_out = job_ptr->details->std_out;
if ((strlen(std_out)+13+1) > tmp_size) {
tmp_size = strlen(std_out) + 13 + 1;
xrealloc(tmp, sizeof(char) * tmp_size);
}
sprintf(tmp, ",\"std_out\":\"%s\"", std_out);
xstrcat(buffer, tmp);
}
Expand Down Expand Up @@ -835,6 +852,10 @@ extern int slurm_jobcomp_log_record(struct job_record *job_ptr)
&& (job_ptr->details->orig_dependency != NULL
&& strlen(job_ptr->details->orig_dependency) > 0)) {
orig_dependency = job_ptr->details->orig_dependency;
if ((strlen(orig_dependency)+21+1) > tmp_size) {
tmp_size = strlen(orig_dependency) + 21 + 1;
xrealloc(tmp, sizeof(char) * tmp_size);
}
sprintf(tmp, ",\"orig_dependency\":\"%s\"", orig_dependency);
xstrcat(buffer, tmp);
}
Expand All @@ -843,6 +864,10 @@ extern int slurm_jobcomp_log_record(struct job_record *job_ptr)
&& (job_ptr->details->exc_nodes != NULL
&& strlen(job_ptr->details->exc_nodes) > 0)) {
exc_nodes = job_ptr->details->exc_nodes;
if ((strlen(exc_nodes)+20+1) > tmp_size) {
tmp_size = strlen(exc_nodes) + 20 + 1;
xrealloc(tmp, sizeof(char) * tmp_size);
}
sprintf(tmp, ",\"excluded_nodes\":\"%s\"", exc_nodes);
xstrcat(buffer, tmp);
}
Expand All @@ -853,17 +878,29 @@ extern int slurm_jobcomp_log_record(struct job_record *job_ptr)
}

if (job_ptr->resv_name != NULL && strlen(job_ptr->resv_name) > 0) {
if ((strlen(job_ptr->resv_name)+22+1) > tmp_size) {
tmp_size = strlen(job_ptr->resv_name) + 22 + 1;
xrealloc(tmp, sizeof(char) * tmp_size);
}
sprintf(tmp, ",\"reservation_name\":\"%s\"",
job_ptr->resv_name);
xstrcat(buffer, tmp);
}

if (job_ptr->gres_req != NULL && strlen(job_ptr->gres_req) > 0) {
if ((strlen(job_ptr->gres_req)+14+1) > tmp_size) {
tmp_size = strlen(job_ptr->gres_req) + 14 + 1;
xrealloc(tmp, sizeof(char) * tmp_size);
}
sprintf(tmp, ",\"gres_req\":\"%s\"", job_ptr->gres_req);
xstrcat(buffer, tmp);
}

if (job_ptr->gres_alloc != NULL && strlen(job_ptr->gres_alloc) > 0) {
if ((strlen(job_ptr->gres_alloc)+16+1) > tmp_size) {
tmp_size = strlen(job_ptr->gres_alloc) + 16 + 1;
xrealloc(tmp, sizeof(char) * tmp_size);
}
sprintf(tmp, ",\"gres_alloc\":\"%s\"", job_ptr->gres_alloc);
xstrcat(buffer, tmp);
}
Expand All @@ -876,7 +913,10 @@ extern int slurm_jobcomp_log_record(struct job_record *job_ptr)
script = get_job_script(job_ptr);
if (script != NULL && strlen(script) > 0) {
script_str = _json_escape(script);
xrealloc(tmp, sizeof(char) * strlen(script_str) + 1 + 12);
if ((strlen(script_str)+12+1) > tmp_size) {
tmp_size = strlen(script_str) + 12 + 1;
xrealloc(tmp, sizeof(char) * strlen(script_str) + 1 + 12);
}
sprintf(tmp, ",\"script\":\"%s\"", script_str);
xstrcat(buffer, tmp);
xfree(script_str);
Expand Down Expand Up @@ -919,6 +959,11 @@ extern int slurm_jobcomp_log_record(struct job_record *job_ptr)
xfree(acc_aux[i]);
}


if ((strlen(parent_accounts)+21+1) > tmp_size) {
tmp_size = strlen(parent_accounts) + 21 + 1;
xrealloc(tmp, sizeof(char) * tmp_size);
}
sprintf(tmp, ",\"parent_accounts\":\"%s\"", parent_accounts);
xstrcat(buffer, tmp);
xfree(acc_aux);
Expand All @@ -939,8 +984,8 @@ extern int slurm_jobcomp_log_record(struct job_record *job_ptr)
}
}

xfree(buffer);
xfree(tmp);
xfree(buffer);

return rc;
}
Expand Down

0 comments on commit 7356672

Please sign in to comment.