Please use the Ftp.TransferProgressChanged event to log the number of transferred bytes and the time it took to transfer a file. See this sample code which demonstrates it:
Ftp ftp = new Ftp();
ftp.LogWriter = new FileLogWriter("log.txt", LogLevel.Info);
ftp.TransferProgressChanged += ftp_TransferProgressChanged;
ftp.Connect("test.rebex.net");
ftp.Login("demo", "password");
ftp.GetFile("/pub/test/test.zip", @"C:\temp\test.zip");
ftp.Disconnect();
void ftp_TransferProgressChanged(object sender, FtpTransferProgressChangedEventArgs e)
{
    if (e.TransferState == TransferProgressState.FileTransferred)
    {
        Ftp ftp = (Ftp)sender;
        if (ftp.LogWriter != null)
        {
            long seconds = 0;
            if(e.BytesPerSecond > 0)
                seconds = e.BytesTransferred / e.BytesPerSecond;
            ftp.LogWriter.Write(LogLevel.Info, typeof(Ftp), 0, "Status", string.Format("File transfer succeeded. Transfered {0} bytes in {1} seconds.", e.BytesTransferred, seconds));
        }
    }
}