Monotonic time — это время, которое всегда идёт вперёд, даже если системные часы перевели. Обычные wall clock часы могут прыгнуть назад (NTP синхронизация, перевод времени). Monotonic clock только растёт. В Go time.Now() автоматически захватывает оба значения. Когда считаешь time.Since(start) или end.Sub(start), Go использует monotonic часть — поэтому замеры производительности точные. Если сериализуешь время или сравниваешь с БД — используется wall clock. Это сделано максимально прозрачно, обычно тебе не нужно об этом думать.