From 45d6c6ba540beaaab2fd9d2703ef8b2ce0da0454 Mon Sep 17 00:00:00 2001 From: Aravinda VK Date: Tue, 22 Oct 2013 14:00:20 +0530 Subject: cli: runtime in xml output of rebalance/remove-brick status "runtime in secs" is available in the CLI output of rebalance status and remove-brick status, but not available in xml output when --xml is passed. runtime in aggregate section will be max of all nodes runtimes. Example output: 0 0 3 1 localhost 0 0 0 0 0 1.00 3 completed 0 0 0 0 0 1.00 3 completed BUG: 1012773 Change-Id: I6de59d4ed03983b6ffc014d6a331251cf635a690 Signed-off-by: Aravinda VK Reviewed-on: http://review.gluster.org/5997 Reviewed-by: Kaushal M Reviewed-on: http://review.gluster.org/6118 Tested-by: Gluster Build System Reviewed-by: Vijay Bellur --- cli/src/cli-xml-output.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/cli/src/cli-xml-output.c b/cli/src/cli-xml-output.c index f1ad681346c..81550ee689a 100644 --- a/cli/src/cli-xml-output.c +++ b/cli/src/cli-xml-output.c @@ -2982,6 +2982,8 @@ cli_xml_output_vol_rebalance_status (xmlTextWriterPtr writer, dict_t *dict) char key[1024] = {0,}; int i = 0; int overall_status = -1; + double elapsed = 0; + double overall_elapsed = 0; if (!dict) { ret = 0; @@ -3070,6 +3072,21 @@ cli_xml_output_vol_rebalance_status (xmlTextWriterPtr writer, dict_t *dict) (xmlChar *)"statusStr", "%s", cli_vol_task_status_str[status_rcd]); + + memset (key, 0, 256); + snprintf (key, 256, "run-time-%d", i); + ret = dict_get_double (dict, key, &elapsed); + if (ret) + goto out; + ret = xmlTextWriterWriteFormatElement (writer, + (xmlChar *)"runtime", + "%.2f", elapsed); + XML_RET_CHECK_AND_GOTO (ret, out); + + if (elapsed > overall_elapsed) { + overall_elapsed = elapsed; + } + if (-1 == overall_status) overall_status = status_rcd; else if ((GF_DEFRAG_STATUS_COMPLETE == overall_status || @@ -3113,6 +3130,10 @@ cli_xml_output_vol_rebalance_status (xmlTextWriterPtr writer, dict_t *dict) cli_vol_task_status_str[overall_status]); XML_RET_CHECK_AND_GOTO (ret, out); + ret = xmlTextWriterWriteFormatElement (writer,(xmlChar *)"runtime", + "%.2f", overall_elapsed); + XML_RET_CHECK_AND_GOTO (ret, out); + /* */ ret = xmlTextWriterEndElement (writer); XML_RET_CHECK_AND_GOTO (ret, out); -- cgit