func SetServerReportTags(tags ...string) {
	serverFilter.reportTags = append(serverFilter.reportTags, tags...)
}
SetServerReportTags adds report tags to server tracer spans.
package dubbo_go
import (
	"context"
	"errors"
	"sync"
	"time"
	"dubbo.apache.org/dubbo-go/v3/common/extension"
	"dubbo.apache.org/dubbo-go/v3/filter"
	"dubbo.apache.org/dubbo-go/v3/protocol"
	agentv3 "skywalking.apache.org/repo/goapi/collect/language/agent/v3"
	"github.com/SkyAPM/go2sky"
)
type side int
const (
	componentID = 3
	serverSide side = iota
	clientSide side = iota
)
var (
	errInvalidTracer = errors.New("invalid tracer")
)
func init() {
	defaultTracer, _ = go2sky.NewTracer("default-dubbo-go-tracer")
	extension.SetFilter("go2sky-tracing-client", GetClientTracingFilterSingleton)
	extension.SetFilter("go2sky-tracing-server", GetServerTracingFilterSingleton)
}
var defaultTracer *go2sky.Tracer
type tracingFilter struct {
	tracer     *go2sky.Tracer
	extraTags  map[string]string
	reportTags []string
	side       side
}
func SetClientTracer(tracer *go2sky.Tracer) error {
	if tracer == nil {
		return errInvalidTracer
	}
	clientFilter.tracer = tracer
	return nil
}
func SetServerTracer(tracer *go2sky.Tracer) error {
	if tracer == nil {
		return errInvalidTracer
	}
	serverFilter.tracer = tracer
	return nil
}
func SetClientExtraTags(key string, value string) {
	if clientFilter.extraTags == nil {
		clientFilter.extraTags = make(map[string]string)
	}
	clientFilter.extraTags[key] = value
}
func SetServerExtraTags(key string, value string) {
	if serverFilter.extraTags == nil {
		serverFilter.extraTags = make(map[string]string)
	}
	serverFilter.extraTags[key] = value
}
func SetClientReportTags(tags ...string) {
	clientFilter.reportTags = append(clientFilter.reportTags, tags...)
}