Files
fiber/docs/middleware/expvar.md
Juan Calderon-PerezGitHubcoderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
e4737ee937 📒 docs: Full audit of documentation (#3717)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-08-29 12:34:19 +02:00

1.4 KiB

id
id
expvar

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

Property Type Description Default
Next func(fiber.Ctx) bool Next defines a function to skip this middleware when it returns true. nil

Default Config

var ConfigDefault = Config{
    Next: nil,
}