Monitoring an optical signal comprises sampling the optical signal from two or more distinct tap points to retrieve a sample set. Multiple such sample sets are obtained over time. A joint probability distribution or phase portrait of the sample sets is assessed for indications of optical signal quality. The tap distinction can be polarisation, for example to determine OSNR, or frequency. The tap distinction can be a time delay, which can enable diagnostic differentiation between multiple impairments, such as OSNR, dispersion, PMD, jitter, Q, and the like. Machine learning algorithms are particularly suitable for such diagnosis, particularly when provided a two dimensional histogram of sample density in the phase portrait.