Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CompositionConfig ¶
type Configuration ¶
type Configuration struct {
LoaderConfiguration *LoaderConfiguration
FailureConfiguration *FailureConfiguration
DirigentConfiguration *DirigentConfig
IATDistribution common.IatDistribution
ShiftIAT bool // shift the invocations inside minute
TraceGranularity common.TraceGranularity
// TraceDuration In minutes.
TraceDuration int
TestMode bool
Functions []*common.Function
}
func (*Configuration) WithWarmup ¶
func (c *Configuration) WithWarmup() bool
type DirigentConfig ¶
type DirigentConfig struct {
Backend string `json:"Backend"`
DirigentControlPlaneIP string `json:"DirigentControlPlaneIP"`
BusyLoopOnSandboxStartup bool `json:"BusyLoopOnSandboxStartup"`
PrepullMode string `json:"PrepullMode"`
AsyncMode bool `json:"AsyncMode"`
AsyncResponseURL string `json:"AsyncResponseURL"`
AsyncWaitToCollectMin int `json:"AsyncWaitToCollectMin"`
RpsImage string `json:"RpsImage"`
RpsRequestedGpu int `json:"RpsRequestedGpu"`
RpsDataSizeMB float64 `json:"RpsDataSizeMB"`
RpsFile string `json:"RpsFile"`
Workflow bool `json:"Workflow"`
WorkflowConfigPath string `json:"WorkflowConfigPath"`
}
func ReadDirigentConfig ¶
func ReadDirigentConfig(cfg *LoaderConfiguration) *DirigentConfig
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"`
RpsTarget float64 `json:"RpsTarget"`
RpsColdStartRatioPercentage float64 `json:"RpsColdStartRatioPercentage"`
RpsCooldownSeconds int `json:"RpsCooldownSeconds"`
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"`
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"`
// used only if platform is dirigent
DirigentConfigPath string `json:"DirigentConfigPath"`
}
func ReadConfigurationFile ¶
func ReadConfigurationFile(path string) LoaderConfiguration
type WorkflowConfig ¶
type WorkflowConfig struct {
Name string `json:"Name"`
Functions []WorkflowFunction `json:"Functions"`
Compositions []CompositionConfig `json:"Compositions"`
}
func ReadWorkflowConfig ¶
func ReadWorkflowConfig(path string) WorkflowConfig
Click to show internal directories.
Click to hide internal directories.