config

package
v0.0.0-...-7c225b6 Latest Latest
Warning

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

Go to latest
Published: Nov 7, 2025 License: MIT Imports: 5 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CompositionConfig

type CompositionConfig struct {
	Name   string     `json:"Name"`
	InData [][]string `json:"InData"`
}

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

type WorkflowFunction

type WorkflowFunction struct {
	FunctionName string `json:"FunctionName"`
	FunctionPath string `json:"FunctionPath"`
	NumArgs      int    `json:"NumArgs"`
	NumRets      int    `json:"NumRets"`
}

Jump to

Keyboard shortcuts

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