code: func (w *clientWrapper) Publish(ctx context.Context, p client.Message, opts ...client.PublishOption) (err error) {
  	t := newPublicationTracker(p, ClientProfile)
  	ctx = t.start(ctx, true)
  
  	defer func() { t.end(ctx, err) }()
  
  	ctx = injectTraceIntoCtx(ctx, t.span)
  
  	err = w.Client.Publish(ctx, p, opts...)
  	return
  }
docs: // Publish implements client.Client.Publish.