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 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"`
}
Click to show internal directories.
Click to hide internal directories.