From ce12b4b15a9f5494956e3de750296ba6007e829a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20Posp=C3=AD=C5=A1il?= Date: Sun, 23 Oct 2005 01:36:40 +0000 Subject: [PATCH] - compile with -rdynamic - change the binary name to glite-lb-statistics - strictly distinguish between stdout and stderr, verbose debug info goes to stderr, output XML to stdout --- org.glite.lb.utils/Makefile | 8 ++-- org.glite.lb.utils/src/lb_statistics.c | 76 +++++++++++++++++----------------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/org.glite.lb.utils/Makefile b/org.glite.lb.utils/Makefile index c51d057..c99910c 100644 --- a/org.glite.lb.utils/Makefile +++ b/org.glite.lb.utils/Makefile @@ -85,10 +85,10 @@ STATISTICS_OBJS:=lb_statistics.o default all: compile -compile: glite_lb_statistics +compile: glite-lb-statistics -glite_lb_statistics: ${STATISTICS_OBJS} - ${LINK} -o $@ ${STATISTICS_OBJS} ${JP_LIBS} ${EXT_LIBS} ${GLOBUS_LIBS} +glite-lb-statistics: ${STATISTICS_OBJS} + ${LINK} -rdynamic -o $@ ${STATISTICS_OBJS} ${JP_LIBS} ${EXT_LIBS} ${GLOBUS_LIBS} check: compile @@ -119,7 +119,7 @@ install: -mkdir -p ${PREFIX}/bin -mkdir -p ${PREFIX}/share/doc/${package}-${version} -mkdir -p ${PREFIX}/lib - ${INSTALL} -m 755 glite_lb_statistics ${PREFIX}/bin + ${INSTALL} -m 755 glite-lb-statistics ${PREFIX}/bin ${INSTALL} -m 644 ${top_srcdir}/LICENSE ${PREFIX}/share/doc/${package}-${version} if [ x${DOSTAGE} != xyes ]; then \ diff --git a/org.glite.lb.utils/src/lb_statistics.c b/org.glite.lb.utils/src/lb_statistics.c index fdf6dea..22fbac8 100644 --- a/org.glite.lb.utils/src/lb_statistics.c +++ b/org.glite.lb.utils/src/lb_statistics.c @@ -48,8 +48,8 @@ usage(char *program_name) { "Usage: %s [option]\n" "-h, --help display this help and exit\n" "-V, --version output version information and exit\n" - "-v, --verbose print extensive debug output\n" - "-f, --file port to listen\n\n", + "-v, --verbose print extensive debug output to stderr\n" + "-f, --file dump file to process\n\n", program_name); } @@ -72,7 +72,7 @@ int glite_jppsbe_pread(glite_jp_context_t ctx, void *handle, void *buf, size_t n int glite_jp_stack_error(glite_jp_context_t ctx, const glite_jp_error_t *jperror) { - printf("JP backend error %d: %s\n", jperror->code, jperror->desc); + fprintf(stderr,"lb_statistics: JP backend error %d: %s\n", jperror->code, jperror->desc); return 0; } @@ -131,19 +131,19 @@ int main(int argc, char *argv[]) /* load L&B plugin and its 'init' symbol */ if ((lib_handle = dlopen("glite_lb_plugin.so", RTLD_LAZY)) == NULL) { err = dlerror() ? :"unknown error"; - printf("can't load L&B plugin (%s)\n", err); + fprintf(stderr,"lb_statistics: can't load L&B plugin (%s)\n", err); return 1; } if ((plugin_init = dlsym(lib_handle, "init")) == NULL || (plugin_done = dlsym(lib_handle, "done")) == NULL) { - err = dlerror() ? :"unknown error"; - printf("can't find symbol 'init' or 'done' (%s)\n", err); + err = dlerror() ? : "unknown error"; + fprintf(stderr,"lb_statistics: can't find symbol 'init' or 'done' (%s)\n", err); goto err; } /* dump file with events */ if ((f = fopen(file, "rt")) == NULL) { - printf("Error: %s\n", strerror(errno)); + fprintf(stderr,"lb_statistics: Error: %s\n", strerror(errno)); goto err; } @@ -153,159 +153,159 @@ int main(int argc, char *argv[]) if (data_handle) { /* header */ - printf(""); - printf("\n\n"); + fprintf(stdout,"\n", attrval->value); + fprintf(stdout,"\tjobid=\"%s\"\n", attrval->value); free_attrs(attrval); } else { - printf("\tjobid=\"default\"\n>\n"); + fprintf(stdout,"\tjobid=\"default\"\n"); } - printf(">\n"); + fprintf(stdout,">\n"); + /* /header */ plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_ATTR_OWNER, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_aTag, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_rQType, &attrval); if (attrval) { - printf("\t%s\n", ctime(&attrval->timestamp)); + fprintf(stdout,"\t%s\n", ctime(&attrval->timestamp)); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_eDuration, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_eNodes, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_eProc, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_RB, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_CE, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_host, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_UIHost, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_CPUTime, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_NProc, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_finalStatus, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_finalStatusDate, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_finalStatusReason, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_LRMSDoneStatus, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_LRMSStatusReason, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_retryCount, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_additionalReason, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_jobType, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_nsubjobs, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_lastStatusHistory, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } plugin_data.ops.attr(jpctx, data_handle, GLITE_JP_LB_fullStatusHistory, &attrval); if (attrval) { - printf("\t%s\n", attrval->value); + fprintf(stdout,"\t%s\n", attrval->value); free_attrs(attrval); } - printf("\n"); + fprintf(stdout,"\n"); plugin_data.ops.close(jpctx, data_handle); } -- 1.8.2.3