OpenTracing 基础:多语言下的分布式追踪实践
1. 多语言下组合多个 Span 到单个追踪
1.1 Go 语言示例
在 Go 语言中,我们可以通过以下代码来创建和管理 Span:
span = opentracing.GlobalTracer().StartSpan(
"get-person",
opentracing.ChildOf(span.Context()),
opentracing.Tag{Key: "db.statement", Value: query},
)
defer span.Finish()
...
}
func SayHello(name string, span opentracing.Span) (string, error) {
person, err := repo.GetPerson(name, span)
if err != nil {
return "", err
}
span.LogKV(...)
return FormatGreeting(
person.Name,
person.Title,
person.Description,
span,
), nil
}
上述代码中,我们首先使用 opentracing.GlobalTracer().StartSpan 方法创建一个名为 get-person 的 Span,并设置其为父
超级会员免费看
订阅专栏 解锁全文
25

被折叠的 条评论
为什么被折叠?



