summaryrefslogtreecommitdiff
path: root/vendor/github.com/pkg/profile
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/pkg/profile')
-rw-r--r--vendor/github.com/pkg/profile/.travis.yml10
-rw-r--r--vendor/github.com/pkg/profile/AUTHORS1
-rw-r--r--vendor/github.com/pkg/profile/LICENSE24
-rw-r--r--vendor/github.com/pkg/profile/README.md54
-rw-r--r--vendor/github.com/pkg/profile/go.mod3
-rw-r--r--vendor/github.com/pkg/profile/profile.go284
6 files changed, 0 insertions, 376 deletions
diff --git a/vendor/github.com/pkg/profile/.travis.yml b/vendor/github.com/pkg/profile/.travis.yml
deleted file mode 100644
index fd72871e0..000000000
--- a/vendor/github.com/pkg/profile/.travis.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-language: go
-go_import_path: github.com/pkg/profile
-go:
- - 1.12.x
- - 1.13.x
- - tip
-
-script:
- - go test github.com/pkg/profile
- - go test -race github.com/pkg/profile
diff --git a/vendor/github.com/pkg/profile/AUTHORS b/vendor/github.com/pkg/profile/AUTHORS
deleted file mode 100644
index 00441d354..000000000
--- a/vendor/github.com/pkg/profile/AUTHORS
+++ /dev/null
@@ -1 +0,0 @@
-Dave Cheney <dave@cheney.net>
diff --git a/vendor/github.com/pkg/profile/LICENSE b/vendor/github.com/pkg/profile/LICENSE
deleted file mode 100644
index f747a8411..000000000
--- a/vendor/github.com/pkg/profile/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-Copyright (c) 2013 Dave Cheney. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/vendor/github.com/pkg/profile/README.md b/vendor/github.com/pkg/profile/README.md
deleted file mode 100644
index 37bfa58c5..000000000
--- a/vendor/github.com/pkg/profile/README.md
+++ /dev/null
@@ -1,54 +0,0 @@
-profile
-=======
-
-Simple profiling support package for Go
-
-[![Build Status](https://travis-ci.org/pkg/profile.svg?branch=master)](https://travis-ci.org/pkg/profile) [![GoDoc](http://godoc.org/github.com/pkg/profile?status.svg)](http://godoc.org/github.com/pkg/profile)
-
-
-installation
-------------
-
- go get github.com/pkg/profile
-
-usage
------
-
-Enabling profiling in your application is as simple as one line at the top of your main function
-
-```go
-import "github.com/pkg/profile"
-
-func main() {
- defer profile.Start().Stop()
- ...
-}
-```
-
-options
--------
-
-What to profile is controlled by config value passed to profile.Start.
-By default CPU profiling is enabled.
-
-```go
-import "github.com/pkg/profile"
-
-func main() {
- // p.Stop() must be called before the program exits to
- // ensure profiling information is written to disk.
- p := profile.Start(profile.MemProfile, profile.ProfilePath("."), profile.NoShutdownHook)
- ...
-}
-```
-
-Several convenience package level values are provided for cpu, memory, and block (contention) profiling.
-
-For more complex options, consult the [documentation](http://godoc.org/github.com/pkg/profile).
-
-contributing
-------------
-
-We welcome pull requests, bug fixes and issue reports.
-
-Before proposing a change, please discuss it first by raising an issue.
diff --git a/vendor/github.com/pkg/profile/go.mod b/vendor/github.com/pkg/profile/go.mod
deleted file mode 100644
index 2d82f3d84..000000000
--- a/vendor/github.com/pkg/profile/go.mod
+++ /dev/null
@@ -1,3 +0,0 @@
-module github.com/pkg/profile
-
-go 1.12
diff --git a/vendor/github.com/pkg/profile/profile.go b/vendor/github.com/pkg/profile/profile.go
deleted file mode 100644
index b9fdfcfd8..000000000
--- a/vendor/github.com/pkg/profile/profile.go
+++ /dev/null
@@ -1,284 +0,0 @@
-// Package profile provides a simple way to manage runtime/pprof
-// profiling of your Go application.
-package profile
-
-import (
- "io/ioutil"
- "log"
- "os"
- "os/signal"
- "path/filepath"
- "runtime"
- "runtime/pprof"
- "runtime/trace"
- "sync/atomic"
-)
-
-const (
- cpuMode = iota
- memMode
- mutexMode
- blockMode
- traceMode
- threadCreateMode
- goroutineMode
-)
-
-// Profile represents an active profiling session.
-type Profile struct {
- // quiet suppresses informational messages during profiling.
- quiet bool
-
- // noShutdownHook controls whether the profiling package should
- // hook SIGINT to write profiles cleanly.
- noShutdownHook bool
-
- // mode holds the type of profiling that will be made
- mode int
-
- // path holds the base path where various profiling files are written.
- // If blank, the base path will be generated by ioutil.TempDir.
- path string
-
- // memProfileRate holds the rate for the memory profile.
- memProfileRate int
-
- // closer holds a cleanup function that run after each profile
- closer func()
-
- // stopped records if a call to profile.Stop has been made
- stopped uint32
-}
-
-// NoShutdownHook controls whether the profiling package should
-// hook SIGINT to write profiles cleanly.
-// Programs with more sophisticated signal handling should set
-// this to true and ensure the Stop() function returned from Start()
-// is called during shutdown.
-func NoShutdownHook(p *Profile) { p.noShutdownHook = true }
-
-// Quiet suppresses informational messages during profiling.
-func Quiet(p *Profile) { p.quiet = true }
-
-// CPUProfile enables cpu profiling.
-// It disables any previous profiling settings.
-func CPUProfile(p *Profile) { p.mode = cpuMode }
-
-// DefaultMemProfileRate is the default memory profiling rate.
-// See also http://golang.org/pkg/runtime/#pkg-variables
-const DefaultMemProfileRate = 4096
-
-// MemProfile enables memory profiling.
-// It disables any previous profiling settings.
-func MemProfile(p *Profile) {
- p.memProfileRate = DefaultMemProfileRate
- p.mode = memMode
-}
-
-// MemProfileRate enables memory profiling at the preferred rate.
-// It disables any previous profiling settings.
-func MemProfileRate(rate int) func(*Profile) {
- return func(p *Profile) {
- p.memProfileRate = rate
- p.mode = memMode
- }
-}
-
-// MutexProfile enables mutex profiling.
-// It disables any previous profiling settings.
-func MutexProfile(p *Profile) { p.mode = mutexMode }
-
-// BlockProfile enables block (contention) profiling.
-// It disables any previous profiling settings.
-func BlockProfile(p *Profile) { p.mode = blockMode }
-
-// Trace profile enables execution tracing.
-// It disables any previous profiling settings.
-func TraceProfile(p *Profile) { p.mode = traceMode }
-
-// ThreadcreationProfile enables thread creation profiling..
-// It disables any previous profiling settings.
-func ThreadcreationProfile(p *Profile) { p.mode = threadCreateMode }
-
-// GoroutineProfile enables goroutine profiling.
-// It disables any previous profiling settings.
-func GoroutineProfile(p *Profile) { p.mode = goroutineMode }
-
-// ProfilePath controls the base path where various profiling
-// files are written. If blank, the base path will be generated
-// by ioutil.TempDir.
-func ProfilePath(path string) func(*Profile) {
- return func(p *Profile) {
- p.path = path
- }
-}
-
-// Stop stops the profile and flushes any unwritten data.
-func (p *Profile) Stop() {
- if !atomic.CompareAndSwapUint32(&p.stopped, 0, 1) {
- // someone has already called close
- return
- }
- p.closer()
- atomic.StoreUint32(&started, 0)
-}
-
-// started is non zero if a profile is running.
-var started uint32
-
-// Start starts a new profiling session.
-// The caller should call the Stop method on the value returned
-// to cleanly stop profiling.
-func Start(options ...func(*Profile)) interface {
- Stop()
-} {
- if !atomic.CompareAndSwapUint32(&started, 0, 1) {
- log.Fatal("profile: Start() already called")
- }
-
- var prof Profile
- for _, option := range options {
- option(&prof)
- }
-
- path, err := func() (string, error) {
- if p := prof.path; p != "" {
- return p, os.MkdirAll(p, 0777)
- }
- return ioutil.TempDir("", "profile")
- }()
-
- if err != nil {
- log.Fatalf("profile: could not create initial output directory: %v", err)
- }
-
- logf := func(format string, args ...interface{}) {
- if !prof.quiet {
- log.Printf(format, args...)
- }
- }
-
- switch prof.mode {
- case cpuMode:
- fn := filepath.Join(path, "cpu.pprof")
- f, err := os.Create(fn)
- if err != nil {
- log.Fatalf("profile: could not create cpu profile %q: %v", fn, err)
- }
- logf("profile: cpu profiling enabled, %s", fn)
- pprof.StartCPUProfile(f)
- prof.closer = func() {
- pprof.StopCPUProfile()
- f.Close()
- logf("profile: cpu profiling disabled, %s", fn)
- }
-
- case memMode:
- fn := filepath.Join(path, "mem.pprof")
- f, err := os.Create(fn)
- if err != nil {
- log.Fatalf("profile: could not create memory profile %q: %v", fn, err)
- }
- old := runtime.MemProfileRate
- runtime.MemProfileRate = prof.memProfileRate
- logf("profile: memory profiling enabled (rate %d), %s", runtime.MemProfileRate, fn)
- prof.closer = func() {
- pprof.Lookup("heap").WriteTo(f, 0)
- f.Close()
- runtime.MemProfileRate = old
- logf("profile: memory profiling disabled, %s", fn)
- }
-
- case mutexMode:
- fn := filepath.Join(path, "mutex.pprof")
- f, err := os.Create(fn)
- if err != nil {
- log.Fatalf("profile: could not create mutex profile %q: %v", fn, err)
- }
- runtime.SetMutexProfileFraction(1)
- logf("profile: mutex profiling enabled, %s", fn)
- prof.closer = func() {
- if mp := pprof.Lookup("mutex"); mp != nil {
- mp.WriteTo(f, 0)
- }
- f.Close()
- runtime.SetMutexProfileFraction(0)
- logf("profile: mutex profiling disabled, %s", fn)
- }
-
- case blockMode:
- fn := filepath.Join(path, "block.pprof")
- f, err := os.Create(fn)
- if err != nil {
- log.Fatalf("profile: could not create block profile %q: %v", fn, err)
- }
- runtime.SetBlockProfileRate(1)
- logf("profile: block profiling enabled, %s", fn)
- prof.closer = func() {
- pprof.Lookup("block").WriteTo(f, 0)
- f.Close()
- runtime.SetBlockProfileRate(0)
- logf("profile: block profiling disabled, %s", fn)
- }
-
- case threadCreateMode:
- fn := filepath.Join(path, "threadcreation.pprof")
- f, err := os.Create(fn)
- if err != nil {
- log.Fatalf("profile: could not create thread creation profile %q: %v", fn, err)
- }
- logf("profile: thread creation profiling enabled, %s", fn)
- prof.closer = func() {
- if mp := pprof.Lookup("threadcreate"); mp != nil {
- mp.WriteTo(f, 0)
- }
- f.Close()
- logf("profile: thread creation profiling disabled, %s", fn)
- }
-
- case traceMode:
- fn := filepath.Join(path, "trace.out")
- f, err := os.Create(fn)
- if err != nil {
- log.Fatalf("profile: could not create trace output file %q: %v", fn, err)
- }
- if err := trace.Start(f); err != nil {
- log.Fatalf("profile: could not start trace: %v", err)
- }
- logf("profile: trace enabled, %s", fn)
- prof.closer = func() {
- trace.Stop()
- logf("profile: trace disabled, %s", fn)
- }
-
- case goroutineMode:
- fn := filepath.Join(path, "goroutine.pprof")
- f, err := os.Create(fn)
- if err != nil {
- log.Fatalf("profile: could not create goroutine profile %q: %v", fn, err)
- }
- logf("profile: goroutine profiling enabled, %s", fn)
- prof.closer = func() {
- if mp := pprof.Lookup("goroutine"); mp != nil {
- mp.WriteTo(f, 0)
- }
- f.Close()
- logf("profile: goroutine profiling disabled, %s", fn)
- }
- }
-
- if !prof.noShutdownHook {
- go func() {
- c := make(chan os.Signal, 1)
- signal.Notify(c, os.Interrupt)
- <-c
-
- log.Println("profile: caught interrupt, stopping profiles")
- prof.Stop()
-
- os.Exit(0)
- }()
- }
-
- return &prof
-}