How to serve expvar when using gorilla/mux

2016-08-20

Code · Golang

1 minute

For personal reference:

package main
import (
"expvar"
"log"
"net/http"
"github.com/gorilla/mux"
)
var counter *expvar.Int
func init() {
counter = expvar.NewInt("counter")
}
func rootHandler(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Hello world!\n"))
counter.Add(1)
}
func main() {
r := mux.NewRouter()
r.HandleFunc("/", rootHandler)
r.Handle("/debug/vars", http.DefaultServeMux)
log.Fatal(http.ListenAndServe(":8000", r))
}
view raw expvar_mux.go hosted with ❤ by GitHub

Access root

http://localhost:8000

Access expvar information

http://localhost:8000/debug/vars