Skip to content

apm.TransactionFromContext always nil #1637

Closed

Description

Describe the bug
I am using a combination of:
go.elastic.co/apm v1.15.0
go.elastic.co/apm/module/apmgin/v2 v2.6.0
go.elastic.co/apm/module/apmsql/v2 v2.6.0

apmgin and apmsql work
image

To Reproduce
Steps to reproduce the behavior:

gin middleware setting

engine := gin.New()
engine.Use(apmgin.Middleware(engine), middleware.Logger())

I try to get TraceID in middleware.Logger(),
Elastic Docs module/apmgin say [ For each request, a transaction is stored in the request context, which can be obtained via gin.Context.Request.Context() in your handler. ]

so in middleware.Logger()

var traceID string
tx := apm.TransactionFromContext(context.Request.Context())
if tx != nil {
    traceID = tx.TraceContext().Trace.String()
}

logger.Info( "request",
    zap.String("traceID", traceID),
    .... other field
)

tx always nil, so traceID always ""

Expected behavior
get the traceID

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions