apm-agent-go: github.com/elastic/apm-agent-go/module/apmecho Index | Examples | Files

package apmecho

import "github.com/elastic/apm-agent-go/module/apmecho"

Package apmecho provides middleware for the Echo framework, for tracing HTTP requests.

Index

Examples

Package Files

doc.go middleware.go

func Middleware Uses

func Middleware(o ...Option) echo.MiddlewareFunc

Middleware returns a new Echo middleware handler for tracing requests and reporting errors.

This middleware will recover and report panics, so it can be used instead of echo/middleware.Recover.

By default, the middleware will use apm.DefaultTracer. Use WithTracer to specify an alternative tracer.

Code:

e := echo.New()
e.Use(apmecho.Middleware())

e.GET("/hello/:name", func(c echo.Context) error {
    // The request context contains an apm.Transaction,
    // so spans can be reported by passing the context
    // to apm.StartSpan.
    span, _ := apm.StartSpan(c.Request().Context(), "work", "custom")
    defer span.End()
    return nil
})

type Option Uses

type Option func(*options)

Option sets options for tracing.

func WithRequestIgnorer Uses

func WithRequestIgnorer(r apmhttp.RequestIgnorerFunc) Option

WithRequestIgnorer returns a Option which sets r as the function to use to determine whether or not a request should be ignored. If r is nil, all requests will be reported.

func WithTracer Uses

func WithTracer(t *apm.Tracer) Option

WithTracer returns an Option which sets t as the tracer to use for tracing server requests.

Package apmecho imports 8 packages (graph). Updated 2019-07-08. Refresh now. Tools for package owners.