We discuss all-optical sampling techniques to capture optical waveforms with both high fidelity and time resolution. Different approaches are possible, each with associated performance - complexity trade-offs. We cover not only sampling of intensity waveforms but also complex modulation formats such as QPSK and 16-QAM and also discuss the distinctions between real time sampling and equivalent-time sampling