diff options
| author | Aravinda VK <avishwan@redhat.com> | 2013-10-22 14:00:20 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vbellur@redhat.com> | 2013-10-24 04:06:46 -0700 | 
| commit | 45d6c6ba540beaaab2fd9d2703ef8b2ce0da0454 (patch) | |
| tree | 508bb087aa8ad577f845828dfa2273bbaf963df9 | |
| parent | 1ce54da9679c53d9e7af787a255ec0ad11aa1ac0 (diff) | |
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:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cliOutput>
  <opRet>0</opRet>
  <opErrno>0</opErrno>
  <opErrstr/>
  <volRebalance>
    <op>3</op>
    <nodeCount>1</nodeCount>
    <node>
      <nodeName>localhost</nodeName>
      <files>0</files>
      <size>0</size>
      <lookups>0</lookups>
      <failures>0</failures>
      <skipped>0</skipped>
      <runtime>1.00</runtime>
      <status>3</status>
      <statusStr>completed</statusStr>
    </node>
    <aggregate>
      <files>0</files>
      <size>0</size>
      <lookups>0</lookups>
      <failures>0</failures>
      <skipped>0</skipped>
      <runtime>1.00</runtime>
      <status>3</status>
      <statusStr>completed</statusStr>
    </aggregate>
  </volRebalance>
</cliOutput>
BUG: 1012773
Change-Id: I6de59d4ed03983b6ffc014d6a331251cf635a690
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: http://review.gluster.org/5997
Reviewed-by: Kaushal M <kaushal@redhat.com>
Reviewed-on: http://review.gluster.org/6118
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
| -rw-r--r-- | cli/src/cli-xml-output.c | 21 | 
1 files changed, 21 insertions, 0 deletions
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); +          /* </aggregate> */          ret = xmlTextWriterEndElement (writer);          XML_RET_CHECK_AND_GOTO (ret, out);  | 
