parca

package
v0.21.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 27, 2024 License: Apache-2.0 Imports: 60 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LogFormatJSON = "json"
)

Variables

This section is empty.

Functions

func NewLogger

func NewLogger(logLevel, logFormat, debugName string) log.Logger

NewLogger returns a log.Logger that prints in the provided format at the provided level with a UTC timestamp and the caller of the log entry. If non empty, the debug name is also appended as a field to all log lines. Panics if the log level is not error, warn, info or debug. Log level is expected to be validated before passed to this function.

func Run

func Run(ctx context.Context, logger log.Logger, reg *prometheus.Registry, flags *Flags, version string) error

Run the parca server.

Types

type Flags

type Flags struct {
	ConfigPath       string        `default:"parca.yaml" help:"Path to config file."`
	Mode             string        `` /* 135-byte string literal not displayed */
	HTTPAddress      string        `default:":7070" help:"Address to bind HTTP server to."`
	HTTPReadTimeout  time.Duration `default:"5s" help:"Timeout duration for HTTP server to read request body."`
	HTTPWriteTimeout time.Duration `default:"1m" help:"Timeout duration for HTTP server to write response body."`
	Port             string        `default:"" help:"(DEPRECATED) Use http-address instead."`

	Logs FlagsLogs `embed:"" prefix:"log-"`
	OTLP FlagsOTLP `embed:"" prefix:"otlp-"`

	CORSAllowedOrigins []string `help:"Allowed CORS origins."`
	Version            bool     `help:"Show application version."`
	PathPrefix         string   `default:"" help:"Path prefix for the UI"`

	MutexProfileFraction int `default:"0" help:"Fraction of mutex profile samples to collect."`
	BlockProfileRate     int `default:"0" help:"Sample rate for block profile."`

	EnablePersistence bool `default:"false" help:"Turn on persistent storage for the metastore and profile storage."`

	Storage FlagsStorage `embed:"" prefix:"storage-"`

	Symbolizer FlagsSymbolizer `embed:"" prefix:"symbolizer-"`

	Debuginfo  FlagsDebuginfo  `embed:"" prefix:"debuginfo-"`
	Debuginfod FlagsDebuginfod `embed:"" prefix:"debuginfod-"`

	Metastore string `default:"badger" help:"Which metastore implementation to use" enum:"badger"`

	ProfileShareServer string `default:"api.pprof.me:443" help:"gRPC address to send share profile requests to."`

	StoreAddress       string            `kong:"help='gRPC address to send profiles and symbols to.'"`
	BearerToken        string            `kong:"help='Bearer token to authenticate with store.'"`
	BearerTokenFile    string            `kong:"help='File to read bearer token from to authenticate with store.'"`
	Insecure           bool              `kong:"help='Send gRPC requests via plaintext instead of TLS.'"`
	InsecureSkipVerify bool              `kong:"help='Skip TLS certificate verification.'"`
	ExternalLabel      map[string]string `kong:"help='Label(s) to attach to all profiles in scraper-only mode.'"`

	Hidden FlagsHidden `embed:"" prefix:""`
}

type FlagsDebuginfo added in v0.16.0

type FlagsDebuginfo struct {
	CacheDir          string        `default:"/tmp" help:"Path to directory where debuginfo is cached."`
	UploadMaxSize     int64         `default:"1000000000" help:"Maximum size of debuginfo upload in bytes."`
	UploadMaxDuration time.Duration `default:"15m" help:"Maximum duration of debuginfo upload."`
	UploadsSignedURL  bool          `default:"false" help:"Whether to use signed URLs for debuginfo uploads."`
}

FlagsDebuginfo configures the Parca Debuginfo client.

type FlagsDebuginfod added in v0.16.0

type FlagsDebuginfod struct {
	UpstreamServers    []string      `` /* 209-byte string literal not displayed */
	HTTPRequestTimeout time.Duration `default:"5m" help:"Timeout duration for HTTP request to upstream debuginfod server. Defaults to 5m"`
}

FlagsDebuginfod configures the Parca Debuginfo daemon / server.

type FlagsHidden added in v0.18.0

type FlagsHidden struct {
	DebugNormalizeAddresses bool `kong:"help='Normalize sampled addresses.',default='true',hidden=''"`
}

FlagsHidden contains hidden flags intended only for debugging.

type FlagsLogs added in v0.16.0

type FlagsLogs struct {
	Level  string `enum:"error,warn,info,debug" default:"info" help:"Log level."`
	Format string `enum:"logfmt,json" default:"logfmt" help:"Configure if structured logging as JSON or as logfmt"`
}

type FlagsOTLP added in v0.19.0

type FlagsOTLP struct {
	Address  string `help:"The endpoint to send OTLP traces to."`
	Exporter string `default:"grpc"                              enum:"grpc,http,stdout" help:"The OTLP exporter to use."`
}

FlagsOTLP provides OTLP configuration flags.

type FlagsStorage added in v0.16.0

type FlagsStorage struct {
	ActiveMemory        int64  `default:"536870912" help:"Amount of memory to use for active storage. Defaults to 512MB."`
	Path                string `default:"data" help:"Path to storage directory."`
	EnableWAL           bool   `default:"false" help:"Enables write ahead log for profile storage."`
	SnapshotTriggerSize int64  `` /* 139-byte string literal not displayed */
	RowGroupSize        int    `` /* 145-byte string literal not displayed */
	IndexOnDisk         bool   `` /* 131-byte string literal not displayed */
}

type FlagsSymbolizer added in v0.16.0

type FlagsSymbolizer struct {
	DemangleMode  string `` /* 159-byte string literal not displayed */
	NumberOfTries int    `default:"3" help:"Number of tries to attempt to symbolize an unsybolized location"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL