func()

in proxy/handler/skywalking_handler.go [78:106]


func (sc *SkyWalkingConsumerHandler) Handle(chain *handler.Chain, i *invocation.Invocation, cb invocation.ResponseCallBack) {
	openlog.Debug(fmt.Sprintf("SkyWalkingConsumerHandler begin:%#v", *i))
	span, ctx, err := skywalking.CreateEntrySpan(i)
	if err != nil {
		openlog.Error(fmt.Sprintf("CreateEntrySpan error:%s", err.Error()))
	}
	spanExit, err := skywalking.CreateExitSpan(ctx, i)
	if err != nil {
		openlog.Error(fmt.Sprintf("CreateExitSpan error:%s", err.Error()))
	}
	chain.Next(i, func(r *invocation.Response) {
		cb(r)
		span.Tag(go2sky.TagHTTPMethod, i.Protocol)
		span.Tag(go2sky.TagURL, HTTPPrefix+i.MicroServiceName+i.URLPath)
		span.Tag(go2sky.TagStatusCode, strconv.Itoa(r.Status))
		span.SetSpanLayer(skycom.SpanLayer_Http)
		span.SetComponent(HTTPServerComponentID)

		spanExit.Tag(go2sky.TagHTTPMethod, i.Protocol)
		spanExit.Tag(go2sky.TagURL, HTTPPrefix+i.MicroServiceName+i.URLPath)
		spanExit.Tag(go2sky.TagStatusCode, strconv.Itoa(r.Status))
		spanExit.SetSpanLayer(skycom.SpanLayer_Http)
		spanExit.SetComponent(HTTPClientComponentID)

		spanExit.End()
		span.End()
		openlog.Debug("SkyWalkingConsumerHandler end.")
	})
}