config

package
v0.0.0-...-eaa1d2d Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2025 License: MIT Imports: 4 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Configuration

type Configuration struct {
	LoaderConfiguration  *LoaderConfiguration
	FailureConfiguration *FailureConfiguration

	IATDistribution  common.IatDistribution
	ShiftIAT         bool // shift the invocations inside minute
	TraceGranularity common.TraceGranularity
	// TraceDuration In minutes.
	TraceDuration int

	YAMLPath string
	TestMode bool

	Functions []*common.Function
}

func (*Configuration) WithWarmup

func (c *Configuration) WithWarmup() bool

type FailureConfiguration

type FailureConfiguration struct {
	FailureEnabled bool `json:"FailureEnabled"`

	FailAt        int    `json:"FailAt"`
	FailComponent string `json:"FailComponent"`
	FailNode      string `json:"FailNode"`
}

func ReadFailureConfiguration

func ReadFailureConfiguration(path string) *FailureConfiguration

type LoaderConfiguration

type LoaderConfiguration struct {
	Seed int64 `json:"Seed"`

	Platform       string `json:"Platform"`
	InvokeProtocol string `json:"InvokeProtocol"`
	YAMLSelector   string `json:"YAMLSelector"`
	EndpointPort   int    `json:"EndpointPort"`

	DirigentControlPlaneIP   string `json:"DirigentControlPlaneIP"`
	BusyLoopOnSandboxStartup bool   `json:"BusyLoopOnSandboxStartup"`

	AsyncMode             bool   `json:"AsyncMode"`
	AsyncResponseURL      string `json:"AsyncResponseURL"`
	AsyncWaitToCollectMin int    `json:"AsyncWaitToCollectMin"`

	RpsTarget                   float64 `json:"RpsTarget"`
	RpsColdStartRatioPercentage float64 `json:"RpsColdStartRatioPercentage"`
	RpsCooldownSeconds          int     `json:"RpsCooldownSeconds"`
	RpsImage                    string  `json:"RpsImage"`
	RpsRuntimeMs                int     `json:"RpsRuntimeMs"`
	RpsMemoryMB                 int     `json:"RpsMemoryMB"`
	RpsIterationMultiplier      int     `json:"RpsIterationMultiplier"`

	TracePath          string `json:"TracePath"`
	Granularity        string `json:"Granularity"`
	OutputPathPrefix   string `json:"OutputPathPrefix"`
	IATDistribution    string `json:"IATDistribution"`
	CPULimit           string `json:"CPULimit"`
	ExperimentDuration int    `json:"ExperimentDuration"`
	WarmupDuration     int    `json:"WarmupDuration"`
	PrepullMode        string `json:"PrepullMode"`

	IsPartiallyPanic            bool   `json:"IsPartiallyPanic"`
	EnableZipkinTracing         bool   `json:"EnableZipkinTracing"`
	EnableMetricsScrapping      bool   `json:"EnableMetricsScrapping"`
	MetricScrapingPeriodSeconds int    `json:"MetricScrapingPeriodSeconds"`
	AutoscalingMetric           string `json:"AutoscalingMetric"`

	GRPCConnectionTimeoutSeconds int  `json:"GRPCConnectionTimeoutSeconds"`
	GRPCFunctionTimeoutSeconds   int  `json:"GRPCFunctionTimeoutSeconds"`
	DAGMode                      bool `json:"DAGMode"`
	EnableDAGDataset             bool `json:"EnableDAGDataset"`
	Width                        int  `json:"Width"`
	Depth                        int  `json:"Depth"`
	VSwarm                       bool `json:"VSwarm"`
}

func ReadConfigurationFile

func ReadConfigurationFile(path string) LoaderConfiguration

Jump to

Keyboard shortcuts

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