Span represents a execution unit in the system, with duration and many other attributes.
Span could be a method, a RPC, MQ message produce or consume.
In the practice, the span should be added when it is really necessary, to avoid payload overhead.
We recommend to creating spans in across process(client/server of RPC/MQ) and across thread cases only.