Skip to main content
Version: Next

ExpVar

The ExpVar middleware exposes runtime variables over HTTP in JSON. Using it (e.g., app.Use(expvarmw.New())) registers handlers on /debug/vars.

Signatures

func New() fiber.Handler

Examples

Import the middleware package:

import (
"github.com/gofiber/fiber/v3"
expvarmw "github.com/gofiber/fiber/v3/middleware/expvar"
)

Once your Fiber app is initialized, use the middleware as shown:

var count = expvar.NewInt("count")

app.Use(expvarmw.New())
app.Get("/", func(c fiber.Ctx) error {
count.Add(1)

return c.SendString(fmt.Sprintf("hello expvar count %d", count.Value()))
})

Visit /debug/vars to see all variables, and append ?r=key to filter the output.

curl 127.0.0.1:3000
hello expvar count 1

curl 127.0.0.1:3000/debug/vars
{
"cmdline": ["xxx"],
"count": 1,
"expvarHandlerCalls": 33,
"expvarRegexpErrors": 0,
"memstats": {...}
}

curl 127.0.0.1:3000/debug/vars?r=c
{
"cmdline": ["xxx"],
"count": 1
}

Config

PropertyTypeDescriptionDefault
Nextfunc(fiber.Ctx) boolNext defines a function to skip this middleware when it returns true.nil

Default Config

var ConfigDefault = Config{
Next: nil,
}