aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/vendor/github.com/google/pprof/internal/plugin/plugin.go
diff options
context:
space:
mode:
authorAlberto Donizetti <alb.donizetti@gmail.com>2017-08-20 12:27:32 +0200
committerBrad Fitzpatrick <bradfitz@golang.org>2017-11-02 23:51:45 +0000
commitaec345d638fa624f08b7d758e9e173897edc80e8 (patch)
treed782d951af4f34de34a08c4775a37f869af25b81 /src/cmd/vendor/github.com/google/pprof/internal/plugin/plugin.go
parent3039bff9d07ce05dc9af8c155c6929ae5e53a231 (diff)
downloadgo-aec345d638fa624f08b7d758e9e173897edc80e8.tar.xz
cmd/vendor/github.com/google/pprof: refresh from upstream
Update vendored pprof to commit 4fc39a00b6b8c1aad05260f01429ec70e127252c from github.com/google/pprof (2017-11-01). Fixes #19380 Updates #21047 Change-Id: Ib64a94a45209039e5945acbcfa0392790c8ee41e Reviewed-on: https://go-review.googlesource.com/57370 Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/cmd/vendor/github.com/google/pprof/internal/plugin/plugin.go')
-rw-r--r--src/cmd/vendor/github.com/google/pprof/internal/plugin/plugin.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/cmd/vendor/github.com/google/pprof/internal/plugin/plugin.go b/src/cmd/vendor/github.com/google/pprof/internal/plugin/plugin.go
index d14ac2c215..e5878aed70 100644
--- a/src/cmd/vendor/github.com/google/pprof/internal/plugin/plugin.go
+++ b/src/cmd/vendor/github.com/google/pprof/internal/plugin/plugin.go
@@ -17,6 +17,7 @@ package plugin
import (
"io"
+ "net/http"
"regexp"
"time"
@@ -31,6 +32,16 @@ type Options struct {
Sym Symbolizer
Obj ObjTool
UI UI
+
+ // HTTPServer is a function that should block serving http requests,
+ // including the handlers specfied in args. If non-nil, pprof will
+ // invoke this function if necessary to provide a web interface.
+ //
+ // If HTTPServer is nil, pprof will use its own internal HTTP server.
+ //
+ // A common use for a custom HTTPServer is to provide custom
+ // authentication checks.
+ HTTPServer func(args *HTTPServerArgs) error
}
// Writer provides a mechanism to write data under a certain name,
@@ -185,3 +196,17 @@ type UI interface {
// the auto-completion of cmd, if the UI supports auto-completion at all.
SetAutoComplete(complete func(string) string)
}
+
+// HTTPServerArgs contains arguments needed by an HTTP server that
+// is exporting a pprof web interface.
+type HTTPServerArgs struct {
+ // Hostport contains the http server address (derived from flags).
+ Hostport string
+
+ Host string // Host portion of Hostport
+ Port int // Port portion of Hostport
+
+ // Handlers maps from URL paths to the handler to invoke to
+ // serve that path.
+ Handlers map[string]http.Handler
+}