tx.go
func (t *tx) StartExternal(host, name string) error {
	t.mtx.Lock()
	defer t.mtx.Unlock()

	id, err := t.Tracer.BeginExternalSegment(t.id, t.ss.Peek(), host, name)
	if err != nil {
		return err
	}
	t.ss.Push(id)
	return nil
}
func (t *tx) StartExternal(host, name string) error {
	t.mtx.Lock()
	defer t.mtx.Unlock()

	id, err := t.Tracer.BeginExternalSegment(t.id, t.ss.Peek(), host, name)
	if err != nil {
		return err
	}
	t.ss.Push(id)
	return nil
}
// StartExternal starts an external segment.