fgprof – github.com/felixge/fgprof Index | Files | Directories

package fgprof

import "github.com/felixge/fgprof"

fgprof is a sampling Go profiler that allows you to analyze On-CPU as well as [Off-CPU](http://www.brendangregg.com/offcpuanalysis.html) (e.g. I/O) time together.

Index

Functions

func Handler

func Handler() http.Handler

Handler returns an http handler that takes an optional "seconds" query argument that defaults to "30" and produces a profile over this duration. The optional "format" parameter controls if the output is written in Google's "pprof" format (default) or Brendan Gregg's "folded" stack format.

func Start

func Start(w io.Writer, format Format) func() error

Start begins profiling the goroutines of the program and returns a function that needs to be invoked by the caller to stop the profiling and write the results to w using the given format.

Types

type Format

type Format string

Format decides how the output is rendered to the user.

const (
	// FormatFolded is used by Brendan Gregg's FlameGraph utility, see
	// https://github.com/brendangregg/FlameGraph#2-fold-stacks.
	FormatFolded Format = "folded"
	// FormatPprof is used by Google's pprof utility, see
	// https://github.com/google/pprof/blob/master/proto/README.md.
	FormatPprof Format = "pprof"
)

Source Files

fgprof.go handler.go

Directories

PathSynopsis
example
Version
v0.9.5 (latest)
Published
Aug 30, 2024
Platform
linux/amd64
Imports
10 packages
Last checked
8 months ago

Tools for package owners.