anchor.diff:  du(_, _) ->
       gen_json([]).
   
  +compact_status({RestPids, InProgPids, LastStart}) ->
  +    StrLast = case LastStart of
  +        0 -> ?NULL_DATETIME;
  +        _ -> leo_date:date_format(LastStart)
  +    end,
  +    gen_json({[
  +               {last_compaction_start, list_to_binary(StrLast)},
  +               {rest_ob_jobs, RestPids},
  +               {ongoing_of_jobs, InProgPids}
  +              ]}).
   
   %% @doc Format s3-gen-key result
   %%
  
positive.code: 
  %% @doc Format storage stats
  %%
  -spec(du(summary | detail, {integer(), integer()} | list()) ->
               string()).
  du(summary, {_, Total}) ->
      gen_json({[{<<"total_of_objects">>, Total}]});
  
  du(detail, StatsList) when is_list(StatsList) ->
      JSON = lists:map(fun({ok, #storage_stats{file_path   = FilePath,
                                               total_num   = ObjTotal}}) ->
                               {[{<<"file_path">>,        list_to_binary(FilePath)},
                                 {<<"total_of_objects">>, ObjTotal}
                                ]};
                          (_) ->
                               []
  
negative.code: 
  -export([ok/0, error/1, error/2, help/0, version/1, login/2,
           bad_nodes/1, system_info_and_nodes_stat/1, node_stat/1,
           compact_status/1, du/2, s3_credential/2, s3_users/1, endpoints/1, buckets/1,
           whereis/1, histories/1
          ]).
  
  -define(NULL_DATETIME, "----/--/-- --:--:--").
  
  -define(output_ok(),           gen_json({[{result, <<"OK">>}]})).
  -define(output_error_1(Cause), gen_json({[{error, list_to_binary(Cause)}]})).
  