in our link level simulator, the transmission of data symbols over a wireless channel is implemented very detailed on a sample basis. In each subframe (TTI), a certain number of random bits is physical layer processed to obtain a complex valued time domain signal which is transmitted over a channel. At the receiver side, the received signal is again processed to obtain received bits again. Within this physical layer processing, a CRC check is performed. At the receiver, this check tells if a packet is received correctly or not. In case HARQ is used (downlink only) re-transmissions may occur, leading to an actual packet delay.
In the simulation results you will find how many bits per TTI were transmitted and if the decoding failed or not. For a certain size of a packet, you could user this information to extract how long it takes to transmit a certain package on average, over a certain channel model at a certain SNR.
On downlink, there are also some traffic models implemented, however, they are not very evolved.