> (you don't have to strictly follow this form)

**Use case**

Support manually snapshot for Keeper.

**Describe the solution you'd like**

Throught 4lw commands, such as `csnp`.


print(ret, "packets_received", stats.getPacketsReceived());
    print(ret, "packets_sent", stats.getPacketsSent());
    print(ret, "num_alive_connections", keeper_info.alive_connections_count);
    print(ret, "outstanding_requests", keeper_info.outstanding_requests_count);
    print(ret, "server_state", keeper_info.getRole());
    print(ret, "znode_count", state_machine.getNodesCount());
    print(ret, "watch_count", state_machine.getTotalWatchesCount());
    print(ret, "ephemerals_count", state_machine.getTotalEphemeralNodesCount());
    print(ret, "approximate_data_size", state_machine.getApproximateDataSize());
    print(ret, "key_arena_size", state_machine.getKeyArenaSize());
    print(ret, "latest_snapshot_size", state_machine.getLatestSnapshotBufSize());
#if defined(OS_LINUX) || defined(OS_DARWIN)
    print(ret, "open_file_descriptor_count", getCurrentProcessFDCount());
    print(ret, "max_file_descriptor_count", getMaxFileDescriptorCount());
#endif
    if (keeper_info.is_leader)
    {
        print(ret, "followers", keeper_info.follower_count);
        print(ret, "synced_followers", keeper_info.synced_follower_count);
    }
    return ret.str();
}
String StatResetCommand::run()
{
    if (!keeper_dispatcher.isServerActive())
        return SERVER_NOT_ACTIVE_MSG;
    keeper_dispatcher.resetConnectionStats();
    return "Server stats reset.\n";
}
String NopCommand::run()