| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package trace
- import (
- "context"
- "git.shuncheng.lu/bigthing/gocommon/pkg/internal/constant"
- "github.com/SkyAPM/go2sky"
- v3 "github.com/SkyAPM/go2sky/reporter/grpc/language-agent"
- )
- func NewMysqlExitSpan(ctx context.Context, dbName string) (go2sky.Span, error) {
- span, err := GinNewExitSpan(ctx, "MySQL", dbName, func(header string) error {
- // todo 目前不知道 mysql 如何传递 skywalking的header
- return nil
- })
- if span == nil || err != nil {
- return nil, err
- }
- span.SetSpanLayer(v3.SpanLayer_Database)
- span.SetComponent(MysqlComponentID)
- span.Tag("db.name", dbName)
- return span, nil
- }
- func SetMySqlExitSpan(ctx context.Context, span go2sky.Span) context.Context {
- if ctx == nil {
- ctx = context.Background()
- }
- if span == nil {
- return ctx
- }
- return context.WithValue(ctx, constant.DbSpanKey, span)
- }
- func GetMySqlExitSpan(ctx context.Context) go2sky.Span {
- if ctx == nil {
- return nil
- }
- span, _ := ctx.Value(constant.DbSpanKey).(go2sky.Span)
- return span
- }
|