代码拉取完成,页面将自动刷新
package opentracing
import (
"fmt"
"sync"
"github.com/AsynkronIT/protoactor-go/actor"
"github.com/opentracing/opentracing-go"
)
var activeSpan = sync.Map{}
func getActiveSpan(pid *actor.PID) opentracing.Span {
value, ok := activeSpan.Load(pid)
if !ok {
return nil
}
return value.(opentracing.Span)
}
func clearActiveSpan(pid *actor.PID) {
activeSpan.Delete(pid)
}
func setActiveSpan(pid *actor.PID, span opentracing.Span) {
activeSpan.Store(pid, span)
}
func GetActiveSpan(context actor.Context) opentracing.Span {
span := getActiveSpan(context.Self())
if span == nil {
// TODO: Fix finding the real span always or handle no-span better on receiving side
span = opentracing.StartSpan(fmt.Sprintf("%T/%T", context.Actor(), context.Message()))
}
return span
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。