code: public String getDatanodeReport() {
      StringBuffer buffer = new StringBuffer();
      long c = getCapacity();
      long r = getRemaining();
      long u = getDfsUsed();
      long nonDFSUsed = getNonDfsUsed();
      float usedPercent = getDfsUsedPercent();
      float remainingPercent = getRemainingPercent();
  
      buffer.append("Name: "+name+"\n");
      if (!NetworkTopology.DEFAULT_RACK.equals(location)) {
        buffer.append("Rack: "+location+"\n");
      }
      buffer.append("Decommission Status : ");
      if (isDecommissioned()) {
        buffer.append("Decommissioned\n");
      } else if (isDecommissionInProgress()) {
        buffer.append("Decommission in progress\n");
      } else {
        buffer.append("Normal\n");
      }
      buffer.append("Configured Capacity: "+c+" ("+StringUtils.byteDesc(c)+")"+"\n");
      buffer.append("DFS Used: "+u+" ("+StringUtils.byteDesc(u)+")"+"\n");
      buffer.append("Non DFS Used: "+nonDFSUsed+" ("+StringUtils.byteDesc(nonDFSUsed)+")"+"\n");
      buffer.append("DFS Remaining: " +r+ "("+StringUtils.byteDesc(r)+")"+"\n");
      buffer.append("DFS Used%: "+StringUtils.limitDecimalTo2(usedPercent)+"%\n");
      buffer.append("DFS Remaining%: "+StringUtils.limitDecimalTo2(remainingPercent)+"%\n");
      buffer.append("Last contact: "+new Date(lastUpdate)+"\n");
      return buffer.toString();
    }
docs: A formatted string for reporting the status of the DataNode.