config

package
v0.25.0 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2022 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	LoadGen             LoadGen             `skip:"true" mapstructure:",squash"`
	PromQuery           PromQuery           `skip:"true" mapstructure:",squash"`
	Report              Report              `skip:"true" mapstructure:",squash"`
	DashboardScreenshot DashboardScreenshot `skip:"true" mapstructure:",squash"`
}

type DashboardScreenshot

type DashboardScreenshot struct {
	LogLevel       string `def:"info" desc:"log level: debug|info|warn|error" mapstructure:"log-level"`
	TimeoutSeconds int    `def:"300" desc:"timeout in seconds of each call"`

	GrafanaAddress string `def:"http://grafana:3000" desc:"address of the grafana instance"`
	DashboardUID   string `def:"QF9YgRbUbt3BA5Qd" desc:"UUID of the dashboard"`
	Destination    string `def:"fs" desc:"where to upload to: s3|fs"`
}

type FileConfiger

type FileConfiger interface{ ConfigFilePath() string }

type ImageReport

type ImageReport struct {
	GrafanaAddress string `def:"http://grafana:3000" desc:"address of the grafana instance"`
	DashboardUID   string `def:"QF9YgRbUbt3BA5Qd" desc:"UUID of the dashboard"`
	UploadType     string `def:"fs" desc:"where to upload to: s3|fs" mapstructure:"upload-type"`
	UploadBucket   string `def:"" desc:"bucket name if applicable" mapstructure:"upload-bucket"`
	UploadDest     string `def:"/report" desc:"name of the output directory" mapstructure:"upload-dest"`
	TimeoutSeconds int    `def:"300" desc:"timeout in seconds of each call"`
	LogLevel       string `def:"info" desc:"log level: debug|info|warn|error" mapstructure:"log-level"`
	From           int    `def:"0" desc:"timestamp"`
	To             int    `def:"0" desc:"timestamp"`
}

type LoadGen

type LoadGen struct {
	LogLevel string `def:"info" desc:"log level: debug|info|warn|error" mapstructure:"log-level"`

	ServerAddress       string `def:"http://pyroscope:4040" desc:"address of the pyroscope instance" mapstructure:"server-address"`
	ServerAddress2      string `` /* 128-byte string literal not displayed */
	RandSeed            int    `def:"23061912" mapstructure:"rand-seed"`
	RealTime            bool   `def:"false" desc:"uploads profiles on 10 second intervals"  mapstructure:"real-time"`
	NoExitWhenDone      bool   `` /* 140-byte string literal not displayed */
	TimeMultiplier      int    `` /* 133-byte string literal not displayed */
	ProfileWidth        int    `def:"20" mapstructure:"profile-width"`
	ProfileDepth        int    `def:"20" mapstructure:"profile-depth"`
	ProfileSymbolLength int    `def:"30" mapstructure:"profile-symbol-length"`

	Apps     int `def:"20" desc:"how many pyroscope apps to emulate" mapstructure:"apps"`
	Clients  int `def:"20" desc:"how many pyroscope clients to emulate" mapstructure:"clients"`
	Fixtures int `def:"30" desc:"how many different profiles to generate per app" mapstructure:"fixtures"`
	Requests int `def:"10000" desc:"how many requests each clients should make" mapstructure:"requests"`

	Duration  time.Duration `` /* 149-byte string literal not displayed */
	TimeLimit time.Duration `def:"1m" desc:"sets the maximum time for the loadgenerator to run. if not set, runs indefinitely" mapstructure:"time-limit"`
	TagKeys   int           `def:"2" desc:"how many unique tag keys each app should have" mapstructure:"tag-keys"`
	TagValues int           `def:"2" desc:"how many unique tag values each app should have" mapstructure:"tag-values"`

	PushgatewayAddress string `` /* 129-byte string literal not displayed */
	WaitUntilAvailable bool   `def:"true" desc:"wait until endpoint is available"`
}

func (LoadGen) InitializeLogging

func (cfg LoadGen) InitializeLogging() LoggerFunc

type LoggerConfiger

type LoggerConfiger interface{ InitializeLogging() LoggerFunc }

type LoggerFunc

type LoggerFunc func(s string)

type MetaReport

type MetaReport struct {
	LogLevel string   `def:"info" desc:"log level: debug|info|warn|error" mapstructure:"log-level"`
	Params   []string `def:"" desc:"the parameters in format A=B. value must be in the allowlist"`
	Title    string   `def:"Server Benchmark" desc:"title for the markdown report"`
}

type PromQuery

type PromQuery struct {
	PrometheusAddress string `def:"http://prometheus:9090" desc:"address of the prometheus instance being queried" mapstructure:"server-address"`
}

type Report

type Report struct {
	TableReport
	ImageReport
	MetaReport
}

type TableReport

type TableReport struct {
	PrometheusAddress string `def:"http://prometheus:9090" desc:"address of the prometheus instance being queried" mapstructure:"server-address"`
	QueriesFile       string `def:"/queries.yml" desc:"filepath of the queries file"`
	LogLevel          string `def:"info" desc:"log level: debug|info|warn|error" mapstructure:"log-level"`
}

Jump to

Keyboard shortcuts

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