What exactly is distributed tracing, and why is it important?