mirror of
https://github.com/coredns/coredns.git
synced 2025-11-02 02:03:13 -05:00
Remove the word middleware (#1067)
* Rename middleware to plugin first pass; mostly used 'sed', few spots where I manually changed text. This still builds a coredns binary. * fmt error * Rename AddMiddleware to AddPlugin * Readd AddMiddleware to remain backwards compat
This commit is contained in:
49
plugin/pprof/pprof.go
Normal file
49
plugin/pprof/pprof.go
Normal file
@@ -0,0 +1,49 @@
|
||||
// Package pprof implement a debug endpoint for getting profiles using the
|
||||
// go pprof tooling.
|
||||
package pprof
|
||||
|
||||
import (
|
||||
"log"
|
||||
"net"
|
||||
"net/http"
|
||||
pp "net/http/pprof"
|
||||
)
|
||||
|
||||
type handler struct {
|
||||
addr string
|
||||
ln net.Listener
|
||||
mux *http.ServeMux
|
||||
}
|
||||
|
||||
func (h *handler) Startup() error {
|
||||
ln, err := net.Listen("tcp", h.addr)
|
||||
if err != nil {
|
||||
log.Printf("[ERROR] Failed to start pprof handler: %s", err)
|
||||
return err
|
||||
}
|
||||
|
||||
h.ln = ln
|
||||
|
||||
h.mux = http.NewServeMux()
|
||||
h.mux.HandleFunc(path+"/", pp.Index)
|
||||
h.mux.HandleFunc(path+"/cmdline", pp.Cmdline)
|
||||
h.mux.HandleFunc(path+"/profile", pp.Profile)
|
||||
h.mux.HandleFunc(path+"/symbol", pp.Symbol)
|
||||
h.mux.HandleFunc(path+"/trace", pp.Trace)
|
||||
|
||||
go func() {
|
||||
http.Serve(h.ln, h.mux)
|
||||
}()
|
||||
return nil
|
||||
}
|
||||
|
||||
func (h *handler) Shutdown() error {
|
||||
if h.ln != nil {
|
||||
return h.ln.Close()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
const (
|
||||
path = "/debug/pprof"
|
||||
)
|
||||
Reference in New Issue
Block a user